@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Zilla+Slab:400,700");
/* MAIN COLOR */
/* SECONDARY COLOR */
/* DARK GRAY, REASON WHY IT'S SET TO #333 IS SO YOU CAN DARKEN IT IF NEEDED USING darken($blk, 10%); FOR EXAMPLE. YOU COULD ALSO USE 2 VARIABLES INSTEAD */
/* USE THIS TO SET THE BORDER RADIUS FOR BUTTONS */
html, body {
  height: 100%;
}

html {
  font-size: 15px;
}

@media screen and (min-width: 320px) {
  html {
    font-size: calc(15px + 7 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  html {
    font-size: 22px;
  }
}

p {
  font-size: 1rem;
  font-family: 'Zilla Slab', serif;
  font-weight: 400;
}

h1, h2, h3 {
  font-family: 'Zilla Slab', serif;
  font-weight: 700;
}

h1 {
  margin: 1rem 0;
  font-size: 2.0736rem;
}

h1 {
  font-size: 25.92px;
}

@media screen and (min-width: 320px) {
  h1 {
    font-size: calc(25.92px + 24.705 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  h1 {
    font-size: 50.625px;
  }
}

h2 {
  font-size: 1.728rem;
  margin: 1rem 0;
}

h2 {
  font-size: 25.92px;
}

@media screen and (min-width: 320px) {
  h2 {
    font-size: calc(25.92px + 24.705 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  h2 {
    font-size: 50.625px;
  }
}

h3 {
  font-size: 1.44rem;
}

h3 {
  font-size: 21.6px;
}

@media screen and (min-width: 320px) {
  h3 {
    font-size: calc(21.6px + 12.15 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  h3 {
    font-size: 33.75px;
  }
}

body {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.flash {
  display: none;
}

q,
blockquote {
  quotes: "“" "”";
}

.navbar-default {
  background: white;
}

.navbarFixed {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 999;
}

/* Change autocomplete styles in WebKit */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus input:-webkit-autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: 1px solid #0065dd;
  -webkit-text-fill-color: #0065dd;
  -webkit-box-shadow: 0 0 0px 1000px #000 inset;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

nav.navbar {
  z-index: 1000;
  border: none;
  border-radius: 0px;
}

nav.navbar .navbar-nav > li > a {
  text-align: center;
  margin-top: 13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #333;
}

@media (max-width: 767px) {
  nav.navbar .navbar-nav > li > a {
    margin-top: 0;
    padding: 6px 0px;
    display: inline-block;
  }
}

nav.navbar .navbar-nav > li > a:focus, nav.navbar .navbar-nav > li > a:active {
  background: transparent;
  color: #333;
  outline: 0;
}

nav.navbar .navbar-nav > li > a:hover {
  background: #b92025;
  color: #fafafa;
}

@media (max-width: 1280px) {
  nav.navbar .navbar-nav > li > a:hover {
    background: transparent;
    color: #333;
    outline: 0;
  }
}

.navbar-right {
  margin-top: 0px;
}

.navbar-toggle {
  margin-top: 8px;
}

/** LOGIN FORM **/
.btn-default {
  border: none;
  border-radius: 0px;
  background: #b92025;
  color: #fafafa;
  padding: 0.5em 2em;
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  margin: 2em 0em;
  -webkit-transition: 0.7s ease all;
  transition: 0.7s ease all;
}

.btn-default:hover {
  background: #db3136;
  color: white;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .btn-default:hover {
    background: #676767;
    color: #fafafa;
    box-shadow: 0px 0px 5px #333;
  }
}

.modal-dialog {
  max-width: 500px;
  width: 100%;
  text-align: center;
  margin: 6em auto;
}

.modal-dialog .close {
  display: none;
}

.modal-dialog .modal-content {
  color: #b92025;
}

.modal-dialog .modal-content h2 {
  text-align: center;
  font-size: 25px;
}

.modal-dialog a.btn, .modal-dialog a.btn-default, .modal-dialog button {
  border: none;
  border-radius: 0px;
  background: #b92025;
  color: #fafafa;
  padding: 0.5em 2em;
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  margin: 2em 0em;
  -webkit-transition: 0.7s ease all;
  transition: 0.7s ease all;
  margin: 0;
  display: block;
}

.modal-dialog a.btn:hover, .modal-dialog a.btn-default:hover, .modal-dialog button:hover {
  background: #db3136;
  color: white;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .modal-dialog a.btn:hover, .modal-dialog a.btn-default:hover, .modal-dialog button:hover {
    background: #676767;
    color: #fafafa;
    box-shadow: 0px 0px 5px #333;
  }
}

.modal-header, .modal-footer {
  background: #b92025;
  color: #fafafa;
}

.modal-open {
  overflow: auto;
  padding-right: 0px !important;
}

/** END LOGIN FORM **/
footer {
  padding: 50px 0px 20px;
  background: #676767;
  color: #fafafa;
  font-size: 15px;
}

footer a {
  color: #fafafa;
  white-space: nowrap;
  font-size: 15px;
}

@media (max-width: 990px) {
  footer a {
    font-size: 13px;
  }
}

footer a:hover {
  color: white;
  outline: 0 !important;
  text-decoration: none;
}

footer a:focus {
  color: #fafafa;
  outline: 0 !important;
  text-decoration: none;
}

footer p {
  font-size: 15px;
}

@media (max-width: 990px) {
  footer p {
    font-size: 13px;
  }
}

input#username,
input#password {
  width: 100%;
}

@media (max-width: 1024px) {
  input#username,
  input#password {
    font-size: 16px;
  }
}

select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}

a,
a:hover,
a:focus,
a:active {
  outline: 0 !important;
}

.logo {
  max-width: 250px;
  padding: 0.5em;
}

@media (max-width: 767px) {
  .logo {
    max-width: 150px;
  }
  .navbar-header a {
    float: left;
  }
}

.top-pad {
  padding: 3em;
  background: white;
}

@media (max-width: 990px) {
  .top-pad {
    padding: 1em;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 1024px) {
  .flex {
    display: block;
    /* may need to be inline-block */
  }
}

.terms p,
.privacy p {
  font-size: 1rem;
}

.terms ol li,
.privacy ol li {
  font-size: 1rem;
}

.terms ol ol li,
.privacy ol ol li {
  font-size: 0.85rem;
}

.banner {
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/banner.jpg) no-repeat;
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/banner.jpg) no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: 50% 0%;
  padding: 14rem 0;
}

@media (max-width: 1024px) {
  .banner {
    background-attachment: scroll;
  }
}

@media (max-width: 991px) {
  .banner {
    padding: 8rem 0;
  }
}

.banner h1, .banner h2 {
  color: white;
}

.banner h1 {
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 1rem;
}

.banner h1 {
  font-size: 20px;
}

@media screen and (min-width: 320px) {
  .banner h1 {
    font-size: calc(20px + 30 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .banner h1 {
    font-size: 50px;
  }
}

.banner h2 {
  font-weight: 400;
  padding: 0 1rem;
}

.banner h2 {
  font-size: 20px;
}

@media screen and (min-width: 320px) {
  .banner h2 {
    font-size: calc(20px + 20 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .banner h2 {
    font-size: 40px;
  }
}

.iconContain .iconBox {
  background: #b92025;
  display: inline-block;
  padding: 1rem;
  border-radius: 50%;
}

.iconContain .iconBox span[class*="ti"] {
  font-size: 2rem;
  color: white;
}

.iconContain h1 {
  font-size: 1rem;
  color: #b92025;
}

.margTopBtm {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.midSection {
  padding: 0;
  margin: 0;
}

.midSection h1 {
  color: #fafafa;
}

.midSection h2 {
  color: #fafafa;
}

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

@media screen and (min-width: 320px) {
  .midSection h2 {
    font-size: calc(17px + 13 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .midSection h2 {
    font-size: 30px;
  }
}

.midSection .bg {
  background: url(../img/analysis.jpg) no-repeat;
  background-size: cover;
  padding: 12rem 0;
}

@media (max-width: 991px) {
  .midSection .bg {
    padding: 9rem 0;
    background-position: 50% 60%;
  }
}

.midSection .tble {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 0;
  padding: 0;
}

@media (max-width: 767px) {
  .midSection .tble {
    display: block;
  }
}

.midSection .tble-cell {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

@media (max-width: 767px) {
  .midSection .tble-cell {
    display: block;
  }
}

.midSection .txtBox {
  padding-left: 3rem;
  padding-right: 3rem;
  margin: 0;
  background: #b92025;
}

@media (max-width: 767px) {
  .midSection .txtBox {
    padding: 3rem 15px;
  }
}

.services h1 {
  color: #b92025;
  font-size: 1.5rem;
}

@media (max-width: 600px) {
  .services [class*="col-xs-4"].imgBox {
    width: 100%;
  }
}

@media (max-width: 600px) and (max-width: 600px) {
  .services [class*="col-xs-4"].imgBox img {
    max-width: 300px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
}

.solidBg {
  background: #676767;
  padding: 3rem 15px;
}

.solidBg h2 {
  color: #fafafa;
}

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

@media screen and (min-width: 320px) {
  .solidBg h2 {
    font-size: calc(17px + 13 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .solidBg h2 {
    font-size: 30px;
  }
}

.contact {
  background: #b92025;
  color: #fafafa;
}

.contact a {
  color: #fafafa;
}

.contact a:focus, .contact a:hover {
  color: #fafafa;
  text-decoration: none;
}

.contact h1, .contact h2 {
  font-size: 17px;
}

@media screen and (min-width: 320px) {
  .contact h1, .contact h2 {
    font-size: calc(17px + 17 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .contact h1, .contact h2 {
    font-size: 34px;
  }
}

.padTopBtm {
  padding: 3rem 15px;
}

br.visible-600 {
  display: none;
}

@media (max-width: 600px) {
  br.visible-600 {
    display: block;
  }
}

@media (max-width: 600px) {
  .hidden-small {
    display: none;
  }
}

.show-600 {
  display: none;
}

@media (max-width: 600px) {
  .show-600 {
    display: block;
  }
}

.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
  background: transparent;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1vZHVsZXMvcmVzcG9uc2l2ZS10eXBlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1aaWxsYStTbGFiOjQwMCw3MDAnKTtcclxuQGltcG9ydCBcIm1vZHVsZXMvcmVzcG9uc2l2ZS10eXBlLnNjc3NcIjtcclxuXHJcbiRwcmltYXJ5OiAjYjkyMDI1Oy8qIE1BSU4gQ09MT1IgKi9cclxuJHNlY29uZGFyeTogZGFya2VuKCM4MDgxODEsIDEwJSk7IC8qIFNFQ09OREFSWSBDT0xPUiAqL1xyXG4kYmxrOiAjMzMzOyAvKiBEQVJLIEdSQVksIFJFQVNPTiBXSFkgSVQnUyBTRVQgVE8gIzMzMyBJUyBTTyBZT1UgQ0FOIERBUktFTiBJVCBJRiBORUVERUQgVVNJTkcgZGFya2VuKCRibGssIDEwJSk7IEZPUiBFWEFNUExFLiBZT1UgQ09VTEQgQUxTTyBVU0UgMiBWQVJJQUJMRVMgSU5TVEVBRCAqL1xyXG4kd2h0OiAjZmFmYWZhO1xyXG4kYm9yZGVyLXJhZGl1czogMHB4OyAvKiBVU0UgVEhJUyBUTyBTRVQgVEhFIEJPUkRFUiBSQURJVVMgRk9SIEJVVFRPTlMgKi9cclxuJGZvb3RlckxpbmtzOiAjZmFmYWZhO1xyXG5cclxuLy8gU2V0IHlvdXIgbWF4aW11bSBhbmQgbWluaW11bSBzY3JlZW4gc2l6ZXMuXHJcbiRtaW5fd2lkdGg6IDMyMHB4O1xyXG4kbWF4X3dpZHRoOiAxOTIwcHg7XHJcblxyXG4vLyBGb250IHNpemVzIHdpbGwgcmFuZ2UgYmV0d2VlbiB0aGUgJG1pbl9mb250IGFuZCAkbWF4X2ZvbnQuXHJcbiRtaW5fZm9udDogMTVweDtcclxuJG1heF9mb250OiAyMnB4O1xyXG5cclxuLy8gQ2hhbmdlIHRoZXNlIHZhbHVlcyB0byBjaGFuZ2UgdGhlIFwic2NhbGVcIiBiZXR3ZWVuIGRpZmZlcmVudCBoZWFkZXJzXHJcbi8vIChoMSxoMixoMywgZXRjLikuIExhcmdlciBudW1iZXJzID0gbGFyZ2VyIGZvbnQtc2l6ZXMuIFxyXG5cclxuJG1vZF8xOiAxLjI7IC8vIG1vYmlsZVxyXG4kbW9kXzI6IDEuNTsgLy8gZGVza3RvcFxyXG5cclxuaHRtbCwgYm9keSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8vIGJvZHkge1xyXG4vLyAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4vLyB9XHJcblxyXG5odG1sIHtcclxuICBAaW5jbHVkZSBmbHVpZC10eXBlKCRtaW5fd2lkdGgsICRtYXhfd2lkdGgsICRtaW5fZm9udCwgJG1heF9mb250KTtcclxufVxyXG5cclxucCB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LWZhbWlseTogJ1ppbGxhIFNsYWInLCBzZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbmgxLGgyLGgzIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnWmlsbGEgU2xhYicsIHNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuaDEgeyBcclxuICBtYXJnaW46IDFyZW0gMDsgXHJcbiAgZm9udC1zaXplOiAkbW9kXzEqJG1vZF8xKiRtb2RfMSokbW9kXzEgKjFyZW07IFxyXG4gIEBpbmNsdWRlIGZsdWlkLXR5cGUoJG1pbl93aWR0aCwgJG1heF93aWR0aCwgJG1vZF8xKiRtb2RfMSokbW9kXzEgKiRtaW5fZm9udCwgJG1vZF8yKiRtb2RfMiokbW9kXzIgKiRtaW5fZm9udCk7XHJcbn1cclxuaDIgeyAgXHJcbiAgZm9udC1zaXplOiAkbW9kXzEqJG1vZF8xKiRtb2RfMSAqMXJlbTtcclxuICBtYXJnaW46IDFyZW0gMDsgIFxyXG4gIEBpbmNsdWRlIGZsdWlkLXR5cGUoJG1pbl93aWR0aCwgJG1heF93aWR0aCwgJG1vZF8xKiRtb2RfMSokbW9kXzEgKiRtaW5fZm9udCwgJG1vZF8yKiRtb2RfMiokbW9kXzIgKiRtaW5fZm9udCk7XHJcbn1cclxuaDMgeyBcclxuICBmb250LXNpemU6ICRtb2RfMSokbW9kXzEgKjFyZW07XHJcbiAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAkbW9kXzEqJG1vZF8xICokbWluX2ZvbnQsICRtb2RfMiokbW9kXzIgKiRtaW5fZm9udCk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG59XHJcblxyXG4uZmxhc2gge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxucSxcclxuYmxvY2txdW90ZSB7XHJcbiAgICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjtcclxufSBcclxuXHJcbi5uYXZiYXItZGVmYXVsdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxufVxyXG5cclxuLm5hdmJhckZpeGVkIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG59XHJcblxyXG4vKiBDaGFuZ2UgYXV0b2NvbXBsZXRlIHN0eWxlcyBpbiBXZWJLaXQgKi9cclxuXHJcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXHJcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXHJcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxyXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCwgXHJcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxyXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2NWRkO1xyXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMwMDY1ZGQ7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICMwMDAgaW5zZXQ7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xyXG59XHJcblxyXG5uYXYubmF2YmFyIHtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgPmxpPmEge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxrO1xyXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGs7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdodDtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsaztcclxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2YmFyLXJpZ2h0IHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGUge1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG59XHJcblxyXG5cclxuLyoqIExPR0lOIEZPUk0gKiovXHJcblxyXG5AbWl4aW4gYnRuIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICBjb2xvcjogJHdodDtcclxuICAgIHBhZGRpbmc6IDAuNWVtIDJlbTtcclxuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMmVtIDBlbTtcclxuICAgIHRyYW5zaXRpb246IDAuN3MgZWFzZSBhbGw7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRwcmltYXJ5LCAxMCUpO1xyXG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCR3aHQsIDEwJSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aHQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICRibGs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLWRlZmF1bHQge1xyXG4gICAgQGluY2x1ZGUgYnRuO1xyXG59XHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiA2ZW0gYXV0bztcclxuXHJcbiAgICAuY2xvc2Uge2Rpc3BsYXk6IG5vbmU7fVxyXG5cclxuICAgIC5tb2RhbC1jb250ZW50IHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYS5idG4sIGEuYnRuLWRlZmF1bHQsIGJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kYWwtaGVhZGVyLCAubW9kYWwtZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgY29sb3I6ICR3aHQ7XHJcbn1cclxuXHJcbi5tb2RhbC1vcGVuIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4vKiogRU5EIExPR0lOIEZPUk0gKiovXHJcblxyXG5mb290ZXIge1xyXG4gICAgcGFkZGluZzogNTBweCAwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJGZvb3RlckxpbmtzO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRmb290ZXJMaW5rcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkwcHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvb3RlckxpbmtzLCAxMCUpO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2h0O1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmlucHV0I3VzZXJuYW1lLFxyXG5pbnB1dCNwYXNzd29yZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB0ZXh0LWluZGVudDogMC4wMXB4O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogJyc7XHJcbn1cclxuXHJcbmEsXHJcbmE6aG92ZXIsXHJcbmE6Zm9jdXMsXHJcbmE6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxvZ28ge1xyXG4gICAgbWF4LXdpZHRoOiAyNTBweDtcclxuICAgIHBhZGRpbmc6IDAuNWVtO1xyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmxvZ28ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLWhlYWRlciBhIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLnRvcC1wYWQge1xyXG4gICAgcGFkZGluZzogM2VtO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgfSAgICBcclxufVxyXG5cclxuLmZsZXgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLyogbWF5IG5lZWQgdG8gYmUgaW5saW5lLWJsb2NrICovIFxyXG4gICAgfVxyXG59XHJcblxyXG4udGVybXMsXHJcbi5wcml2YWN5IHtcclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJiBvbCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgb2wgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmFubmVyIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICByZ2JhKDAsMCwwLDAuMyksXHJcbiAgICAgICAgcmdiYSgwLDAsMCwwLjMpXHJcbiAgICAgICAgKSx1cmwoLi4vaW1nL2Jhbm5lci5qcGcpIG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlO1xyXG4gICAgcGFkZGluZzogMTRyZW0gMDtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDhyZW0gMDtcclxuICAgIH1cclxuICAgIGgxLCBoMiB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgfVxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAyMHB4LCA1MHB4KTtcclxuXHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAyMHB4LCA0MHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmljb25Db250YWluIHtcclxuICAgIC5pY29uQm94IHtcclxuICAgICAgIHNwYW5bY2xhc3MqPVwidGlcIl0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgIH1cclxuICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgXHJcbiAgICB9XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxufVxyXG5cclxuLm1hcmdUb3BCdG0ge1xyXG4gICAgbWFyZ2luLXRvcDogNXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbn1cclxuXHJcbi5taWRTZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgY29sb3I6ICR3aHQ7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAxN3B4LCAzMHB4KTtcclxuICAgICAgICBjb2xvcjogJHdodDtcclxuICAgIH1cclxuICAgIC5iZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9hbmFseXNpcy5qcGcpIG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEycmVtIDA7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDlyZW0gMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDYwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGJsZSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRibGUtY2VsbCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudHh0Qm94IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZXJ2aWNlcyB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG4gICAgW2NsYXNzKj1cImNvbC14cy00XCJdLmltZ0JveCB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc29saWRCZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgcGFkZGluZzogM3JlbSAxNXB4O1xyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAkd2h0O1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAxN3B4LCAzMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3Qge1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICBjb2xvcjogJHdodDtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkd2h0O1xyXG4gICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdodDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgxLGgyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoJG1pbl93aWR0aCwgJG1heF93aWR0aCwgMTdweCwgMzRweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWRUb3BCdG0ge1xyXG4gICAgcGFkZGluZzogM3JlbSAxNXB4O1xyXG59XHJcblxyXG5ici52aXNpYmxlLTYwMCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oaWRkZW4tc21hbGwge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctNjAwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn0iLCJAZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuXG5AbWl4aW4gZmx1aWQtdHlwZSgkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLWZvbnQtc2l6ZSwgJG1heC1mb250LXNpemUpIHtcbiAgJHUxOiB1bml0KCRtaW4tdncpO1xuICAkdTI6IHVuaXQoJG1heC12dyk7XG4gICR1MzogdW5pdCgkbWluLWZvbnQtc2l6ZSk7XG4gICR1NDogdW5pdCgkbWF4LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTQge1xuICAgICYge1xuICAgICAgZm9udC1zaXplOiAkbWluLWZvbnQtc2l6ZTtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKCN7JG1pbi1mb250LXNpemV9ICsgI3tzdHJpcC11bml0KCRtYXgtZm9udC1zaXplIC0gJG1pbi1mb250LXNpemUpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1heC1mb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sQ0FBQyxpRUFBSTtBQUdNLGdCQUFnQjtBQUNBLHFCQUFxQjtBQUMzQywySkFBMko7QUFFbEosbURBQW1EO0FBaUJ4RSxBQUFBLElBQUksRUFBRSxBQUFBLElBQUksQ0FBQztFQUNQLE1BQU0sRUFBRSxJQUFLO0NBQ2hCOztBQU1ELEFBQUEsSUFBSSxDQ3JCRTtFQUNBLFNBQVMsRURHSixJQUFJO0NDSVY7O0FBTkMsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFRG1CbEMsQUFBQSxJQUFJLENDckJFO0lBR0UsU0FBUyxFQUFFLHlDQUFJO0dBS2xCOzs7QUFIQyxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VEZ0JuQyxBQUFBLElBQUksQ0NyQkU7SUFNRSxTQUFTLEVERE4sSUFBSTtHQ0dWOzs7QURpQkwsQUFBQSxDQUFDLENBQUM7RUFDRSxTQUFTLEVBQUUsSUFBSztFQUNoQixXQUFXLEVBQUUsbUJBQW9CO0VBQ2pDLFdBQVcsRUFBRSxHQUFJO0NBQ3BCOztBQUVELEFBQUEsRUFBRSxFQUFDLEFBQUEsRUFBRSxFQUFDLEFBQUEsRUFBRSxDQUFDO0VBQ0wsV0FBVyxFQUFFLG1CQUFvQjtFQUNqQyxXQUFXLEVBQUUsR0FBSTtDQUNwQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxNQUFPO0VBQ2YsU0FBUyxFQUFFLFNBQU07Q0FFbEI7O0FBSkQsQUFBQSxFQUFFLENDcENJO0VBQ0Es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 */
