@charset "UTF-8";
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Fonts */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Neue Haas Unica Pro // Regular */
@font-face {
  font-family: "Haas";
  src: url("../fonts/neue-haas-unica-pro.woff2") format("woff2"), url("../fonts/neue-haas-unica-pro.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Haas";
  src: url("../fonts/neue-haas-unica-pro-italic.woff2") format("woff2"), url("../fonts/neue-haas-unica-pro-italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
}
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Global Resets */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

*, *::before, *::after {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

button, textarea, input, select, a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Roots */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
  --font-haas: "Haas", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --vh: 1vh;
  --cs: 300px;
  --p-lh: calc(var(--blu) * 2);
  --p-fs: calc(var(--p-lh) * 0.89);
  --white: #FFFFFF;
  --shell: #EEEEEE;
  --grey: #B2B2B2;
  --black: #000000;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Global */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
  padding: var(--blu);
  background-color: var(--white);
  cursor: pointer;
  transition: background-color 1s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--blu) * 0.6);
}

a, a:link, a:visited {
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Typografie */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
*, *::before, *::after {
  font-family: var(--font-haas);
  font-size: var(--p-fs);
  font-weight: 400;
  line-height: var(--p-lh);
  -webkit-hyphens: auto;
          hyphens: auto;
  color: var(--white);
}

.no-hyphen, .no-hyphen * {
  -webkit-hyphens: none;
          hyphens: none;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Scroll Container */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Signature */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.signature-container {
  height: calc(var(--vh) * 50 - var(--blu) * 3 + var(--p-lh) * 5);
  top: calc(0px - var(--blu) * 0.4);
  position: relative;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Imprint */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.imprint-container {
  margin-top: calc(var(--vh) * 50 - var(--p-lh) * 3 + var(--blu));
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Image Counter */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.counter-container {
  position: fixed;
  top: calc(var(--blu) * 0.6);
  right: var(--blu);
}
.counter-container .counter-tota {
  margin-left: calc(var(--blu) * 0.1);
}
.counter-container .counter-curr {
  margin-right: calc(var(--blu) * 0.3);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Collection */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.collection-container {
  position: fixed;
  top: 50%;
  left: 50%;
  width: var(--cs);
  height: calc(var(--cs) * 1.333);
  transform: translate(-50%, -50%);
  pointer-events: none;
  visibility: hidden;
}
.collection-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.collection-container img:not([status=active]) {
  display: none;
}

.collection .collection-container {
  visibility: visible;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Loader */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-animation: rotation 2s linear infinite;
          animation: rotation 2s linear infinite;
}

.loader::before {
  content: "SRL";
  display: block;
  font-size: var(--p-fs);
}

.loading {
  cursor: default;
  background: var(--grey);
}
.loading .loader {
  display: inline-block;
}
.loading .list-container {
  pointer-events: none;
}

@-webkit-keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.loading-complete .gallery img {
  opacity: 1;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Lists */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.list-container {
  margin-top: calc(var(--vh) * 50 - var(--p-lh) * 6);
}
.list-container .header {
  text-align: left;
  cursor: pointer;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-top: calc(var(--p-lh) * 1 - var(--blu));
  padding-top: var(--blu);
  padding-bottom: calc(var(--p-lh) * 0.5);
}
.list-container table {
  text-align: left;
  border-spacing: 0;
  z-index: 100;
}
.list-container table td {
  vertical-align: top;
}
.list-container table .year-from {
  width: calc(var(--blu) * 4.5);
}
.list-container table .year-dash {
  width: calc(var(--blu) * 2.2);
}
.list-container table .year-to {
  width: calc(var(--blu) * 3);
}
.list-container table .text {
  display: block;
  padding-bottom: calc(var(--blu) * 2);
}
.list-container .list table * {
  -webkit-hyphens: none;
          hyphens: none;
}
.list-container .list table tr {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.list-container .list.projects table tr {
  cursor: pointer;
}
.list-container .list.projects table tr .year-to {
  width: 0;
}
.list-container .list.projects table tr .year-dash {
  width: calc(var(--blu) * 5.2);
  visibility: hidden;
}
.list-container .list.projects table tr .year-dash::before {
  content: "";
  display: block;
  position: relative;
  margin-top: 0.6rem;
  width: calc(100% - var(--blu));
  height: 0.09rem;
  background: var(--white);
}
.list-container .list.projects table tr[status=blocked] {
  cursor: default;
}
.list-container .list.projects table tr:hover:not([status=blocked]) .year-dash,
.list-container .list.projects table tr[status=active] .year-dash {
  visibility: visible;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Gallery */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.gallery {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -100;
  cursor: pointer;
}
.gallery .image-container {
  width: 100%;
  height: 100%;
}
.gallery .image-container[type=plan] {
  background: var(--grey);
}
.gallery .image-container[type=plan] img {
  mix-blend-mode: multiply;
}
.gallery .image-container:not([status=active]) {
  display: none;
}
.gallery .image-container[status=active] + .image-container {
  display: unset;
}
.gallery .image-container[status=active] + .image-container img {
  top: 110%;
  left: 110%;
}
.gallery img {
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.2s ease-in-out;
}
.gallery img[aspect=landscape],
.gallery img[aspect=portrait] {
  width: 100%;
  height: 100%;
}

body:not(.loading) .gallery tr:not([status=active]) .gallery {
  display: none;
}

.list.projects tr[status=active] .gallery {
  visibility: unset;
}
.list.projects tr:not([status=active]) .gallery {
  display: unset;
}
.list.projects tr:not([status=active]) .image-container:first-child {
  display: unset;
}
.list.projects tr:not([status=active]) .image-container:first-child img {
  top: 110%;
  left: 110%;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 1 / Mobile / XS / */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
  --media: (XS) Mobile;
  --blu: 10px;
}

.list.projects a {
  pointer-events: none;
}

@media all and (min-width: 35em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 2 / Tablet / S / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: (S) Tablet;
  }
  .list-container table .text {
    display: table-cell;
    padding-bottom: 0;
  }
}
@media all and (min-width: 55em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 3 / Laptop and Tablet / M / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: (M) Tablet – Laptop;
    --blu: calc(var(--tw) * 1);
  }
  .gallery img[aspect=landscape] {
    width: 100%;
    height: 100%;
  }
  .gallery img[aspect=portrait] {
    width: 50%;
    height: 100%;
  }
  .portrait .counter-container,
.portrait .counter-container * {
    color: var(--black);
  }
  .collection-container {
    width: 30.9023485785vw;
    height: 41.1928306551vw;
  }
  .list-container .list.projects a {
    pointer-events: unset;
  }
}
@media all and (min-width: 75em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 4 / Laptop / L / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: (L) Laptop – Desktop;
  }
}
@media all and (min-width: 120em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 5 / Desktop / XL / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: (XL) Desktop;
  }
}
.touchevents {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 0 / Touchscreen / T / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
}
.touchevents :root {
  --media: (T) Touchscreen;
}

.no-touchevents {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* Global */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* Lists */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
}

/*# sourceMappingURL=data:application/json;base64,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cUJBQXFCO0VBQ3JCLG1FQUFtRTtFQUNuRTtJQUNFLDZCQUE2QjtFQUMvQjtBQUNGO0FBQ0E7RUFDRSxtRUFBbUU7RUFDbkUsdUJBQXVCO0VBQ3ZCLG1FQUFtRTtFQUNuRTtJQUNFLHFCQUFxQjtFQUN2QjtBQUNGO0FBQ0E7RUFDRSxtRUFBbUU7RUFDbkUsMEJBQTBCO0VBQzFCLG1FQUFtRTtBQUNyRTtBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsbUVBQW1FO0VBQ25FLFdBQVc7RUFDWCxtRUFBbUU7RUFDbkUsbUVBQW1FO0VBQ25FLFVBQVU7RUFDVixtRUFBbUU7QUFDckUiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIEZvbnRzICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogTmV1ZSBIYWFzIFVuaWNhIFBybyAvLyBSZWd1bGFyICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSGFhc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy11bmljYS1wcm8ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy11bmljYS1wcm8ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSGFhc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy11bmljYS1wcm8taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9uZXVlLWhhYXMtdW5pY2EtcHJvLWl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogR2xvYmFsIFJlc2V0cyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbiwgdGV4dGFyZWEsIGlucHV0LCBzZWxlY3QsIGEge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogUm9vdHMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuOnJvb3Qge1xuICAtLWZvbnQtaGFhczogXCJIYWFzXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS12aDogMXZoO1xuICAtLWNzOiAzMDBweDtcbiAgLS1wLWxoOiBjYWxjKHZhcigtLWJsdSkgKiAyKTtcbiAgLS1wLWZzOiBjYWxjKHZhcigtLXAtbGgpICogMC44OSk7XG4gIC0td2hpdGU6ICNGRkZGRkY7XG4gIC0tc2hlbGw6ICNFRUVFRUU7XG4gIC0tZ3JleTogI0IyQjJCMjtcbiAgLS1ibGFjazogIzAwMDAwMDtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBHbG9iYWwgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzIGVhc2UtaW4tb3V0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogY2FsYyh2YXIoLS1ibHUpICogMC42KTtcbn1cblxuYSwgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogVHlwb2dyYWZpZSAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGFhcyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tcC1mcyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wLWxoKTtcbiAgaHlwaGVuczogYXV0bztcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cblxuLm5vLWh5cGhlbiwgLm5vLWh5cGhlbiAqIHtcbiAgaHlwaGVuczogbm9uZTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBTY3JvbGwgQ29udGFpbmVyICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogU2lnbmF0dXJlICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5zaWduYXR1cmUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoKSAqIDUwIC0gdmFyKC0tYmx1KSAqIDMgKyB2YXIoLS1wLWxoKSAqIDUpO1xuICB0b3A6IGNhbGMoMHB4IC0gdmFyKC0tYmx1KSAqIDAuNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBJbXByaW50ICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5pbXByaW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tdmgpICogNTAgLSB2YXIoLS1wLWxoKSAqIDMgKyB2YXIoLS1ibHUpKTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBJbWFnZSBDb3VudGVyICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5jb3VudGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBjYWxjKHZhcigtLWJsdSkgKiAwLjYpO1xuICByaWdodDogdmFyKC0tYmx1KTtcbn1cbi5jb3VudGVyLWNvbnRhaW5lciAuY291bnRlci10b3RhIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYmx1KSAqIDAuMSk7XG59XG4uY291bnRlci1jb250YWluZXIgLmNvdW50ZXItY3VyciB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1ibHUpICogMC4zKTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBDb2xsZWN0aW9uICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5jb2xsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IHZhcigtLWNzKTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWNzKSAqIDEuMzMzKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uY29sbGVjdGlvbi1jb250YWluZXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmNvbGxlY3Rpb24tY29udGFpbmVyIGltZzpub3QoW3N0YXR1cz1hY3RpdmVdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xsZWN0aW9uIC5jb2xsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogTG9hZGVyICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBhbmltYXRpb246IHJvdGF0aW9uIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLmxvYWRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJTUkxcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tcC1mcyk7XG59XG5cbi5sb2FkaW5nIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmV5KTtcbn1cbi5sb2FkaW5nIC5sb2FkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubG9hZGluZyAubGlzdC1jb250YWluZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4ubG9hZGluZy1jb21wbGV0ZSAuZ2FsbGVyeSBpbWcge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIExpc3RzICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tdmgpICogNTAgLSB2YXIoLS1wLWxoKSAqIDYpO1xufVxuLmxpc3QtY29udGFpbmVyIC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1wLWxoKSAqIDEgLSB2YXIoLS1ibHUpKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWJsdSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXAtbGgpICogMC41KTtcbn1cbi5saXN0LWNvbnRhaW5lciB0YWJsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICB6LWluZGV4OiAxMDA7XG59XG4ubGlzdC1jb250YWluZXIgdGFibGUgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmxpc3QtY29udGFpbmVyIHRhYmxlIC55ZWFyLWZyb20ge1xuICB3aWR0aDogY2FsYyh2YXIoLS1ibHUpICogNC41KTtcbn1cbi5saXN0LWNvbnRhaW5lciB0YWJsZSAueWVhci1kYXNoIHtcbiAgd2lkdGg6IGNhbGModmFyKC0tYmx1KSAqIDIuMik7XG59XG4ubGlzdC1jb250YWluZXIgdGFibGUgLnllYXItdG8ge1xuICB3aWR0aDogY2FsYyh2YXIoLS1ibHUpICogMyk7XG59XG4ubGlzdC1jb250YWluZXIgdGFibGUgLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmx1KSAqIDIpO1xufVxuLmxpc3QtY29udGFpbmVyIC5saXN0IHRhYmxlICoge1xuICBoeXBoZW5zOiBub25lO1xufVxuLmxpc3QtY29udGFpbmVyIC5saXN0IHRhYmxlIHRyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5saXN0LWNvbnRhaW5lciAubGlzdC5wcm9qZWN0cyB0YWJsZSB0ciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5saXN0LWNvbnRhaW5lciAubGlzdC5wcm9qZWN0cyB0YWJsZSB0ciAueWVhci10byB7XG4gIHdpZHRoOiAwO1xufVxuLmxpc3QtY29udGFpbmVyIC5saXN0LnByb2plY3RzIHRhYmxlIHRyIC55ZWFyLWRhc2gge1xuICB3aWR0aDogY2FsYyh2YXIoLS1ibHUpICogNS4yKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmxpc3QtY29udGFpbmVyIC5saXN0LnByb2plY3RzIHRhYmxlIHRyIC55ZWFyLWRhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuNnJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWJsdSkpO1xuICBoZWlnaHQ6IDAuMDlyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbn1cbi5saXN0LWNvbnRhaW5lciAubGlzdC5wcm9qZWN0cyB0YWJsZSB0cltzdGF0dXM9YmxvY2tlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubGlzdC1jb250YWluZXIgLmxpc3QucHJvamVjdHMgdGFibGUgdHI6aG92ZXI6bm90KFtzdGF0dXM9YmxvY2tlZF0pIC55ZWFyLWRhc2gsXG4ubGlzdC1jb250YWluZXIgLmxpc3QucHJvamVjdHMgdGFibGUgdHJbc3RhdHVzPWFjdGl2ZV0gLnllYXItZGFzaCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogR2FsbGVyeSAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4uZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIHotaW5kZXg6IC0xMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5nYWxsZXJ5IC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmdhbGxlcnkgLmltYWdlLWNvbnRhaW5lclt0eXBlPXBsYW5dIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JleSk7XG59XG4uZ2FsbGVyeSAuaW1hZ2UtY29udGFpbmVyW3R5cGU9cGxhbl0gaW1nIHtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuLmdhbGxlcnkgLmltYWdlLWNvbnRhaW5lcjpub3QoW3N0YXR1cz1hY3RpdmVdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZ2FsbGVyeSAuaW1hZ2UtY29udGFpbmVyW3N0YXR1cz1hY3RpdmVdICsgLmltYWdlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IHVuc2V0O1xufVxuLmdhbGxlcnkgLmltYWdlLWNvbnRhaW5lcltzdGF0dXM9YWN0aXZlXSArIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgdG9wOiAxMTAlO1xuICBsZWZ0OiAxMTAlO1xufVxuLmdhbGxlcnkgaW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uZ2FsbGVyeSBpbWdbYXNwZWN0PWxhbmRzY2FwZV0sXG4uZ2FsbGVyeSBpbWdbYXNwZWN0PXBvcnRyYWl0XSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHk6bm90KC5sb2FkaW5nKSAuZ2FsbGVyeSB0cjpub3QoW3N0YXR1cz1hY3RpdmVdKSAuZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5saXN0LnByb2plY3RzIHRyW3N0YXR1cz1hY3RpdmVdIC5nYWxsZXJ5IHtcbiAgdmlzaWJpbGl0eTogdW5zZXQ7XG59XG4ubGlzdC5wcm9qZWN0cyB0cjpub3QoW3N0YXR1cz1hY3RpdmVdKSAuZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IHVuc2V0O1xufVxuLmxpc3QucHJvamVjdHMgdHI6bm90KFtzdGF0dXM9YWN0aXZlXSkgLmltYWdlLWNvbnRhaW5lcjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IHVuc2V0O1xufVxuLmxpc3QucHJvamVjdHMgdHI6bm90KFtzdGF0dXM9YWN0aXZlXSkgLmltYWdlLWNvbnRhaW5lcjpmaXJzdC1jaGlsZCBpbWcge1xuICB0b3A6IDExMCU7XG4gIGxlZnQ6IDExMCU7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogMSAvIE1vYmlsZSAvIFhTIC8gKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuOnJvb3Qge1xuICAtLW1lZGlhOiAoWFMpIE1vYmlsZTtcbiAgLS1ibHU6IDEwcHg7XG59XG5cbi5saXN0LnByb2plY3RzIGEge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzVlbSkge1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgLyogMiAvIFRhYmxldCAvIFMgLyAqL1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgOnJvb3Qge1xuICAgIC0tbWVkaWE6IChTKSBUYWJsZXQ7XG4gIH1cbiAgLmxpc3QtY29udGFpbmVyIHRhYmxlIC50ZXh0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA1NWVtKSB7XG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICAvKiAzIC8gTGFwdG9wIGFuZCBUYWJsZXQgLyBNIC8gKi9cbiAgLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4gIDpyb290IHtcbiAgICAtLW1lZGlhOiAoTSkgVGFibGV0IOKAkyBMYXB0b3A7XG4gICAgLS1ibHU6IGNhbGModmFyKC0tdHcpICogMSk7XG4gIH1cbiAgLmdhbGxlcnkgaW1nW2FzcGVjdD1sYW5kc2NhcGVdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmdhbGxlcnkgaW1nW2FzcGVjdD1wb3J0cmFpdF0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5wb3J0cmFpdCAuY291bnRlci1jb250YWluZXIsXG4ucG9ydHJhaXQgLmNvdW50ZXItY29udGFpbmVyICoge1xuICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIH1cbiAgLmNvbGxlY3Rpb24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMzAuOTAyMzQ4NTc4NXZ3O1xuICAgIGhlaWdodDogNDEuMTkyODMwNjU1MXZ3O1xuICB9XG4gIC5saXN0LWNvbnRhaW5lciAubGlzdC5wcm9qZWN0cyBhIHtcbiAgICBwb2ludGVyLWV2ZW50czogdW5zZXQ7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4gIC8qIDQgLyBMYXB0b3AgLyBMIC8gKi9cbiAgLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4gIDpyb290IHtcbiAgICAtLW1lZGlhOiAoTCkgTGFwdG9wIOKAkyBEZXNrdG9wO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgLyogNSAvIERlc2t0b3AgLyBYTCAvICovXG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICA6cm9vdCB7XG4gICAgLS1tZWRpYTogKFhMKSBEZXNrdG9wO1xuICB9XG59XG4udG91Y2hldmVudHMge1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgLyogMCAvIFRvdWNoc2NyZWVuIC8gVCAvICovXG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xufVxuLnRvdWNoZXZlbnRzIDpyb290IHtcbiAgLS1tZWRpYTogKFQpIFRvdWNoc2NyZWVuO1xufVxuXG4ubm8tdG91Y2hldmVudHMge1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgLyogR2xvYmFsICovXG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgLyogTGlzdHMgKi9cbiAgLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG59XG4iXX0= */