/*
Theme Name: The LOWE Group
Theme URI: https://helloseed.co.uk
Description: The LOWE Group core theme. This was originally based on HTML5 Reset, then built on by a London agency before it got to us at Seed.
Author: Seed
Author URI: https://helloseed.co.uk
Version: 1.0
*/
/* 
-------------------------------------------------------------------------------*/
/* A Linux- and Windows-friendly sans-serif font stack: http://prospects.mhurrell.co.uk/post/updating-the-helvetica-font-stack */

:root {
  --blue: #212b4d;
  --light-blue: #01376c;
  --teal: #1c7575;
  --light-teal: #d3e2db;
  --beige: #f2f0ed;
  --light-beige: #faf8f8;
}

body {
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  padding-right: 0 !important;
}

/* Using local fonts? Check out Font Squirrel's webfont generator: http://www.fontsquirrel.com/tools/webfont-generator */
/* We like off-black for text. */
body,
select,
input,
textarea {
  color: var(--blue);
  font-family: "Poppins", sans-serif;
}

/* Mozilla dosen't style place holders by default */
input:-moz-placeholder {
  color: #a9a9a9;
}

textarea:-moz-placeholder {
  color: #a9a9a9;
}

@keyframes fd {
  to {
    opacity: 1;
    transform: translateX(0) translateY(0) scale(1) rotate(0deg);
  }
}

@keyframes fdOpacity {
  0% {
  }
  100% {
    opacity: 1;
  }
}

@keyframes moveUp {
  0% {
  }
  100% {
    transform: translateY(0%);
  }
}

.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) !important;
}

.mamaBear {
  display: none;
  width: 0;
}
@media screen and (min-width: 950px) {
  .mamaBear {
    display: block;
    width: 100%;
  }
}

/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html,
body,
body div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
  display: block;
}

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
   If this default setting for images is causing issues, you might want to replace it with a .responsive class instead. */
img,
object,
embed {
  max-width: 100%;
}

/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
	don't forget to restore the bullets within content. */
ul {
  list-style: none;
}

.content-wrapper ul {
  font-size: 0.9405rem;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */
}

input[type="radio"] {
  vertical-align: text-bottom;
}

input[type="checkbox"] {
  vertical-align: bottom;
}

.ie7 input[type="checkbox"] {
  vertical-align: baseline;
}

.ie6 input {
  vertical-align: text-bottom;
}

select,
input,
textarea {
  font: 75% sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

small {
  font-size: 85%;
}

strong {
  font-weight: bold;
}

td,
td img {
  vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* standardize any monospaced elements */
pre,
code,
kbd,
samp {
  font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */
.clickable,
label,
input[type="button"],
input[type="submit"],
input[type="file"],
button {
  cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button,
input,
select,
textarea {
  margin: 0;
}

/* make buttons play nice in IE */
button,
input[type="button"] {
  width: auto;
  overflow: visible;
}

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before,
.clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.6em !important;
  -webkit-font-smoothing: antialiased;
}

#wpadminbar,
#wpadminbar * {
  line-height: 32px !important;
}

ins {
  background-color: var(--blue);
  color: #000;
  text-decoration: none;
}

mark {
  background-color: var(--blue);
  color: #000;
  font-style: italic;
  font-weight: bold;
}

::-moz-selection {
  background: var(--blue);
  color: #fff;
  text-shadow: none;
}

::selection {
  background: var(--blue);
  color: #fff;
  text-shadow: none;
}

body {
  background-color: white;
}

p,
ol,
ul {
  margin-bottom: 3vh;
}
@media screen and (min-width: 750px) {
  p,
  ol,
  ul {
    margin-bottom: 2vh;
  }
}
@media screen and (min-width: 1400px) {
  p,
  ol,
  ul {
    margin-bottom: 4vh;
  }
}

a {
  text-decoration: none;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  color: var(--blue);
  position: relative;
}
a:hover,
a:active,
a:focus {
  color: var(--blue);
}

a:hover {
  text-decoration: none;
  cursor: pointer;
}

#header {
  position: relative;
}

img {
  user-select: none;
  user-drag: none;
}

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

.buttonNoStyle {
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  border: none;
  background: none;
  outline: 0;
  font-weight: 400;
  font-size: 1em;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  background: none;
  border: 0;
  color: inherit;
  /* cursor: default; */
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  -webkit-appearance: button;
  /* for input */
  -webkit-user-select: none;
  /* for button */
  -moz-user-select: none;
  -ms-user-select: none;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
}

.element-invisible,
.screen-reader-text {
  position: absolute !important;
  margin-left: -10000px !important;
  overflow-x: hidden;
}

.cf:before,
.cf:after {
  content: "";
  /* 1 */
  display: table;
  /* 2 */
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

*:focus {
  outline: 0;
}

.element-invisible,
.screen-reader-text {
  position: absolute !important;
  margin-left: -10000px !important;
  overflow-x: hidden;
}

.disable-hover,
.disable-hover * {
  pointer-events: none !important;
}

.noScroll {
  overflow-x: hidden;
  overflow-y: auto;
}

.atBottom,
.atTop {
  position: relative;
  display: block;
  width: 100%;
}

.content-wrapper {
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 0.75em;
}
@media screen and (min-width: 600px) {
  .content-wrapper {
    font-size: 0.8em;
  }
}
@media screen and (min-width: 750px) {
  .content-wrapper {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 1023px) {
  .content-wrapper {
    font-size: 1em;
  }
}

@media screen and (min-width: 750px) {
  .content-wrapper--mt {
    padding-top: calc(1em + 6vh);
  }
}

.page-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--blue);
  transition: transform 0.7s cubic-bezier(0.8, 0, 0.08, 1) 0.2s;
  transform: translate3d(0, 102%, 0);
  z-index: 1000;
}

.woocommerce .page-transition {
  background: #fafafa;
}

.project-is-loading {
  animation: load-project 0.7s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.2s;
}

.next-project-loading {
  animation: next-project 0.7s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.1s;
}

.prev-project-loading {
  animation: prev-project 0.7s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.1s;
}

.content--exit {
  transform: translate3d(0%, -5vh, 0);
  opacity: 0;
}

@keyframes load-project {
  from {
    transform: translate3d(0, 102%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes next-project {
  from {
    transform: translate3d(102%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes prev-project {
  from {
    transform: translate3d(102%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.close-button {
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  transform: rotate(45deg);
}
.close-button .top,
.close-button .bottom {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
}
.close-button .bottom {
  transform: translate3d(-50%, -50%, 0);
  height: 100%;
  width: 2px;
  transform-origin: top;
}
.close-button .top {
  transform: translate3d(-50%, -50%, 0);
  box-shadow: 6px 2px 1px 1px var(--blue);
  width: 100%;
  height: 2px;
  transform-origin: left;
}
@media screen and (min-width: 750px) {
  .close-button {
    width: 24px;
    height: 24px;
  }
}
.close-button:hover .bottom,
.close-button:active .bottom,
.close-button:focus .bottom {
  animation: closeBefore 0.4s cubic-bezier(0.8, 0, 0.08, 1) forwards;
}
.close-button:hover .top,
.close-button:active .top,
.close-button:focus .top {
  animation: closeAfter 0.5s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.1s;
}

.fof {
  color: var(--blue);
  letter-spacing: 0.1em;
  font-size: 1.4em;
  display: block;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation: fd 0.5s cubic-bezier(0.23, 0.01, 0, 1) 0.2s forwards;
}

.clip {
  overflow: hidden;
}
.clip span {
  display: block;
  animation: fd 0.8s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.6s;
  line-height: 1em !important;
}

.clip--below span {
  transform: translate3d(0, 101%, 0);
}

.clip--above span {
  transform: translate3d(0, -101%, 0);
}

.pad-section {
  padding: 5vh;
}
@media screen and (min-width: 750px) {
  .pad-section {
    padding: 8vw;
  }
}
@media screen and (min-width: 1400px) {
  .pad-section {
    padding: 7vw;
  }
}

.title {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  display: block;
}

.sub-title {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;

  display: block;
}
.sub-title h4 {
  font-weight: 400;
}

.copy {
  display: block;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1em !important;
  font-weight: 600;
}

.arrow {
  position: relative;
  width: 15px;
  padding: 10px;
  height: 15px;
  display: inline-block;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
}
.arrow .line {
  position: absolute;
  width: 15px;
  height: 3px;
  border-radius: 3px;
}
.arrow .line:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--blue);
  transform: scale3d(0, 1, 1);
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  border-radius: 3px;
}
.arrow .line--one {
  left: calc(50% - 1px);
  transform-origin: left;
}
.arrow .line--one:after {
  transform-origin: left;
}
.arrow .line--two {
  right: calc(50% - 1px);
  transform-origin: right;
}
.arrow .line--two:after {
  transform-origin: right;
}
.arrow:hover .line:after,
.arrow:active .line:after,
.arrow:focus .line:after {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

.arrow--down .line {
  bottom: 0;
}

.arrow--down .line--one {
  transform: rotate(-45deg);
}

.arrow--down .line--two {
  transform: rotate(45deg);
}

.arrow--down:hover,
.arrow--down:focus,
.arrow--down:active {
  transform: translate3d(0, 30%, 0);
}

.arrow--up .line {
  top: 0;
}

.arrow--up .line--one {
  transform: rotate(45deg);
}

.arrow--up .line--two {
  transform: rotate(-45deg);
}

.arrow--up:hover,
.arrow--up:focus,
.arrow--up:active {
  transform: translate3d(0, -30%, 0);
}

.arrow--light .line {
  background: white;
}

.arrow--light-dark .line:after {
  background: var(--blue);
}

.arrow--dark .line {
  background: var(--blue);
}

.arrow--dark .line:after {
  background: var(--blue);
}

.section-full {
  min-height: 100vh;
}

@media screen and (min-width: 750px) {
  .section-half {
    min-height: 50vh;
  }
}

.cta {
  padding: 1.8em;
  color: var(--blue);
  display: block;
  width: 100%;
  font-size: 0.8em;
  position: relative;
  line-height: 1em !important;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.8s;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-decoration: none !important;
}
@media screen and (min-width: 600px) {
  .cta {
    display: inline-block;
    min-width: unset;
    width: auto;
    box-sizing: border-box;
  }
}
.cta span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0px 0px 0px 3px #e9eaed;
}
.cta span:after,
.cta span:before {
  content: "";
  position: absolute;
  background: var(--blue);
  z-index: 1;
}
.cta span:before {
  height: 3px;
  width: 100%;
  transform: scale3d(0, 1, 1);
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
}
.cta span:after {
  width: 3px;
  height: 100%;
  transform: scale3d(1, 0, 1);
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1);
}
.cta span:nth-of-type(1):before {
  top: 0;
  left: 0;
  transform-origin: right;
}
.cta span:nth-of-type(1):after {
  bottom: 0;
  right: 0;
  transform-origin: bottom;
}
.cta span:nth-of-type(2):before {
  right: 0;
  bottom: 0;
  transform-origin: left;
}
.cta span:nth-of-type(2):after {
  top: 0;
  left: 0;
  transform-origin: top;
}

.cta:hover,
.cta:active,
.cta:focus,
.cta-cont:hover .cta {
  color: var(--blue);
}
.cta:hover span:after,
.cta:hover span:before,
.cta:active span:after,
.cta:active span:before,
.cta:focus span:after,
.cta:focus span:before,
.cta-cont:hover .cta span:after,
.cta-cont:hover .cta span:before {
  transform: scale3d(1, 1, 1);
}
.cta:hover span:before,
.cta:active span:before,
.cta:focus span:before,
.cta-cont:hover .cta span:before {
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1);
}
.cta:hover span:after,
.cta:active span:after,
.cta:focus span:after,
.cta-cont:hover .cta span:after {
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
}
.cta:hover span:nth-of-type(1):before,
.cta:active span:nth-of-type(1):before,
.cta:focus span:nth-of-type(1):before,
.cta-cont:hover .cta span:nth-of-type(1):before {
  transform-origin: left;
}
.cta:hover span:nth-of-type(1):after,
.cta:active span:nth-of-type(1):after,
.cta:focus span:nth-of-type(1):after,
.cta-cont:hover .cta span:nth-of-type(1):after {
  transform-origin: top;
}
.cta:hover span:nth-of-type(2):before,
.cta:active span:nth-of-type(2):before,
.cta:focus span:nth-of-type(2):before,
.cta-cont:hover .cta span:nth-of-type(2):before {
  transform-origin: right;
}
.cta:hover span:nth-of-type(2):after,
.cta:active span:nth-of-type(2):after,
.cta:focus span:nth-of-type(2):after,
.cta-cont:hover .cta span:nth-of-type(2):after {
  transform-origin: bottom;
}

button.cta {
  box-sizing: border-box;
}

@media screen and (min-width: 750px) {
  .text-left {
    text-align: left;
  }
}

.showreel {
  position: relative;
  width: 100%;
}
.showreel .swiper-slide {
  height: auto;
}
.showreel .swiper-slide .text-cont {
  position: relative;
  text-align: left;
  width: 90%;
  max-width: 800px;
  margin: 100px auto;
  padding: 40px;
  background: #eee;
}

@media screen and (min-width: 750px) {
  .clip-appear span {
    animation: none;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
  }
}

.clip-appear--below span {
  transform: translate3d(0, 101%, 0);
}

.clip-appear--above span {
  transform: translate3d(0, -101%, 0);
}

@media screen and (min-width: 750px) {
  .in .clip-appear span {
    transform: translate3d(0, 0, 0);
  }
}

.copy-appear {
  opacity: 0;
  animation: fd 1s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.6s;
  transform: translate3d(0, 1em, 0);
}
@media screen and (min-width: 750px) {
  .copy-appear {
    transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.6s;
    animation: none;
  }
}

@media screen and (min-width: 750px) {
  .in .copy-appear {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media screen and (min-width: 750px) {
  .image-appear {
    transform: scale3d(1.05, 1.05, 1);
    transition: 5s cubic-bezier(0.23, 0.01, 0, 1);
  }
}

@media screen and (min-width: 750px) {
  .in .image-appear {
    transform: scale3d(1, 1, 1);
  }
}

.cta {
  opacity: 1;
}

.in .cta {
  opacity: 1;
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  font-size: 0.8em;
  background: white;
  z-index: 100;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 950px) {
  .nav {
    transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (min-width: 950px) {
  .nav {
    background: transparent;
    bottom: auto;
  }
}

.nav a {
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.nav--scrolled .menu {
  transform: translate3d(0, -101%, 0);
}

.menu {
  position: absolute;
  top: 50%;
  display: block;
  transform: translate3d(0, -50%, 0);
  width: 100%;
}
.menu > li {
  list-style: none;
  display: block;
  text-align: center;
}
.menu > li ul {
  display: none;
}
@media screen and (min-width: 950px) {
  .menu {
    position: relative;
    width: 80%;
    max-width: 1000px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 0 auto;
    transform: translate3d(0, -104%, 0);
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    gap: 1em;
  }
  .menu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    background: rgba(255, 255, 255, 0.98);
    transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  }
  .menu > li {
    width: auto;
    display: inline-block;
    position: relative;
    vertical-align: top;
  }
  .menu > li .sub-menu {
    position: absolute;
    background-color: white;
    margin-top: -3px;
    min-width: calc(100% + 6em);
    z-index: -10;
    margin-left: -3em;
    padding: 1em 0em;
    text-align: left;
    font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
      "freesans", sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
    opacity: 0;
    transition: display 0s;
    transition: opacity 0.3s ease-in-out;
  }
  .menu > li:hover > .sub-menu {
    opacity: 1;
  }
  .menu > li .sub-menu a {
    color: black;
    font-size: 0.85em;
    display: block;
    margin-bottom: 0em;
    white-space: nowrap;
    padding: 0.4rem 3rem;
  }
  .menu > li .sub-menu a:last-of-type {
    margin-bottom: 0;
  }

  .menu > li .sub-menu .link {
    padding: 0.4rem 3rem;
    display: flex;
    align-items: center;
    justify-content: left;
  }
  .menu > li .sub-menu .link a {
    padding: 0;
    margin-right: 2em;
  }
  .menu > li .sub-menu .link .dropdown-trigger {
    margin-left: auto;
    margin-bottom: 0;
    cursor: pointer;
    font-size: 0.6rem;
    line-height: 1em !important;
    transition: 0.3s ease;
    opacity: 0.5;
  }
  .menu > li .sub-menu .link .dropdown-trigger svg {
    height: 16px;
  }
  .menu > li .sub-menu .link .dropdown-trigger.open {
    transform: rotate(45deg);
  }

  .menu > li .sub-menu .dropdown {
    background: #f3f3f3;
    padding: 0;
    margin: 0;
    height: 0;
    overflow: hidden;
  }

  .menu > li .sub-menu .dropdown.open {
    background: #f3f3f3;
    padding: 0.75em 0;
    margin: 0.5em 0;
    height: unset;
  }

  .menu > li ul {
    display: none;
    margin-top: 5px;
  }
  .menu > li ul a {
    color: #fff;
    opacity: 0.6;
    font-size: 0.6em;
  }
  .menu > li ul a:hover {
    opacity: 1;
  }
  .menu > li:hover ul {
    display: block;
  }
}

.nav--open {
  opacity: 0;
  visibility: hidden;
  top: 35px;
}

.menu--top {
  top: 3em;
}

@media screen and (min-width: 950px) {
  .nav--open {
    opacity: 1;
    visibility: visible;
  }
  .nav--open .menu {
    transform: translate3d(0, 0, 0);
  }
}

.nav-button {
  position: fixed;
  right: 0;
  top: 35px;
  margin: 6vw;
  width: 24px;
  height: 20px;
  z-index: 101;
  display: block;
}
.nav-button:before {
  content: "";
  position: absolute;
  top: -6vw;
  left: -1.5vw;
  right: -6vw;
  bottom: -1.5vw;
}
.nav-button span {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--blue);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    background 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  z-index: 10;
  display: block;
}
.nav-button span:nth-of-type(1) {
  transform: translate3d(0, -250%, 0);
}
.nav-button span:nth-of-type(2) {
  transform: scale3d(1, 1, 1) translate3d(0, -50%, 0);
  top: 50%;
  transform-origin: left;
  transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
}
.nav-button span:nth-of-type(3) {
  transform: translate3d(0, 150%, 0);
}
@media screen and (max-width: 950px) {
  .nav-button span:nth-of-type(1) {
    transform: translate3d(0, -50%, 0) rotate(-45deg);
    transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1),
      transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.2s;
  }
  .nav-button span:nth-of-type(2) {
    transform: translate3d(calc(100% + 6vw), -50%, 0) scale3d(0.5, 1, 1);
    transform-origin: right;
  }
  .nav-button span:nth-of-type(3) {
    transform: translate3d(0, -50%, 0) rotate(45deg);
    transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1),
      transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.2s;
  }
}
@media screen and (min-width: 950px) {
  .nav-button {
    top: 2.3em;
    margin: 2.3vh;
  }
  .nav-button:before {
    top: -3vh;
    left: -1.5vh;
    right: -3vh;
    bottom: -1.5vh;
  }
  .nav-button:hover span:nth-of-type(2),
  .nav-button:active span:nth-of-type(2),
  .nav-button:focus span:nth-of-type(2) {
    transform: scale3d(1, 1, 1) translate3d(-15%, -50%, 0);
  }
}

.nav-button--close.nav-button--white span {
  background: white;
}

.nav-button--close span:nth-of-type(1) {
  transform: translate3d(0, -250%, 0);
}

.nav-button--close span:nth-of-type(2) {
  transform: scale3d(1, 1, 1) translate3d(0, -50%, 0);
  top: 50%;
  transform-origin: left;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s,
    background 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.nav-button--close span:nth-of-type(3) {
  transform: translate3d(0, 150%, 0);
}

@media screen and (min-width: 950px) {
  .nav-button--close span:nth-of-type(1) {
    transform: translate3d(0, -50%, 0) rotate(-45deg);
    transition-delay: 0.2s;
  }
  .nav-button--close span:nth-of-type(2) {
    transform: translate3d(calc(100% + 6vw), -50%, 0) scale3d(0.5, 1, 1) !important;
    transform-origin: right;
  }
  .nav-button--close span:nth-of-type(3) {
    transform: translate3d(0, -50%, 0) rotate(45deg);
    transition-delay: 0.2s;
  }
}

.nav-button--white span {
  background: white;
}
@media screen and (max-width: 950px) {
  .nav-button--white span {
    background: var(--blue);
  }
}

@media screen and (min-width: 950px) {
  .nav--nobk .menu:before {
    background: transparent;
  }
  .nav--nobk .nav__logo-con__logo__border--bottom {
    stroke: white;
  }
  .nav--nobk .nav__logo-con__logo__letter {
    fill: white;
  }
  .nav--nobk .nav__nav-item {
    color: white;
  }
}

.section-header__nav-target {
  position: absolute;
  display: block;
  bottom: 6vh;
  right: 0;
  left: 0;
  height: 1px;
}

.nav__logo-con {
  position: fixed;
  top: calc(6vw + 2em);
  left: 6vw;
  z-index: 999;
}
@media screen and (min-width: 950px) {
  .nav__logo-con {
    position: fixed;
    transform: translate3d(0, -50%, 0);
    left: 3vh;
    top: 65px;
  }
}

.nav__logo-con .logo-con__logo {
  filter: invert(25%) sepia(25%) saturate(441%) hue-rotate(190deg)
    brightness(26%) contrast(97%);
}

.menu--top .nav__logo-con .logo-con__logo {
  filter: none !important;
}

@media (max-width: 950px) {
  .mobile-nav-open .nav__logo-con .logo-con__logo {
    filter: invert(25%) sepia(25%) saturate(441%) hue-rotate(190deg)
      brightness(26%) contrast(97%) !important;
  }
}

.nav__logo-con:hover .nav__logo-con__logo__border--top,
.nav__logo-con:active .nav__logo-con__logo__border--top,
.nav__logo-con:focus .nav__logo-con__logo__border--top {
  stroke-dashoffset: 0;
}
.nav__logo-con:hover .nav__logo-con__logo__letter,
.nav__logo-con:active .nav__logo-con__logo__letter,
.nav__logo-con:focus .nav__logo-con__logo__letter {
  fill: var(--blue);
}

.logo-con__logo {
  height: 30px;
  width: auto;
  vertical-align: bottom;
  filter: invert(25%) sepia(25%) saturate(441%) hue-rotate(190deg)
    brightness(26%) contrast(97%);
}

.nav--nobk .logo-con__logo {
  filter: none;
}

#logo-top {
  filter: none;
  width: 75px;
  height: unset;
}

.menu--top #logo {
  filter: none;
}

.nav {
  transition: 0.3s ease;
}

#logo {
  opacity: 1;
  transition: 0.3s ease-in-out;
}

.top-logo--section {
  top: 0;
}

.top-logo--section img {
  position: relative;
  z-index: 999;
}

#top-logo-bar {
  display: none;
}

@media (min-width: 950px) {
  .menu--top #nav {
    top: 95px;
  }
  .top--level.podcast {
    display: none;
  }

  .menu--top .nav__logo-con {
    opacity: 0;
  }

  .menu--top #top-logo-bar {
    display: block;
    top: -45px;
  }
}

@media screen and (min-width: 950px) {
  .menu--top .menu .top--level .title {
    padding-top: 1em;
    margin-top: 0.5em;
  }

  .menu--top .menu::before {
    background: transparent;
  }

  .menu--top .menu .top--level .title {
    color: white;
  }
}

@media screen and (max-width: 950px) {
  .menu--top {
    margin-top: 0;
  }

  .menu--top #logo {
    opacity: 1;
  }

  .top-logo--section .row {
    justify-content: left !important;
  }

  .top-logo--section a {
    margin-left: 1.5em;
  }

  .menu--top .nav--open #logo {
    opacity: 0;
  }

  #logo {
    filter: none;
    /* filter: invert/(25%) sepia(25%) saturate(441%) hue-rotate(90deg) brightness(36%) contrast(97%) */
  }

  .logo-con__logo {
    filter: none;
    /* filter: invert(25%) sepia(25%) saturate(441%) hue-rotate(90deg) brightness(36%) contrast(97%); */
  }
}

@media screen and (min-width: 950px) {
  .menu--top .menu {
    transform: translate3d(0, -200%, 0);
  }
  .menu--top.nav--open .menu {
    transform: translate3d(0, 0%, 0);
  }
}

.menu--green a {
  color: var(--blue) !important;
}

.menu--green #logo-top {
  filter: invert(25%) sepia(25%) saturate(441%) hue-rotate(190deg)
    brightness(26%) contrast(97%) !important;
}

.nav__logo-con__logo__back {
  transition: fill 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  fill: rgba(0, 55, 108, 0);
}

.nav__logo-con__logo__border {
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
  fill: none;
  stroke-miterlimit: 10;
  stroke-width: 15px;
}

.nav__logo-con__logo__border--bottom {
  stroke: var(--blue);
}

.home .nav__logo-con__logo__border--bottom {
  animation: draw 1.2s cubic-bezier(0.23, 0.01, 0, 1) forwards 1s;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}

.home .nav__logo-con__logo__letter {
  opacity: 0;
  animation: fdOpacity 0.6s forwards 1.4s;
}

.nav__logo-con__logo__border--top {
  stroke: var(--blue);
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

.nav__logo-con__logo__letter {
  fill: var(--blue);
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
}

.nav__nav-item {
  padding: 2.5vh 0 2.2vh;
  display: inline-block;
  position: relative;
  transition: color 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.nav__nav-item:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--blue);
  transform-origin: right;
  transform: scale3d(0, 1, 1);
  transition: transform 0.5s cubic-bezier(0.23, 0.01, 0, 1);
}
.nav__nav-item:hover:before,
.nav__nav-item:active:before,
.nav__nav-item:focus:before {
  transform: scale3d(1, 1, 1);
  transform-origin: left;
}

.page-about .nav__nav-item--about:before,
.page-guardians .nav__nav-item--guardians:before,
.page-landlords .nav__nav-item--landlords:before,
.page-journal .nav__nav-item--journal:before,
.blog .nav__nav-item--journal:before,
.page-contact .nav__nav-item--contact:before {
  transform: scale3d(1, 1, 1);
}

.page-contact .contact-space {
  display: flex;
  flex-direction: column;
}

.page-contact .contact-space .contact-half {
  text-align: left;
}

.page-contact .contact-space .contact-half:last-of-type {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--beige);
}

.page-contact h1 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  color: var(--blue);
  margin-bottom: 0.5em;
}

.page-contact .contact-space .contact-half p {
  margin-bottom: 0.5em;
}

.page-contact .contact-space .contact-half strong {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--blue);
  margin-bottom: 0em;
}

.map-con__con__copy-con {
  padding: 4rem 3rem !important;
  min-width: 80vw;
}

.map-con__con__copy-con {
  background: white !important;
}

.map-con {
  padding: 6rem 1.5rem;
  min-height: 100vh;
  height: unset !important;
}

.map-con .center {
  position: relative;
  top: unset;
  left: unset;
  transform: none !important;
}

@media screen and (min-width: 750px) {
  .map-con {
    padding: 0;
    min-height: 100vh;
    height: 100vh;
  }

  .map-con__con__copy-con {
    padding: 4vw;
    min-width: 50vw;
  }
  .map-con .center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) !important;
  }
}

@media (min-width: 950px) {
  .page-contact .contact-space {
    flex-direction: row;
  }

  .page-contact h1,
  .page-contact .contact-space .contact-half {
    padding: 0 2rem;
    flex: 1 1 0px;
    flex-basis: 0;
  }

  .page-contact .contact-space .contact-half:last-of-type {
    border-left: 1px solid var(--beige);
    border-top: 0px solid var(--beige);
    margin-top: 0rem;
    padding-top: 0rem;
  }
}

.pop-up-form {
  margin-left: auto;
  margin-right: auto;
  z-index: 999;
  position: fixed;
  display: none;
  visibility: hidden;
  text-align: center;
  width: 70%;
  max-width: 480px;
}

.gmnoprint,
.gm-fullscreen-control {
  display: none !important;
}

.pop-up-form__open {
  display: block;
  visibility: visible;
  position: fixed;
}

.pop-up-form__close-button {
  position: absolute !important;
  top: 1vw;
  right: 1vw;
  border: 3px solid #ced7e1 !important;
}

.pop-up-form__close-button:hover {
  background: #ced7e1 !important;
}

.pop-up-form__close-button:before {
  width: 50% !important;
  top: 65% !important;
  right: calc(50% + -7px) !important;
  -webkit-transform-origin: right !important;
  transform-origin: right !important;
  -webkit-transform: rotate(45deg) !important;
  transform: rotate(45deg) !important;
  background: #ced7e1 !important;
}

.pop-up-form__close-button:after {
  width: 50% !important;
  top: 65% !important;
  left: calc(50% - 7px) !important;
  -webkit-transform-origin: left !important;
  transform-origin: left !important;
  -webkit-transform: rotate(-45deg) !important;
  transform: rotate(-45deg) !important;
  background: #ced7e1 !important;
}

.pop-up-form__close-button:hover:before,
.pop-up-form__close-button:hover:after {
  background: #fff !important;
}

.pop-up-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  display: none;
  visibility: hidden;
  z-index: 100;
}

.pop-up-overlay__open {
  opacity: 0.3;
  display: block;
  visibility: visible;
}

.homepage_sections_wrapper {
  height: 100vh;
}

@media screen and (max-width: 750px) {
  .homepage_sections_wrapper {
    height: 100vh;
  }
}

.split-con {
  background: #1e1e1e;
  min-height: 50dvh;
  display: block;
  position: relative;
  float: left;
  right: 0;
  left: 0;
  overflow: hidden;
}
.split-con:nth-of-type(1) {
  top: 0;
}
@media screen and (min-width: 750px) {
  .split-con {
    top: 0;
    bottom: 0;
    right: auto;
    width: 50%;
    text-align: center;
    height: 100vh;
    left: 0;
  }
}
@media screen and (max-width: 750px) {
  .split-con {
    height: 50dvh;
    width: 100%;
  }
}

.split-con__image {
  position: absolute;
  top: 0;
  bottom: 0;
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
}
.split-con__image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #121729;
  opacity: 0.6;
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
}

.touch .split-con__image:after {
  opacity: 0.6;
}

.split-con:nth-of-type(1) .split-con__image {
  right: -3%;
  left: 0;
  transform: translate3d(-2.5%, 0, 0);
}

.split-con:nth-of-type(2) .split-con__image {
  left: -3%;
  right: 0;
  transform: translate3d(2.5%, 0, 0);
}

.split-con__copy-con {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  color: white;
  width: 100%;
  max-width: 600px;
}
.split-con__copy-con span {
  display: block;
}
@media screen and (min-width: 750px) {
  .split-con__copy-con {
    padding: 0;
  }
}

.split-con__copy-con__title {
  font-size: 1.5em;
  margin: 3vh;
  text-transform: uppercase;
}
.split-con__copy-con__title span {
  transform: translate3d(0, 100%, 0);
}

.split-con__copy-con__copy {
  display: none !important;
}
@media screen and (min-width: 750px) {
  .split-con__copy-con__copy {
    display: block !important;
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    transform: translate3d(0, 100%, 0);
    padding: 0 20%;
  }
  .split-con__copy-con__copy span {
    transform: translate3d(0, 2vh, 0);
    opacity: 0;
    transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
    animation: fd 1.2s cubic-bezier(0.23, 0.01, 0, 1) forwards 1.3s;
    p {
      color: white;
    }
  }
}

.split-con__copy-con__icon-con {
  display: none;
}
@media screen and (min-width: 750px) {
  .split-con__copy-con__icon-con {
    display: block;
    position: absolute;
    z-index: auto;
    top: 0;
    left: 0;
    width: 100%;
    transform: translate3d(0, -100%, 0);
  }
}

.split-con__copy-con__icon-con__icon {
  display: inline-block;
  margin: 0 auto;
  transform: translate3d(0, -2vh, 0);
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
  animation: fd 1.2s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.9s;
  opacity: 0;
}

.no-touchevents .split-con__copy-con__icon-con__icon,
.no-touchevents .split-con__copy-con__copy span {
  animation: none;
}

.split-con__copy-con__icon-con__icon__svg {
  height: 60px;
}
.split-con__copy-con__icon-con__icon__svg--lands {
  width: 66px;
}
.split-con__copy-con__icon-con__icon__svg--guards {
  width: 55px;
}
@media screen and (min-width: 750px) {
  .split-con__copy-con__icon-con__icon__svg {
    height: 80px;
  }
  .split-con__copy-con__icon-con__icon__svg--lands {
    width: 90px;
  }
  .split-con__copy-con__icon-con__icon__svg--guards {
    width: 73px;
  }
}
.split-con__copy-con__icon-con__icon__svg .path {
  fill: none;
  stroke: white;
  stroke-miterlimit: 10;
  stroke-width: 7px;
}
.split-con__copy-con__icon-con__icon__svg .path--thin {
  stroke-width: 4px;
}
.split-con__copy-con__icon-con__icon__svg .key {
  transition: transform 3s cubic-bezier(0.23, 0.01, 0, 1);
}
.split-con__copy-con__icon-con__icon__svg .house {
  transition: transform 0.8s cubic-bezier(0.23, 0.01, 0, 1);
}

.no-touch .split-con--guardians .house {
  transform: scale3d(0.8, 0.8, 1);
  transform-origin: center center;
}

.no-touch .split-con--landlords .key {
  transform: rotate(5deg) translate3d(0, -20%, 0);
  transform-origin: bottom right;
}

@media screen and (max-width: 750px) {
  .split-con__copy-con__icon-con {
    z-index: 1;
  }
  .split-con__copy-con__icon-con__icon__svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
  }
}

.split-con:hover .split-con__image {
  transform: translate3d(0, 0, 0);
}
.split-con:hover .split-con__image:after {
  opacity: 0.95;
}

.split-con:hover .split-con__copy-con__icon-con__icon,
.split-con:hover .split-con__copy-con__copy span {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.split-con:hover .split-con__copy-con__copy span {
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
}

.split-con:hover.split-con--guardians .house {
  transform: scale3d(1, 1, 1);
}

.split-con:hover.split-con--landlords .key {
  transform: rotate(0deg) translate3d(0, 10%, 0);
}

.page-template-p-key .sub-title,
.page-landlords .sub-title {
  margin: 20px auto 0px;
  color: #4a4a4a;
}

.blog-preview {
  display: inline-block;
  width: 50%;
  position: relative;
  padding: 100px 0;
  vertical-align: top;
}
.blog-preview .checker-con__image-con {
  position: relative;
  width: 80%;
  max-width: 600px;
  margin: 0 auto;
}
.blog-preview .checker-con__image-con:before {
  padding-top: 100%;
  content: "";
  display: block;
}
.blog-preview .title {
  max-width: 90%;
  margin: 20px auto 0px;
}

@media screen and (max-width: 700px) {
  .blog-preview {
    width: 100%;
    padding: 20px;
  }
}

.full-height {
  min-height: 100vh;
}

.vert-centre {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

.section-header {
  position: relative;
  color: var(--blue);
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .section-header {
    padding: calc(6vw + 1em);
  }
}

.section-header.section-full {
  color: white;
  font-size: 2.7em;
}
.section-header.section-full:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0.5;
  background-color: #121729;
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
  mix-blend-mode: hard-light;
}

.section-header__title {
  z-index: 1;
}
.section-header__title span {
  transform: translate3d(0, 101%, 0);
}

.section-header__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.section-header__image span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.section-header__crumbs {
  display: none;
  font-size: 0.7em;
  color: rgba(0, 55, 108, 0.2);
}
@media screen and (min-width: 750px) {
  .section-header__crumbs {
    display: block;
    top: calc(1em + 6vh);
    left: 10vw;
    position: absolute;
  }
}
@media screen and (min-width: 1400px) {
  .section-header__crumbs {
    left: 8vw;
  }
}

.section-header__crumbs--bottom {
  display: none;
}
@media screen and (min-width: 750px) {
  .section-header__crumbs--bottom {
    background: #f7f7f7;
    display: block;
    font-size: 0.9em;
  }
}

.section-header__scroll {
  position: absolute;
  bottom: 10vh;
  right: 0;
  left: 0;
  z-index: 1;
}

.section-intro {
  text-align: left;
  min-height: 60vh;
  background: #fafafa;
}

.section-intro__copy-con__title {
  color: var(--blue);
  margin-bottom: 5vh;
}

.section-intro__copy-con__copy {
  max-width: 600px;
  display: block;
  opacity: 0;
}
@media screen and (min-width: 750px) {
  .section-intro__copy-con__copy {
    animation: none;
    max-width: 750px;
  }
}

@media screen and (min-width: 750px) {
  .in .section-intro__copy-con__title {
    transform: translate3d(0, 0, 0);
  }
}

.in .section-intro__copy-con__copy {
  opacity: 1;
}

.lcg-slideshow,
.shed-reel {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 60vh;
}
.lcg-slideshow li img,
.shed-reel li img {
  position: absolute;
  height: 100%;
  width: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.shed-reel,
.section-video {
  width: 90%;
  margin: auto;
  padding: 7vh 0px;
  position: relative;
}

@media (min-width: 1023px) {
  .page-template-p-shed .post__con {
    width: 80%;
    margin: auto;
  }
}

@media (max-width: 415px) {
  .shed-reel,
  .section-video {
    width: 100%;
    margin: auto;
    padding: 7vh 0px;
  }
}

.checker-con {
  position: relative;
}
.checker-con .title,
.checker-con .copy,
.checker-con .sub-title {
  text-align: left;
}
.checker-con .cta {
  text-align: center;
}
@media screen and (min-width: 750px) {
  .checker-con.section-half .title,
  .checker-con.section-half .copy,
  .checker-con.section-half .sub-title {
    text-align: center;
  }
}

.checker-con:nth-of-type(odd) .checker-con__copy-con {
  float: right;
}

.checker-con:nth-of-type(odd) .checker-con__image-con {
  right: auto;
  left: 0;
}

.checker-con:nth-of-type(even) .checker-con__copy-con {
  float: left;
}

.checker-con:nth-of-type(even) .checker-con__image-con {
  left: auto;
  right: 0;
}

.checker-con__image-con {
  background: rgba(30, 30, 30, 0.1);
  height: 50vh;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 750px) {
  .checker-con__image-con {
    position: absolute;
    height: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 50%;
  }
}

.checker-con__image-con__image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media screen and (min-width: 750px) {
  .checker-con__image-con,
  .checker-con__copy-con {
    display: inline-block;
    width: 50%;
  }
}

.checker-con__copy-con__title {
  color: var(--blue);
}

.checker-con__copy-con__sub-title {
  font-size: 0.8em;
  margin-top: 2vh;
  animation-delay: 0.8s !important;
  transition-delay: 0.6s !important;
}

.checker-con__copy-con__copy {
  padding: 4vh 0;
}
.checker-con__copy-con__copy a:before,
.checker-con__copy-con__copy a:after {
  content: "";
  position: absolute;
  bottom: 0.1em;
  left: 0;
  right: 0;
  height: 1px;
}
.checker-con__copy-con__copy a:before {
  background: rgba(0, 55, 108, 0.2);
}
.checker-con__copy-con__copy a:after {
  background: var(--blue);
  transform: scale3d(0, 1, 1);
  transform-origin: right;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.checker-con__copy-con__copy a:hover:after,
.checker-con__copy-con__copy a:active:after,
.checker-con__copy-con__copy a:focus:after {
  transform: scale3d(1, 1, 1);
  transform-origin: left;
}
@media screen and (min-width: 750px) {
  .checker-con__copy-con__copy {
    padding: 4vh;
  }
}

@media screen and (min-width: 750px) {
  .section-full .checker-con__copy-con__copy {
    padding: 6vh 0 0;
  }
}

.section-full .checker-con__link {
  margin-top: 4vh;
}
@media screen and (min-width: 750px) {
  .section-full .checker-con__link {
    margin-top: 6vh;
  }
}

.to-top-con {
  background: var(--blue);
  position: relative;
  display: block;
}
.to-top-con .to-top-con__span {
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.to-top-con:hover .to-top-con__span,
.to-top-con:active .to-top-con__span,
.to-top-con:focus .to-top-con__span {
  color: white;
}
.to-top-con:hover .line:after,
.to-top-con:active .line:after,
.to-top-con:focus .line:after {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}
.to-top-con:hover .arrow--up,
.to-top-con:active .arrow--up,
.to-top-con:focus .arrow--up {
  transform: translate3d(0, -30%, 0);
}

.view-checker {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.section-full .view-checker {
  top: 50vh;
}

.section-half .view-checker {
  top: 25vh;
}

.ben-con {
  background: #f6f6f6;
  position: relative;
}
.ben-con .con {
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
  padding: 5vh;
}

.ben-con__title {
  font-size: 1.3em;
  margin-bottom: 10vh;
  color: var(--blue);
}

.ben-con__benefits {
  margin: 0 auto;
}

.coin-mask {
  position: relative;
  width: 60%;
  max-width: 150px;
  overflow: hidden;
  background-color: #fafafa;
  border-radius: 50%;
  margin: 3vh auto 3vh;
  box-shadow: -3px 5px 6px rgba(233, 233, 233, 0.3);
  transition: all 0.4s ease-in-out;
}
.coin-mask:before {
  content: "";
  display: block;
  padding-top: 100%;
  position: relative;
}
.coin-mask img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  width: 150%;
  height: auto;
  max-width: 1000px;
}

.cta-cont {
  cursor: pointer;
  margin: 2vw 0;
  display: inline-block;
}
.cta-cont:hover .coin-mask {
  background-color: #fff;
  box-shadow: -4px 6px 6px rgba(233, 233, 233, 0.8);
}
.cta-cont:hover .cta {
  background-color: #fff;
}
@media screen and (min-width: 750px) {
  .cta-cont {
    margin: 1% 1%;
    width: 47%;
  }
}
@media screen and (min-width: 1200px) {
  .cta-cont {
    margin: 1% 1%;
    width: 30%;
  }
}

.in.ben-con__title span {
  transform: translate3d(0, 0, 0);
}

.pad-section {
  position: relative;
}

.fb-highlight {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: auto;
  right: 20px;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
}
.fb-highlight .coin-mask {
  width: 55px;
  margin: 0 0 5px 0;
  background-color: #fff;
  border: none;
}

.ben-shrink .con {
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.ben-con__benefits__benefit-desc {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(246, 246, 246, 0.98);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  opacity: 0;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  z-index: 1;
}
.ben-con__benefits__benefit-desc .center {
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transform: translate3d(-50%, -50%, 0) scale3d(1.05, 1.05, 1) !important;
  width: 75%;
  max-width: 600px;
}

.ben-con__benefits__benefit-desc__title {
  margin-bottom: 3vh;
  color: var(--blue);
}

.benefit--selected {
  opacity: 1;
  visibility: visible;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
}
.benefit--selected .center {
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
  transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1) !important;
}

.section-close {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin-top: 5vh;
}

@media screen and (min-width: 750px) {
  .page-template-p-form .pop-up-con {
    margin: -4vw auto;
  }
}

@media screen and (min-width: 1200px) {
  .page-template-p-form .pop-up-con {
    margin: -5vw auto;
  }
}

body:not(.page-template-p-guardian-application) form {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 750px) {
  body:not(.page-template-p-guardian-application) form {
    max-width: 600px;
    color: #272727;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1200px) {
  body:not(.page-template-p-guardian-application) form {
    margin: 0 auto;
  }
}
body:not(.page-template-p-guardian-application) form label {
  text-align: left;
}
body:not(.page-template-p-guardian-application) form .cta {
  opacity: 1;
}
body:not(.page-template-p-guardian-application) form br,
body:not(.page-template-p-guardian-application) form .ajax-loader {
  display: none;
}
body:not(.page-template-p-guardian-application) form input,
body:not(.page-template-p-guardian-application) form textarea,
body:not(.page-template-p-guardian-application) form select {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  appearance: none;
  color: #272727;
  border: 3px solid rgba(0, 55, 108, 0.1);
  padding: 0.5em;
  line-height: 1em !important;
  display: block;
  width: 100%;
  border-radius: 0;
  background: white;
  transition: border 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
body:not(.page-template-p-guardian-application) form select {
  cursor: pointer;
}
body:not(.page-template-p-guardian-application) form textarea {
  resize: none;
}
body:not(.page-template-p-guardian-application) form p {
  margin-bottom: 1vw;
}
body:not(.page-template-p-guardian-application) form .title {
  font-size: 0.8em;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form-control-wrap .hidden {
  display: none;
}

.input-con {
  position: relative;
  margin-bottom: 2vw;
}

.input-con__input_span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0px 0px 0px 3px rgba(16, 71, 12, 0.1);
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.input-con__input_span:after,
.input-con__input_span:before {
  content: "";
  position: absolute;
  background: var(--blue);
  z-index: 1;
}
.input-con__input_span:before {
  height: 3px;
  width: 100%;
  transform: scale3d(0, 1, 1);
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
}
.input-con__input_span:after {
  width: 3px;
  height: 100%;
  transform: scale3d(1, 0, 1);
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1);
}
.input-con__input_span:nth-of-type(1):before {
  top: 0;
  left: 0;
  transform-origin: right;
}
.input-con__input_span:nth-of-type(1):after {
  bottom: 0;
  right: 0;
  transform-origin: bottom;
}
.input-con__input_span:nth-of-type(2):before {
  right: 0;
  bottom: 0;
  transform-origin: left;
}
.input-con__input_span:nth-of-type(2):after {
  top: 0;
  left: 0;
  transform-origin: top;
}

input:hover,
input:active,
input:focus,
textarea:hover,
textarea:active,
textarea:focus,
select:hover,
select:active,
select:focus {
  border-color: var(--blue);
}

.input-focus {
  color: var(--blue);
}
.input-focus .input-con__input_span:after,
.input-focus .input-con__input_span:before {
  transform: scale3d(1, 1, 1) !important;
}
.input-focus .input-con__input_span:before {
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1);
}
.input-focus .input-con__input_span:after {
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
}
.input-focus .input-con__input_span:nth-of-type(1):before {
  transform-origin: left;
}
.input-focus .input-con__input_span:nth-of-type(1):after {
  transform-origin: top;
}
.input-focus .input-con__input_span:nth-of-type(2):before {
  transform-origin: right;
}
.input-focus .input-con__input_span:nth-of-type(2):after {
  transform-origin: bottom;
}

.properties:after,
.properties:before {
  content: "";
  height: 3px;
  position: absolute;
  top: 50%;
  width: 8px;
  background: #d1d1d1;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.properties:before {
  right: 1.3em;
  transform: rotate(-45deg);
}

.properties:after {
  right: 1.3em;
  transform: translate3d(calc(-100% + 4.5px), 0, 0) rotate(45deg);
}

.invalid .properties:before,
.invalid .properties:after {
  right: 50px;
}

.input-con:hover .properties:after,
.input-con:hover .properties:before,
.input-con:active .properties:after,
.input-con:active .properties:before,
.input-con:focus .properties:after,
.input-con:focus .properties:before {
  background: var(--blue);
}

.input-con:hover .properties:before,
.input-con:active .properties:before,
.input-con:focus .properties:before {
  transform: rotate(-45deg) !important;
}

.input-con:hover .properties:after,
.input-con:active .properties:after,
.input-con:focus .properties:after {
  transform: translate3d(calc(-100% + 4.5px), 0, 0) rotate(45deg) !important;
}

.submit-con {
  display: block;
  text-align: center;
}

.form-submit {
  position: relative;
  display: inline-block;
}
.form-submit input {
  z-index: 1;
  box-sizing: border-box;
}
.form-submit .title {
  margin: 0;
}
.form-submit span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0px 0px 0px 3px rgba(16, 71, 12, 0.1);
}
.form-submit span:after,
.form-submit span:before {
  content: "";
  position: absolute;
  background: var(--blue);
  z-index: 1;
}
.form-submit span:before {
  height: 3px;
  width: 100%;
  transform: scale3d(0, 1, 1);
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
}
.form-submit span:after {
  width: 3px;
  height: 100%;
  transform: scale3d(1, 0, 1);
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1);
}
.form-submit span:nth-of-type(1):before {
  top: 0;
  left: 0;
  transform-origin: right;
}
.form-submit span:nth-of-type(1):after {
  bottom: 0;
  right: 0;
  transform-origin: bottom;
}
.form-submit span:nth-of-type(2):before {
  right: 0;
  bottom: 0;
  transform-origin: left;
}
.form-submit span:nth-of-type(2):after {
  top: 0;
  left: 0;
  transform-origin: top;
}
.form-submit:hover,
.form-submit:active,
.form-submit:focus {
  color: var(--blue);
}
.form-submit:hover span:after,
.form-submit:hover span:before,
.form-submit:active span:after,
.form-submit:active span:before,
.form-submit:focus span:after,
.form-submit:focus span:before {
  transform: scale3d(1, 1, 1);
}
.form-submit:hover span:before,
.form-submit:active span:before,
.form-submit:focus span:before {
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1);
}
.form-submit:hover span:after,
.form-submit:active span:after,
.form-submit:focus span:after {
  transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s;
}
.form-submit:hover span:nth-of-type(1):before,
.form-submit:active span:nth-of-type(1):before,
.form-submit:focus span:nth-of-type(1):before {
  transform-origin: left;
}
.form-submit:hover span:nth-of-type(1):after,
.form-submit:active span:nth-of-type(1):after,
.form-submit:focus span:nth-of-type(1):after {
  transform-origin: top;
}
.form-submit:hover span:nth-of-type(2):before,
.form-submit:active span:nth-of-type(2):before,
.form-submit:focus span:nth-of-type(2):before {
  transform-origin: right;
}
.form-submit:hover span:nth-of-type(2):after,
.form-submit:active span:nth-of-type(2):after,
.form-submit:focus span:nth-of-type(2):after {
  transform-origin: bottom;
}

.wpcf7-not-valid-tip {
  display: none !important;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translate3d(0, -50%, 0);
  opacity: 0;
  visibility: hidden;
}

.properties .wpcf7-not-valid-tip {
  right: calc(1em + 30px);
}

.wpcf7-response-output {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
  font-size: 0.9em;
  letter-spacing: 0.1em;

  padding: 1em 1.4em !important;
  background: rgba(0, 55, 108, 0.1);
  color: var(--blue);
  border: none !important;
  text-align: center;
  margin: 4vh 0 0;
}

.sent:after {
  content: "";
  z-index: 1;
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.sent .wpcf7-response-output {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) scale3d(0.5, 0.5, 1);
  opacity: 0;
  width: 40px;
  height: 40px;
  background: #3df17d;
  color: transparent;
  z-index: 3;
  animation: success-grow 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.4s;
}
.sent .wpcf7-response-output:before,
.sent .wpcf7-response-output:after {
  content: "";
  position: absolute;
  height: 3px;
  background: white;
}
.sent .wpcf7-response-output:before {
  width: 20%;
  top: 60%;
  right: calc(50% + 1px);
  transform-origin: right;
  transform: rotate(45deg) scale3d(0, 1, 1);
  animation: tick-before 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.7s;
}

@keyframes tick-before {
  to {
    transform: rotate(45deg) scale3d(1, 1, 1);
  }
}
.sent .wpcf7-response-output:after {
  width: 40%;
  top: 60%;
  left: calc(50% - 3px);
  transform-origin: left;
  transform: rotate(-45deg) scale3d(0, 1, 1);
  animation: tick-after 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 1s;
}

@keyframes tick-after {
  to {
    transform: rotate(-45deg) scale3d(1, 1, 1);
  }
}

@keyframes success-grow {
  to {
    transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
    opacity: 1;
  }
}

.input-check {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  z-index: 1;
  opacity: 0;
  transform: translate3d(10%, 0, 0);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  opacity: 0;
}
.input-check:before,
.input-check:after {
  content: "";
  position: absolute;
  height: 3px;
}

.correct.input-check {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.correct.input-check:before,
.correct.input-check:after {
  background: #3df17d;
}
.correct.input-check:before {
  width: 8px;
  top: 60%;
  right: calc(50% + 1px);
  transform-origin: right;
  transform: rotate(45deg);
}
.correct.input-check:after {
  width: 15px;
  top: 60%;
  left: calc(50% - 3px);
  transform-origin: left;
  transform: rotate(-45deg);
}

.error.input-check {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.error.input-check:before,
.error.input-check:after {
  background: #ff002a;
}
.error.input-check:before,
.error.input-check:after {
  width: 12px;
  top: 50%;
  left: 50%;
}
.error.input-check:before {
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}
.error.input-check:after {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.properties .input-check {
  right: calc(1em + 30px);
}

.page-template-p-guardian-application .g-pagination {
  position: relative;
  justify-content: center;
  margin: 2em auto 1em;
  color: #dadada;
  display: inline-flex;
  flex-flow: row nowrap;
  box-shadow: -5px 5px 15px #f0f0f0;
}
.page-template-p-guardian-application .g-pagination div {
  height: auto;
  padding: 5px 15px;
  background-color: #fafafa;
  color: #272727;
  cursor: pointer;
}
.page-template-p-guardian-application .g-pagination div:hover {
  background-color: #f0f0f0;
}
.page-template-p-guardian-application .g-pagination div.active {
  color: white;
  background-color: var(--blue);
}

.page-template-p-guardian-application .g-pagination-buttons {
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%;
}
.page-template-p-guardian-application .g-pagination-buttons .g-button {
  padding: 5px 1em;
  background-color: var(--blue);
  box-shadow: -5px 5px 15px #f0f0f0;
  color: #fff;
  width: 130px;
  text-align: center;
  cursor: pointer;
}

.page-template-p-guardian-application form {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 80px;
  max-width: 1100px;
  font-size: 1.3em;
}
.page-template-p-guardian-application form h2 {
  color: #dadada;
  text-align: center;
}
.page-template-p-guardian-application form .lowe-step h3 {
  text-align: left;
  font-size: 0.7em;

  opacity: 0.8;
  line-height: 1.3em !important;
  margin-top: 60px;
  max-width: 700px;
}
.page-template-p-guardian-application form label,
.page-template-p-guardian-application form input,
.page-template-p-guardian-application form select,
.page-template-p-guardian-application form textarea,
.page-template-p-guardian-application form p,
.page-template-p-guardian-application form span,
.page-template-p-guardian-application form a,
.page-template-p-guardian-application form h2,
.page-template-p-guardian-application form h3,
.page-template-p-guardian-application form li {
  font-family: "Poppins", sans-serif;
}
.page-template-p-guardian-application form label {
  width: 50%;
  padding: 3em 5% 3em 0;
}
.page-template-p-guardian-application form input,
.page-template-p-guardian-application form select,
.page-template-p-guardian-application form textarea {
  width: 50%;
  margin: 3em 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.page-template-p-guardian-application form .lowe-step {
  box-shadow: -5px 5px 15px #f0f0f0;
  padding: 40px 60px;
  text-align: left;
  margin: 0 auto;
  max-width: 900px;
  display: none;
}
.page-template-p-guardian-application form .lowe-step.active {
  display: block;
}
.page-template-p-guardian-application form .input_cont {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 40px auto;
  padding: 0 20px;
}
.page-template-p-guardian-application form .g-input-check label {
  width: 75%;
}
.page-template-p-guardian-application form .g-input-check input,
.page-template-p-guardian-application form .small-list li .check-box {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 35px;
  height: auto;
  background: #f0f0f0;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  margin-right: 0.5rem;
  outline: none;
  position: relative;
  border-radius: 3px;
  z-index: 1000;
}
.page-template-p-guardian-application form .g-input-check input:hover,
.page-template-p-guardian-application form .small-list li .check-box:hover {
  background: #cacaca;
}
.page-template-p-guardian-application form .g-input-check input:before,
.page-template-p-guardian-application form .small-list li .check-box:before {
  padding-top: 100%;
  content: "";
  display: block;
}
.page-template-p-guardian-application form .g-input-check input:checked,
.page-template-p-guardian-application
  form
  .g-input-check
  input.checked
  .check-box,
.page-template-p-guardian-application form .small-list li:checked,
.page-template-p-guardian-application form .small-list li.checked .check-box {
  background: #3df17d;
}
.page-template-p-guardian-application form .g-input-check input:checked::after,
.page-template-p-guardian-application
  form
  .g-input-check
  input.checked
  .check-box::after,
.page-template-p-guardian-application form .small-list li:checked::after,
.page-template-p-guardian-application
  form
  .small-list
  li.checked
  .check-box::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("assets/vectors/tick.svg");
  display: inline-block;
  font-size: 1.5em;
  text-align: center;
  line-height: 1em;
  height: 50%;
  width: 50%;
}
.page-template-p-guardian-application form .small-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
  margin: 2em 0;
}
.page-template-p-guardian-application form .small-list li {
  width: 48%;
  width: calc(50% - 0.5em);
  padding: 1em;
  margin: 0 0 1em;
  background-color: #fff;
  cursor: pointer;
  position: relative;
}
.page-template-p-guardian-application form .small-list li .check-box {
  position: absolute;
  top: 50%;
  left: auto;
  right: 0px;
  -webkit-transform: translate3d(0, -50%, 0);
  -ms-transform: translate3d(0, -50%, 0);
  -o-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}
.page-template-p-guardian-application form input,
.page-template-p-guardian-application form textarea {
  border: none;
  border-bottom: 2px solid #f0f0f0;
  cursor: pointer;
}
.page-template-p-guardian-application form textarea {
  font-size: 0.7em;
  border: 1px solid #f0f0f0;
  padding: 10px;
}
.page-template-p-guardian-application form select {
  cursor: pointer;
  border: 1px solid #f0f0f0;
  border: none;
  border-radius: 0px;
  padding: 1em;
  margin: 2em 0;
  box-shadow: -5px 5px 5px #f0f0f0;
}
.page-template-p-guardian-application form select:hover {
  border-color: #cacaca;
}
.page-template-p-guardian-application form input:hover,
.page-template-p-guardian-application form textarea:hover {
  border-color: #cacaca;
}
.page-template-p-guardian-application form input:active,
.page-template-p-guardian-application form input:focus,
.page-template-p-guardian-application form textarea:active,
.page-template-p-guardian-application form textarea:focus,
.page-template-p-guardian-application form select:active,
.page-template-p-guardian-application form select:focus {
  border: none;
}
.page-template-p-guardian-application form textarea:focus {
  border: 1px solid #f0f0f0;
}

.posts-con {
  text-align: left;
  margin: 0 auto;
  display: block;
}
@media screen and (min-width: 750px) {
  .posts-con {
    padding-top: 0;
  }
}

.posts-con__post {
  display: block;
  margin-bottom: 0;
  vertical-align: top;
  width: 100%;
}
.posts-con__post:hover .posts-con__post__image-con__image,
.posts-con__post:active .posts-con__post__image-con__image,
.posts-con__post:focus .posts-con__post__image-con__image {
  transform: scale3d(1.05, 1.05, 1);
}
.posts-con__post:hover .posts-con__post__image-con__image:after,
.posts-con__post:active .posts-con__post__image-con__image:after,
.posts-con__post:focus .posts-con__post__image-con__image:after {
  opacity: 0.9;
}

.posts-con__post__image-con {
  background: #f7f7f7;
  display: block;
  width: 100%;
  height: 70vh;
  max-height: 500px;
  position: relative;
  overflow: hidden;
}

.posts-con__post__image-con__image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.posts-con__post__image-con__image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: hard-light;
  background: var(--blue);
  transition: opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  opacity: 0;
}

.posts-con__post__details {
  background-color: #fafafa;
  padding: 1.5em;
  text-align: center;
}

.posts-con__post__details__title h1 {
  line-height: 1.4em !important;
}

.posts-con__post__details__sub {
  font-size: 0.8em;
  color: #1e1e1e;
  margin: 0.5em 0;
  margin-bottom: 0;
}
.posts-con__post__details__sub span {
  animation-delay: 1s;
}

.view {
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  visibility: visible;
}

.posts-con__view-con {
  text-align: right;
  padding: 2vw 2vw 8vh;
}
@media screen and (max-width: 600px) {
  .posts-con__view-con {
    display: none;
  }
}

.posts-con__view-con__button {
  width: 20px;
  height: 20px;
  margin-left: 1em;
  position: relative;
  vertical-align: bottom;
}
.posts-con__view-con__button div {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.posts-con__view-con__button span {
  background: var(--blue);
  position: absolute;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.posts-con__view-con__button--grid span {
  height: 40%;
  width: 40%;
}

.posts-con__view-con__button--grid span:nth-of-type(1) {
  left: 0;
  top: 0;
}

.posts-con__view-con__button--grid span:nth-of-type(2) {
  right: 0;
  top: 0;
}

.posts-con__view-con__button--grid span:nth-of-type(3) {
  left: 0;
  bottom: 0;
}

.posts-con__view-con__button--grid span:nth-of-type(4) {
  right: 0;
  bottom: 0;
}

.posts-con__view-con__button--grid span:nth-of-type(5) {
  left: 0;
  bottom: -60%;
  opacity: 0;
  transform: translate3d(0, 20%, 0);
}

.posts-con__view-con__button--grid span:nth-of-type(6) {
  right: 0;
  bottom: -60%;
  opacity: 0;
  transform: translate3d(0, 30%, 0);
}

.posts-con__view-con__button--grid:hover div,
.posts-con__view-con__button--grid:active div,
.posts-con__view-con__button--grid:focus div {
  transform: translate3d(0, -60%, 0);
}

.posts-con__view-con__button--grid:hover span:nth-of-type(1),
.posts-con__view-con__button--grid:active span:nth-of-type(1),
.posts-con__view-con__button--grid:focus span:nth-of-type(1) {
  opacity: 0;
  transform: translate3d(0, -30%, 0);
}

.posts-con__view-con__button--grid:hover span:nth-of-type(2),
.posts-con__view-con__button--grid:active span:nth-of-type(2),
.posts-con__view-con__button--grid:focus span:nth-of-type(2) {
  opacity: 0;
  transform: translate3d(0, -20%, 0);
}

.posts-con__view-con__button--grid:hover span:nth-of-type(5),
.posts-con__view-con__button--grid:hover span:nth-of-type(6),
.posts-con__view-con__button--grid:active span:nth-of-type(5),
.posts-con__view-con__button--grid:active span:nth-of-type(6),
.posts-con__view-con__button--grid:focus span:nth-of-type(5),
.posts-con__view-con__button--grid:focus span:nth-of-type(6) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.posts-con__view-con__button--list span {
  height: 40%;
  left: 0;
  right: 0;
}

.posts-con__view-con__button--list span:nth-of-type(1) {
  top: 0;
}

.posts-con__view-con__button--list span:nth-of-type(2) {
  bottom: 0;
}

.posts-con__view-con__button--list span:nth-of-type(3) {
  bottom: -60%;
  opacity: 0;
  transform: translate3d(0, 20%, 0);
}

.posts-con__view-con__button--list:hover div,
.posts-con__view-con__button--list:active div,
.posts-con__view-con__button--list:focus div {
  transform: translate3d(0, -60%, 0);
}

.posts-con__view-con__button--list:hover span:nth-of-type(1),
.posts-con__view-con__button--list:active span:nth-of-type(1),
.posts-con__view-con__button--list:focus span:nth-of-type(1) {
  opacity: 0;
  transform: translate3d(0, -20%, 0);
}

.posts-con__view-con__button--list:hover span:nth-of-type(3),
.posts-con__view-con__button--list:active span:nth-of-type(3),
.posts-con__view-con__button--list:focus span:nth-of-type(3) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.view--transition {
  opacity: 0;
  visibility: hidden;
}

.grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.grid .posts-con__post__image-con {
  padding-bottom: 100%;
  height: auto;
}
@media screen and (min-width: 600px) {
  .grid .posts-con__post {
    display: inline-block;
    width: 100%;
  }
}
@media screen and (min-width: 1023px) {
  .grid .posts-con__post {
    width: 100%;
  }
}
@media screen and (min-width: 1400px) {
  .grid .posts-con__post {
    width: 100%;
  }
}

.list .posts-con__post {
  display: block;
}

.pagination {
  padding: 0 2vw;
  text-align: center;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
}

.pagination__page {
  padding: 1.5em;
  font-size: 0.7em;
  background: var(--blue);
  color: white !important;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  border-right: 2px solid #002a53;
  display: inline-block;
  overflow: hidden;
  z-index: 1;
  opacity: 0.4;
}
.pagination__page:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--blue);
  transform: scale3d(0, 1, 1);
  transform-origin: right;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  z-index: -1;
}
.pagination__page:last-of-type {
  border: 0;
}
.pagination__page:hover,
.pagination__page:active,
.pagination__page:focus {
  color: white;
}
.pagination__page:hover:before,
.pagination__page:active:before,
.pagination__page:focus:before {
  transform: scale3d(1, 1, 1);
  transform-origin: left;
}

.pagination__page--current {
  background: var(--blue);
  color: white;
  opacity: 1;
  pointer-events: none;
}

.page-contact .footer {
  display: none;
}

.post__con {
  display: block;
  text-align: left;
}
@media screen and (min-width: 1023px) {
  .post__con {
    width: 50%;
  }
}

.post__con__content .content {
  opacity: 0;
  animation: fd 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 1.3s;
}

.post__con__content a {
  display: inline-block;
  z-index: 1;
  color: var(--blue);
  text-shadow: 0.03em 0 white, -0.03em 0 white, 0 0.03em white, 0 -0.03em white,
    0.06em 0 white, -0.06em 0 white, 0.09em 0 white, -0.09em 0 white,
    0.12em 0 white, -0.12em 0 white, 0.15em 0 white, -0.15em 0 white;
}
.post__con__content a:before,
.post__con__content a:after {
  content: "";
  position: absolute;
  bottom: 0.3em;
  left: 0;
  right: 0;
  height: 1px;
  z-index: -1;
}
.post__con__content a:before {
  background: rgba(0, 55, 108, 0.2);
}
.post__con__content a:after {
  background: var(--blue);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transform: scale3d(0, 1, 1);
  transform-origin: right;
}
.post__con__content a:hover:after,
.post__con__content a:active:after,
.post__con__content a:focus:after {
  transform: scale3d(1, 1, 1);
  transform-origin: left;
}

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

.post__con__content ul,
.post__con__content ol {
  list-style: none;
}
.post__con__content ul li,
.post__con__content ol li {
  position: relative;
  padding-left: 27px;
  margin-bottom: 10px;
}
@media screen and (min-width: 750px) {
  .post__con__content ul li,
  .post__con__content ol li {
    padding-left: 32px;
  }
}
.post__con__content ul li:before,
.post__con__content ol li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  margin-right: 5px;
  box-sizing: border-box;
  top: 0.8em;
  transform: translate3d(0, -50%, 0);
}
.post__con__content ul ol,
.post__con__content ul ul,
.post__con__content ol ol,
.post__con__content ol ul {
  margin-top: 10px;
}

.post__con__content ul li:before {
  width: 8px;
  height: 8px;
  border: 3px solid var(--blue);
  left: 6px;
}
@media screen and (min-width: 750px) {
  .post__con__content ul li:before {
    width: 10px;
    height: 10px;
  }
}

.post__con__content ul li li:before {
  border-color: var(--blue);
}

.post__con__content ol li {
  counter-increment: step-counter;
}
.post__con__content ol li:before {
  width: 16px;
  height: 16px;
  background-color: var(--blue);
}
@media screen and (min-width: 750px) {
  .post__con__content ol li:before {
    width: 20px;
    height: 20px;
  }
}
.post__con__content ol li:after {
  content: counter(step-counter);
  position: absolute;
  left: 8px;
  top: 0;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-size: 8px;
  font-weight: 700;
  transform: translate3d(-50%, 0, 0);
  color: white;
}
@media screen and (min-width: 750px) {
  .post__con__content ol li:after {
    font-size: 10px;
    left: 10px;
  }
}
.post__con__content ol li li {
  counter-increment: in-step-counter;
}
.post__con__content ol li li:before {
  background: var(--blue);
}
.post__con__content ol li li:after {
  content: counter(in-step-counter);
}

.post__con__content iframe {
  max-width: 100%;
}

.post__con__content .fluid-video {
  width: calc(100% + 20vh);
  margin: 5vh -10vh;
  padding-bottom: 83.25%;
  height: 0;
  position: relative;
}
@media screen and (min-width: 750px) {
  .post__con__content .fluid-video {
    width: calc(100% + 16vw);
    margin: 5vh -8vw;
  }
}
@media screen and (min-width: 1400px) {
  .post__con__content .fluid-video {
    width: calc(100% + 14vw);
    margin: 5vh -7vw;
  }
}
.post__con__content .fluid-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.touch .post__con__content a:after {
  transform: scale3d(1, 1, 1);
}

.post__con__content__details {
  margin-bottom: 5vh;
}
.post__con__content__details .title {
  font-size: 1.1em;
  color: var(--blue);
}
.post__con__content__details .sub-title {
  font-size: 0.8em;
}

.post__image-con {
  background: #f7f7f7;
  height: 50vh;
  display: flex;
  justify-content: center;
  position: relative;
}
@media screen and (min-width: 1023px) {
  .post__image-con {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    height: auto;
  }
}

.post__image-con__image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.post__con__nav {
  line-height: 1em !important;
  position: relative;
  left: auto;
  display: inline-block;
  font-size: 0.7em;
  z-index: 10;
  padding: 0.7em;
  background: white;
  transition: color 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.post__con__nav:before {
  content: "";
  background: var(--blue);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transform: scale3d(0, 1, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transform-origin: right;
  position: absolute;
  z-index: -1;
}
.post__con__nav:hover,
.post__con__nav:active,
.post__con__nav:focus {
  color: white;
}
.post__con__nav:hover:before,
.post__con__nav:active:before,
.post__con__nav:focus:before {
  transform: scale3d(1, 1, 1);
  transform-origin: left;
}

.touch .post__con__nav {
  color: var(--blue);
  display: block;
}

.post__con__nav--close {
  bottom: 5vh;
  position: absolute;
}
@media screen and (min-width: 1023px) {
  .post__con__nav--close {
    position: fixed;
  }
}

.post__con__nav--direction {
  position: relative;
  margin-top: 10vh;
}
@media screen and (min-width: 1023px) {
  .post__con__nav--direction {
    position: fixed;
    right: 5vh;
    bottom: 5vh;
  }
}
@media screen and (max-width: 1023px) {
  .post__con__nav--direction a:nth-of-type(2) {
    float: right;
  }
}
.post__con__nav--direction a {
  display: block;
  float: left;
}
.post__con__nav--direction a:nth-of-type(2) {
  margin-left: 1em;
}

@media screen and (min-width: 750px) {
  .parent-halves {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .parent-halves a,
  .parent-halves section {
    width: 50%;
  }
}

@media screen and (min-width: 750px) {
  .process-con {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.checker-con--process {
  position: relative;
}
@media screen and (max-width: 750px) {
  .checker-con--process:nth-of-type(even) {
    background: #fafafa;
  }
}
@media screen and (min-width: 750px) {
  .checker-con--process {
    display: inline-block;
    width: 50%;
    vertical-align: top;
  }
  .checker-con--process:nth-of-type(2),
  .checker-con--process:nth-of-type(3),
  .checker-con--process:nth-of-type(6) {
    background: #fafafa;
  }
}

.checker-con__process {
  margin-bottom: 6vh;
}
@media screen and (min-width: 750px) {
  .checker-con__process {
    margin-bottom: 2vh;
  }
}

.checker-con__copy-con--process {
  display: block;
}

.process-icon--contact {
  width: 50px;
  height: 63px;
}

.process-icon--inspection {
  width: 50px;
  height: 52px;
}

.process-icon--fitout {
  width: 80px;
  height: 24px;
}

.process-icon--guardians {
  width: 80px;
  height: 40px;
}

.process-icon--management {
  width: 50px;
  height: 67px;
}

.process-icon--termination {
  width: 70px;
  height: 64px;
}

.process-icon__path {
  stroke-width: 3px;
  stroke: var(--blue);
  fill: none;
  transition: 1s cubic-bezier(0.23, 0.01, 0, 1);
  opacity: 0;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.in .process-icon__path {
  opacity: 1;
  stroke-dashoffset: 0 !important;
}

.map-con {
  background: #f2f2f2;
  overflow: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  border-top: 0;
}
@media screen and (min-width: 750px) {
  .map-con {
    top: calc(1em + 6vh);
  }
}
.map-con .cta {
  opacity: 1;
}

.map-con__map {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.map-con__con__copy-con {
  background: rgba(255, 255, 255, 0.96);
  color: var(--blue);
  padding: 8vw;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s,
    opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
}
.map-con__con__copy-con .map-con__copy-con__method {
  display: block;
}
.map-con__con__copy-con .map-con__copy-con__method .title {
  display: inline-block;
}
@media screen and (min-width: 750px) {
  .map-con__con__copy-con {
    padding: 4vw;
  }
}

.map-con__copy-con__title {
  font-size: 1.3em;
  margin-bottom: 4vh;
}

.map-con__con__cta {
  background: white;
  margin-top: 5vh;
}
.map-con__con__cta .button--bottom div,
.map-con__con__cta .button--top div {
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}
.map-con__con__cta .button--bottom {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}
.map-con__con__cta .button--bottom div {
  transform: translate3d(0, -105%, 0);
}

.map-con--hide .map-con__map {
  transform: scale3d(1, 1, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
}

.map-con--hide .map-con__con {
  pointer-events: none;
}

.map-con--hide .map-con__con__copy-con {
  opacity: 0;
  transform: scale3d(1.05, 1.05, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.map-con--hide .map-con__con__cta {
  pointer-events: all;
}

.map-con--hide .button--bottom div {
  transform: translate3d(0, 0%, 0);
}

.map-con--hide .button--top div {
  transform: translate3d(0, 105%, 0);
}

.nav-arrows {
  display: none;
}
@media screen and (min-width: 750px) {
  .nav-arrows {
    display: block;
    position: fixed;
    bottom: 3vw;
    right: 3vw;
  }
  .nav-arrows .arrow {
    display: block;
    box-sizing: border-box;
  }
}

.pop-up-con {
  z-index: 1;
  min-height: 100vh;
}
.pop-up-con .con {
  margin: 0 auto;
  max-width: 900px;
}
.pop-up-con .require-con__title {
  color: var(--blue);
  margin-bottom: 4vh;
}
.pop-up-con .copy {
  margin-bottom: 8vh;
}

.page-template-p-requirements .pop-up-con {
  background: #f7f7f7;
}

.sign-up {
  color: #fff;
  background: var(--blue);
  padding-top: 5.75em !important;
  padding-bottom: 5.75em !important;
}

.sign-up .con {
  margin: 0 auto;
  max-width: 400px;
  text-align: right;
}

.sign-up .title,
.sign-up__copy {
  text-align: center;
}

.sign-up__title {
  font-size: 1.375em;
}

.sign-up__copy {
  margin: 2vh auto 3vh;
  color: rgba(255, 255, 255, 0.7);
}

.sign-up__input {
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  margin: 0 20px 0 auto;
  font-size: 1.5em;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
}

.sign-up__input input {
  color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-bottom: 3px solid rgba(255, 255, 255, 0.3);
  background: 0 0;
  font-family: futura-pt, "Hammersmith One", "Source sans pro", "Open sans",
    freesans, sans-serif;
  width: 100%;
  text-align: left;
  padding: 5px;
}

.sign-up__input span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  overflow: hidden;
}

.sign-up__input span:after,
.sign-up__input span:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120%;
}

.sign-up__input span:before {
  right: 0;
  background: linear-gradient(45deg, rgba(0, 116, 213, 0), var(--blue) 20%);
  transition: -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.sign-up__input span:after {
  left: 0;
  background: linear-gradient(45deg, var(--blue) 80%, rgba(0, 116, 213, 0));
  transition: -webkit-transform 0s;
  transition: transform 0s;
  transition: transform 0s, -webkit-transform 0s;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.sign-up__input:active span:before,
.sign-up__input:focus span:before,
.sign-up__input:hover span:before {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  transition: -webkit-transform 0s 0.6s;
  transition: transform 0s 0.6s;
  transition: transform 0s 0.6s, -webkit-transform 0s 0.6s;
}

.sign-up__input:active span:after,
.sign-up__input:focus span:after,
.sign-up__input:hover span:after {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  transition: -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1),
    -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.sign-up__submit {
  vertical-align: bottom;
  width: 40px;
  height: 40px;
  border: 3px solid white;
  display: inline-block;
  position: relative;
  transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.sign-up__submit:after,
.sign-up__submit:before {
  content: "";
  position: absolute;
  height: 3px;
  background: white;
  transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1);
}

.sign-up__submit:before {
  width: 20%;
  top: 60%;
  right: calc(50% + 1px);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sign-up__submit:after {
  width: 40%;
  top: 60%;
  left: calc(50% - 3px);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.sign-up__submit:active,
.sign-up__submit:focus,
.sign-up__submit:hover {
  background: #ffffff10;
}

.sign-up__submit:active:after,
.sign-up__submit:active:before,
.sign-up__submit:focus:after,
.sign-up__submit:focus:before,
.sign-up__submit:hover:after,
.sign-up__submit:hover:before {
  background: #fff;
}

.footer {
  background: var(--blue);
  position: relative;
}

.footer .logo-con__logo {
  filter: none;
}

.footer__logo {
  display: none;
}
@media screen and (min-width: 750px) {
  .footer__logo {
    display: inline-block;
    opacity: 0.7;
    position: absolute;
    top: 3rem;
    right: 8vw;
  }
  .footer__logo .logo-con__logo__border {
    stroke: white;
    fill: none;
    stroke-miterlimit: 10;
    stroke-width: 15px;
  }
  .footer__logo .logo-con__logo__letter {
    fill: white;
  }
}
@media screen and (min-width: 750px) and (min-width: 1400px) {
  .footer__logo {
    top: 3rem;
    right: 7vw;
  }
}
@media screen and (min-width: 750px) {
  .footer__logo:hover,
  .footer__logo:active,
  .footer__logo:focus {
    opacity: 1;
  }
}

.footer__span {
  color: white;
  margin-bottom: 1em;
  display: block;
}
.footer__span .copy {
  margin-left: 1em;
  display: inline-block;
  width: 70%;
  vertical-align: top;
}

@media screen and (min-width: 750px) {
  .footer__span--last {
    margin-bottom: 0;
  }
}

.footer__span--small {
  margin-bottom: 0.8em;
}
@media screen and (min-width: 750px) {
  .footer__span--small {
    display: inline-block;
    margin-right: 0.8em;
  }
}
.footer__span--small .copy {
  margin-left: 0;
  font-size: 0.8em;
  opacity: 0.8;
  width: auto;
}

a.footer__span--small .copy {
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
}

.footer__social-con {
  margin-bottom: 0.8em;
}
.footer__social-con img {
  vertical-align: bottom;
  width: 28px;
  height: 28px;
}
@media screen and (min-width: 750px) {
  .footer__social-con {
    position: absolute;
    top: 8vw;
    right: 8vw;
    margin-top: 0;
  }
  .footer__social-con img {
    width: 33px;
    height: 33px;
  }
}
@media screen and (min-width: 1400px) {
  .footer__social-con {
    top: 7vw;
    right: 7vw;
  }
}

.footer__social-con__icon {
  opacity: 0.7;
  transition: opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  display: inline-block;
  margin-left: 0.6vw;
}
.footer__social-con__icon:hover,
.footer__social-con__icon:active,
.footer__social-con__icon:focus {
  opacity: 1;
}

/*
 * FAQs
*/
.short-ans {
  padding: 4vw;
  height: auto;
  background-color: white;
}
@media screen and (max-width: 750px) {
  .short-ans {
    padding: 8vw;
  }
}

/*
 *  Masonry
*/

.index-masonry {
  width: 100%;
}

.index-element,
.index-sizer {
  width: calc(100%);
}

@media (min-width: 500px) {
  .index-element,
  .index-sizer {
    width: calc(50% - 15px);
  }
}

@media (min-width: 800px) {
  .index-element,
  .index-sizer {
    width: calc(33.33% - 20px);
  }
}

.index-element {
  float: left;
  margin-bottom: 30px;
  margin-left: 30px;
}

.index-element:nth-of-type(3n + 1) {
  margin-left: 0;
}

.index-element a {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}

.index-element a .posts-con__post__details {
  flex: 1;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.image-bar {
  min-height: unset;
  padding: 8vw;
  width: 100%;
  padding-top: 4vh;
  padding-bottom: 4vh;
  text-align: center;
  background: #f7f6f5;
}

.image-bar .wrapper {
  margin-left: auto;
  margin-right: auto;
  display: inline-flex;
}

.image-bar .wrapper .image-holder {
  margin-right: 3em;
  max-width: 160px;
}

.image-bar .wrapper .image-holder:last-of-type {
  margin-right: 0em;
}

.image-bar .wrapper .image-holder img {
  width: 100%;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease-in-out;
}

.image-bar .wrapper .image-holder img:hover {
  opacity: 1;
}

.image-bar .image-holder h3 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 500;
  font-size: 2em;
  margin-bottom: 0.5em;
  color: var(--blue);
}

.image-bar .image-holder p {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 500;
  margin-bottom: 0;
  color: #272727;
}

.figures-bar .wrapper .image-holder {
  margin-right: 8em;
}

.fullwidth-title {
  border-bottom: 1px #f3f1f1 solid;
  border-top: 1px #f3f1f1 solid;
}

.fullwidth-title h3 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  color: var(--blue);
}

@media (max-width: 1200px) {
  .image-bar {
    overflow-x: scroll;
  }

  .image-bar {
    cursor: url(/wp-content/themes/LCG_16/assets/vectors/horizontal-scroll.cur)
        30 10,
      auto;
  }
  .image-bar .wrapper .image-holder {
    width: 130px;
    float: left;
  }
  .image-bar::-webkit-scrollbar {
    display: none;
  }
  .image-bar .wrapper .image-holder img {
    cursor: unset;
  }
}

/* PAGE BUILDER ALTERNATES
-------------------------------------------------------------------------------*/

/* MASTHEAD
-----------------------------------*/

.page_builder_wrapper .section-header .title h2 {
  font-size: 1.4rem;
  margin-top: 2rem;
  letter-spacing: 3px;
  display: none;
}

.page_builder_wrapper .masthead .dual-buttons {
  display: flex;
  flex-direction: column;
  margin-top: 3em;
}

.page_builder_wrapper .masthead .dual-buttons a {
  background: var(--blue);
  padding: 1em 1.5em;
  color: white;
  display: block;
  font-size: 1.5em;
  margin: 0 1em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  white-space: nowrap;
}

.page_builder_wrapper .masthead .dual-buttons a:first-of-type {
  background-color: white;
  color: var(--blue) !important;
  margin-bottom: 2em;
}

.page_builder_wrapper .masthead {
  padding-top: 100px;
}

@media (min-width: 950px) {

  .page_builder_wrapper .masthead {
    padding-top: 175px;
  }

  .page_builder_wrapper .masthead .dual-buttons {
    flex-direction: row;
  }
  .page_builder_wrapper .masthead .dual-buttons a {
    font-size: 0.9em;
  }
  .page_builder_wrapper .masthead .dual-buttons a:first-of-type {
    margin-bottom: 0em;
  }
}

.btn-white {
  background: white;
}

.masthead:not(.section-intro) .cta {
  margin-top: 24px;
  font-size: 0.6em;
  padding: 1.5em;
}

.masthead:not(.section-intro) .cta.btn-white span::after,
.masthead:not(.section-intro) .cta.btn-white span::before {
  display: none;
}

.features {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}

.features p {
  margin: 0 1rem;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.features p span.hint {
  position: absolute;
  background: var(--beige);
  bottom: -2.25rem;
  white-space: nowrap;
  transform: translate(-25%, 15px);
  opacity: 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
  z-index: -1;
  transition: transform 0.4s 0s, opacity 0.2s 0s;
}

.features p:hover span.hint {
  transform: translate(-25%, 0px);
  opacity: 1;
  z-index: -1;
  transition: transform 0.4s 0s, opacity 0.2s 0.1s;
}

.features p span.icon {
  content: "";
  height: 1rem;
  width: 1rem;
  background: red;
  margin-right: 1rem;
  display: inline-block;
}

.features p span.icon.rooms {
  background: transparent;
  background-image: url(/wp-content/themes/LOWE-23/assets/images/rooms.png);
  background-size: cover;
}

.features p span.icon.baths {
  background: transparent;
  background-image: url(/wp-content/themes/LOWE-23/assets/images/baths.png);
  background-size: cover;
}

.features p span.icon.toilets {
  background: transparent;
  background-image: url(/wp-content/themes/LOWE-23/assets/images/toilets.png);
  background-size: cover;
}

.features p span.icon.kitchens {
  background: transparent;
  background-image: url(/wp-content/themes/LOWE-23/assets/images/kitchens.png);
  background-size: cover;
}

.features p span.icon.units {
  background: transparent;
  background-image: url(/wp-content/themes/LOWE-23/assets/images/available-units.png);
  background-size: cover;
}

/* CENTER TEXT BLOCK
-----------------------------------*/

.page_builder_wrapper .center_text {
  min-height: unset;
}

.page_builder_wrapper .center_text .copy-appear {
  text-align: center;
  margin: 0 auto;
}

.page_builder_wrapper .center_text .copy-appear p:last-of-type {
  margin-bottom: 0;
}

.page_builder_wrapper .center_text h2 {
  color: var(--blue);
  margin-bottom: 1.5em;
}

.page_builder_wrapper .center_text h3 {
  color: var(--blue);
  margin-bottom: 2em;
}

/* JOBS BLOCK
-----------------------------------*/

.page_builder_wrapper .jobs {
  min-height: unset;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  display: flex;
}

.page_builder_wrapper .jobs .in {
  float: left;
  width: 23%;
}

.page_builder_wrapper .jobs .roles {
  float: left;
  width: 67%;
  margin-left: 10%;
}

.page_builder_wrapper .jobs .roles .job_role {
  background-color: #f8f8f8;
  padding: 1.5em 2em;
  display: flex;
  margin-top: 2vh;
  align-items: center;
}

.page_builder_wrapper .jobs .roles .job_role p {
  color: var(--blue);
  margin-bottom: 5vh;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  font-size: 0.8rem;
}

.page_builder_wrapper .jobs .roles .job_role:first-of-type {
  margin-top: 0vh;
}

.page_builder_wrapper .jobs .roles .job_role p {
  margin-bottom: 0;
}

.page_builder_wrapper .jobs .roles .job_role a {
  margin-left: auto;
}

.page_builder_wrapper .jobs .copy-appear {
  margin: 0 auto;
}

.page_builder_wrapper .jobs .copy-appear p:last-of-type {
  margin-bottom: 0;
}

.page_builder_wrapper .knowledge_base .w-100 ._faq {
  background-color: #f0f1f3;
  padding: 3em 4em;
  text-align: center;
  margin-bottom: 30px;
  display: flex;
  position: relative;
  height: calc(100% - 30px);
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .jobs h2 {
  color: var(--blue);
  margin-bottom: 5vh;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  font-size: initial;
}

/* COPY & IMAGE BLOCK
-----------------------------------*/

.page_builder_wrapper .copy_image {
  min-height: unset;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  display: flex;
  align-items: center;
}

.page_builder_wrapper .copy_image h2 {
  color: var(--blue);
  margin-bottom: 2em;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;
  line-height: 1.6em !important;
}

.page_builder_wrapper .copy_image .copy_area {
  width: 45%;
}

.page_builder_wrapper .copy_image .copy_area a:not(.cta),
.single-content a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.page_builder_wrapper .copy_image .copy_area .copy > *:last-child {
  margin-bottom: 0 !important;
}

.page_builder_wrapper .center_text .copy > *:last-child {
  margin-bottom: 0 !important;
}

.page_builder_wrapper .copy_image .image_area {
  width: 45%;
  margin-left: auto;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  aspect-ratio: 4 / 3;
}

.page_builder_wrapper .copy_image .image_area img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  transition: 0.5s ease;
}

.show_white_boxes .page_builder_wrapper .copy_image .image_area:not(.no_border)::after {
  content: "";
  position: absolute;
  z-index: 2;
  height: 85%;
  width: 85%;
  border: 10px #ffffff solid;
  transition: 0.5s ease;
}

.show_white_boxes .page_builder_wrapper .copy_image .image_area:not(.no_border)::before {
  content: "";
  z-index: 1;
  position: absolute;
  height: 85%;
  width: 85%;
  outline: 500px #00000040 solid;
  transition: 0.5s ease;
}

.show_white_boxes .page_builder_wrapper .copy_image .image_area:hover::after,
.show_white_boxes .page_builder_wrapper .copy_image .image_area:hover::before {
  height: calc(150%);
  width: calc(150%);
}

.page_builder_wrapper .copy_image .image_area .image_caption {
  color: white;
  position: absolute;
  left: 2em;
  bottom: -3em;
  z-index: 1000;
  text-align: left;
  transition: 0.3s ease 0s;
  opacity: 0;
  width: 100%;
}

.page_builder_wrapper .copy_image .image_area:hover .image_caption {
  bottom: 3em;
  opacity: 1;
  transition: 0.3s ease 0.3s;
}

.page_builder_wrapper .copy_image .image_area .image_caption p {
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
}

.page_builder_wrapper .copy_image .image_area p {
  position: absolute;
  z-index: 1000000;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  color: white;
  margin-bottom: 0;
}

.page_builder_wrapper
  .copy_image
  .image_area:not(.map_area)
  div:not(.image_caption) {
  width: 100%;
  padding-top: 75%;
  background-size: cover;
  background-position: center;
  transition: 0.5s ease;
  position: relative;
}

.page_builder_wrapper
  .gallery-wrapper.has-video
  .copy_image
  .image_area:not(.map_area)
  div {
  padding-top: 56%;
}

.page_builder_wrapper .gallery-wrapper.has-video iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: unset;
}

.page_builder_wrapper .copy_image .image_area .acf-map {
  border: none;
  margin: 0;
}

.page_builder_wrapper .copy_image .image_area:not(.no_border) div::after {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--blue);
  opacity: 0;
  transition: 0.5s ease;
}
.page_builder_wrapper .copy_image .image_area:hover:not(.no_border) img,
.page_builder_wrapper .copy_image .image_area:hover:not(.no_border) .img {
  transform: scale(1.025);
}

.page_builder_wrapper
  .copy_image
  .image_area:hover:not(.no_border)
  .image_area::before {
  scale: 200%;
}

.page_builder_wrapper .flipped .image_area {
  order: 0;
  margin-left: 0;
}

.page_builder_wrapper .flipped .copy_area {
  order: 1;
  margin-left: auto;
}

.page_builder_wrapper .statement h2 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 600;
  font-size: 2.5rem;
}

.page_builder_wrapper ._team {
  flex-wrap: wrap;
}

.page_builder_wrapper ._team .in {
  width: 45%;
  max-width: unset;
}

.page_builder_wrapper ._team .roles {
  width: 45%;
  height: fit-content;
  max-width: unset;
  background-color: #f0f1f3;
  padding: 3em 4em;
  position: relative;
}

.page_builder_wrapper ._team .roles p {
  margin-bottom: 0;
}

.page_builder_wrapper.team_member p {
  font-size: 14px;
}

.page_builder_wrapper .box_link {
  position: absolute;
  background-color: var(--blue);
  height: 3em;
  width: 3em;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .box_link img {
  width: 50%;
}

.page_builder_wrapper .posts-con__post .box_link {
  right: -3em;
  transition: 0.3s ease;
}

.page_builder_wrapper .posts-con__post:hover .box_link {
  right: 0em;
}

.page_builder_wrapper .square-container {
  padding: 0;
  aspect-ratio: 1 / 1;
}

.page_builder_wrapper .square-container .image-wrapper {
  position: absolute;
  top: 0px;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.page_builder_wrapper .square-container .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
}

.page_builder_wrapper .box .square-container {
  overflow: hidden;
}

.page_builder_wrapper .box .box_link {
  right: -3em;
  transition: 0.3s ease;
}

.page_builder_wrapper .box:hover .box_link {
  right: 0em;
}

.page_builder_wrapper .team-members .col-12 .square-container {
  filter: grayscale(0%);
  transition: 0.3s ease;
}

.page_builder_wrapper .team-members .col-12:hover .square-container {
  filter: grayscale(100%);
}

.page_builder_wrapper .team-members .square-container {
  overflow: hidden;
}

.page_builder_wrapper .team-members .col-12 .box_link {
  right: -3em;
  transition: 0.3s ease;
}

.page_builder_wrapper .team-members .col-12:hover .box_link {
  right: 0em;
}

.page_builder_wrapper .box_links .col-12 {
  display: flex;
  flex-direction: column;
}

.page_builder_wrapper .box_links .col-12 .text_ {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .case-studies .square-container {
  overflow: hidden;
}

.page_builder_wrapper .case-studies .col-12 {
  display: flex;
  flex-direction: column;
}

.page_builder_wrapper .case-studies .col-12 .text_ {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .case-studies .col-12 .box_link {
  right: -3em;
  transition: 0.3s ease;
}

.page_builder_wrapper .case-studies .col-12:hover .box_link {
  right: 0em;
}

.page_builder_wrapper ._team .team_grid {
  width: 100%;
  margin-top: 8vw;
  max-width: unset;
  display: flex;
  flex-wrap: wrap;
}

.page_builder_wrapper ._team .team_grid .box {
  width: 16%;
  padding-top: 16%;
  background-color: white;
  margin-left: 5%;
  height: 0;
  position: relative;
  text-align: center;
  margin-bottom: 4vw;
}

.page_builder_wrapper ._team .team_grid .box ._overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(transparent, #fafafa);
  opacity: 0;
  transition: 0.3s ease;
}

.page_builder_wrapper ._team .team_grid .box ._content {
  position: absolute;
  bottom: 1em;
  left: 0;
  right: 0;
  transform: translateY(30px);
  opacity: 0;
  transition: 0.4s ease;
}

.page_builder_wrapper ._team .team_grid .box:hover ._content {
  transform: translateY(0px);
  opacity: 1;
}

.page_builder_wrapper ._team .team_grid .box:hover ._overlay {
  opacity: 1;
}

.page_builder_wrapper ._team .team_grid .box ._content p {
  margin-bottom: 0;
}

.page_builder_wrapper ._team .team_grid .box ._content ._role {
  opacity: 0.5;
}

.page_builder_wrapper ._team .team_grid .box:first-of-type {
  margin-left: 0;
}

.page_builder_wrapper ._team .team_grid .box:nth-of-type(5n + 1) {
  margin-left: 0;
}

.single-knowledge-base .nav,
.single-knowledge-base .nav-button,
.single-knowledge-base .footer,
.single-knowledge-base .sign-up {
  display: block;
}

.single-case-studies .nav,
.single-case-studies .nav-button,
.single-case-studies .footer,
.single-case-studies .sign-up {
  display: block;
}

.single-podcasts .nav,
.single-podcasts .nav-button,
.single-podcasts .footer,
.single-podcasts .sign-up,
.single-podcasts .pre-footer {
  display: none;
}

@media (max-width: 600px) {
  .page_builder_wrapper ._team .team_grid .box {
    width: 47.5%;
    padding-top: 47.5%;
    background-color: orange;
    margin-left: 5% !important;
    height: 0;
    position: relative;
    text-align: center;
    margin-bottom: 4vw;
  }

  .page_builder_wrapper ._team .team_grid .box:nth-of-type(2n + 1) {
    margin-left: 0 !important;
  }
  .page_builder_wrapper ._team .team_grid .box:nth-of-type(5n + 1) {
    margin-left: unset;
  }
}

.page_builder_wrapper .knowledge_base {
  flex-wrap: wrap;
  padding-top: 10vh;
}

.page_builder_wrapper .knowledge_base ._grid {
  width: 100%;
}

.page_builder_wrapper .knowledge_base .roles {
  width: calc(33.333% - 20px);
  background-color: #f0f1f3;
  padding: 3em 4em;
  text-align: center;
  margin-bottom: 30px;
}

.page_builder_wrapper .knowledge_base .roles p {
  margin-bottom: 0;
}

.page_builder_wrapper .knowledge_base .roles .box_link {
  position: absolute;
  background-color: var(--blue);
  height: 3em;
  width: 3em;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .knowledge_base .roles .box_link img {
  width: 50%;
}

.page_builder_wrapper .cards {
  overflow: auto;
}

.page_builder_wrapper .cards h2,
.page_builder_wrapper .box_links h2 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  color: var(--blue);
  line-height: 1.5em !important;
  margin-bottom: 4em;
  margin-top: -2em;
}

.page_builder_wrapper .cards ._card {
  width: calc(33.33% - 2%);
  float: left;
  margin-right: 3%;
  background-color: #fafafa;
  padding: 4em 3em;
  margin-bottom: 2em;
}

.page_builder_wrapper .cards ._card:nth-of-type(2n) {
  background-color: #fdfdfd;
}

.page_builder_wrapper .cards ._card:nth-of-type(3n) {
  margin-right: 0%;
}

.page_builder_wrapper .cards ._card p {
  display: block;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  margin-top: 4vh;
  margin-bottom: 0;
}

.page_builder_wrapper .cards ._card ._subtitle {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 100;
  font-size: 0.9em;
  margin-bottom: 0.5em;
  margin-top: 0;

  opacity: 0.5;
}

.page_builder_wrapper .cards ._card h4 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  color: var(--blue);
  line-height: 1.5em !important;
}

.page_builder_wrapper .box_links {
  min-height: unset;
  overflow: auto;
}

.page_builder_wrapper .box_links .image_area {
  width: calc(20% - 3.2%);
  float: left;
  background-color: #fff;
  margin-right: 4%;
  text-align: center;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.page_builder_wrapper .box_links .image_area .copy {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  position: absolute;
  margin-bottom: 0;
  color: #fff;
  font-weight: 700;
  bottom: 20px;
  padding: 0 20px;
  transition: 0.3s ease;
}

.page_builder_wrapper .box_links .image_area .link {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  position: absolute;

  bottom: 0;
  font-size: 0.75em;
  color: #fff;
  transform: translateY(50px);
  transition: 0.3s ease;
  margin-bottom: 20px;
}

.page_builder_wrapper .box_links .image_area div {
  width: 100%;
  padding-top: 100%;
  background-size: cover;
  background-position: center;
  transition: 0.5s ease;
  position: relative;
}

.page_builder_wrapper .box_links .image_area div::after {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #2b382f;
  opacity: 0.5;
  transition: 0.5s ease;
}

.page_builder_wrapper .box_links .image_area:hover div::after {
  opacity: 0.8;
}

.page_builder_wrapper .box_links .image_area:hover .link {
  transform: translateY(0px);
}

.page_builder_wrapper .box_links .image_area:hover .copy {
  bottom: 50px;
}

.page_builder_wrapper .box_links .image_area:nth-of-type(5n) {
  margin-right: 0;
}

/* PAGE BUILDER MEDIA RULES
-------------------------------------------------------------------------------*/

@media (min-width: 800px) {
  /* MASTHEAD
  -----------------------------------*/

  .page_builder_wrapper .section-header .title h2 {
    display: block;
  }
}

@media (max-width: 800px) {
  /* CARDS BLOCK
  -----------------------------------*/

  .page_builder_wrapper .cards ._card {
    width: 100%;
    margin-right: 0 !important;
  }

  .page_builder_wrapper .cards ._card p {
    margin-bottom: 0;
  }

  /* BOX LINKS
  -----------------------------------*/

  .page_builder_wrapper .box_links .image_area {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 2em;
  }

  .page_builder_wrapper .box_links .image_area div {
    padding-top: 50%;
  }

  /* JOBS BLOCK
  -----------------------------------*/

  .page_builder_wrapper .jobs {
    flex-direction: column;
  }

  .page_builder_wrapper .jobs .in {
    width: 100%;
  }

  .page_builder_wrapper .jobs .roles {
    width: 100%;
    margin: 0;
    margin-top: 5vh;
  }

  /* COPY & IMAGE BLOCK
  -----------------------------------*/

  .page_builder_wrapper .copy_image {
    flex-direction: column;
    padding-top: 0;
  }

  .page_builder_wrapper .copy_image .copy_area {
    width: 100%;
    margin-left: 0;
    order: 1;
  }

  .page_builder_wrapper .copy_image .image_area {
    width: calc(100% + 10vh);
    margin-left: 0;
    order: 0;
    margin-bottom: 10vh;
  }

  /* TYPEFORM EMBED FIX FOR ARTHUR
-----------------------------------*/

  div .css-4ukwfm {
    height: unset !important;
    z-index: 99999999999 !important;
    overflow: scroll !important;
  }

  .css-4ukwfm iframe {
    min-height: 1200vh !important;
    width: 100%;
  }

  div[data-qa="popup-mode-drawer_right"] {
    min-width: 90%;
  }

  /* knowledge_base
-----------------------------------*/

  .page_builder_wrapper .knowledge_base {
    padding-top: 10vh;
  }

  .page_builder_wrapper .knowledge_base .roles {
    width: calc(50% - 15px);
  }
}

@media (max-width: 550px) {
  /* knowledge_base
  -----------------------------------*/

  .page_builder_wrapper .knowledge_base {
    padding-top: 10vh;
  }

  .page_builder_wrapper .knowledge_base .roles {
    width: calc(100%);
  }

  .page_builder_wrapper .knowledge_base .roles:last-of-type {
    margin-bottom: 0;
  }
}

.single-property .nav,
.single-property .nav-button,
.single-property .footer,
.single-property .sign-up {
  display: block;
}

.single-faqs .nav,
.single-faqs .nav-button,
.single-faqs .footer,
.single-faqs .sign-up {
  display: block;
}

.single-property .image_area div:after {
  display: none;
}

/* LOCATIONS BLOCK
-----------------------------------*/

.copy_area ._locations {
  display: flex;
  margin-top: 3em;
}

.copy_area ._locations .third {
  text-align: center;
  width: 33.333%;
}

.copy_area ._locations .third img {
  width: 40%;
  margin-bottom: 0;
}

.copy_area ._locations .third p {
  margin-bottom: 0;
  opacity: 0.6;
  font-size: 0.9em;
  font-weight: 100;
}

._properties .copy_image .image_area div {
  padding-top: 100%;
}

._properties .copy_image .image_area div::after {
  display: none;
}

/* Text & Text Module
-------------------------------------------------------------------------------*/

.text_text {
  padding: 8vw;
}

.text_text .copy_area {
  padding-top: 8vw;
}

@media (min-width: 800px) {
  .text_text {
    position: relative;
  }

  .text_text .copy_area {
    padding-top: 0vw;
  }

  .text_text::after {
    content: " ";
    position: absolute;
    width: 1px;
    background-color: #323232;
    height: calc(100% - 16vw);
    left: 50%;
    opacity: 0.3;
  }

  .text_text .copy_area:nth-of-type(2) {
    margin-left: 10%;
  }
}

/* Latest Posts Module
-------------------------------------------------------------------------------*/

.copy_image .index-masonry {
  padding-top: 8vw;
}

.copy_image .index-masonry .index-element {
  margin-left: 0;
}

.copy_image .index-masonry .index-element:nth-of-type(2n) {
  margin-left: 30px;
}

@media (min-width: 800px) {
  .copy_image .index-masonry {
    padding-top: 0vw;
  }
  .copy_image .index-masonry .index-element {
    margin-left: 30px;
  }
  .copy_image .index-masonry .index-element:nth-of-type(1) {
    margin-left: 0px;
  }
}

/* Bootstrap Modals
-------------------------------------------------------------------------------*/

.modal-dialog .modal-content {
  border-radius: 0;
  border: none;
}

.modal-dialog .screen-reader-response {
  display: none !important;
}

.modal-dialog .col-5 p {
  font-size: 1rem;
}

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

.modal-dialog .wpcf7-submit {
  width: auto;
  margin-left: auto;
  padding: 1em 2em;
  font-size: 0.8em;
  font-weight: 700;

  color: var(--blue);
}

.modal-dialog input {
  margin-bottom: 0.5em;
  font-size: 1rem;
}

.modal-dialog select {
  padding: 0.5em;
  font-size: 1rem;
  margin-bottom: 0.5em;
  line-height: 1em !important;
  height: 43px;
}

.modal-dialog .label {
  opacity: 0.5;
  margin-bottom: 5px;
  margin-top: 15px;
}

.wpcf7-form-control-wrap .menu-959 {
  position: relative;
}

.wpcf7-form-control-wrap.menu-959:after {
  content: " ";
  background-image: url(/wp-content/themes/LCG_16/assets/vectors/arrow.svg);
  background-size: cover;
  position: absolute;
  height: 12px;
  width: 21px;
  right: 0.75em;
  top: 15px;
  opacity: 0.3;
}

.card {
  border-radius: unset;
  border: none;
  box-shadow: #00000008 0 5px 10px 0;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
}
.card img {
  border-radius: unset;
}
.card .card-body .card-title {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  letter-spacing: 0.2rem;
  color: var(--blue);
  font-size: 0.85rem;
  text-decoration: none !important;
  margin-bottom: 0;
}
.card .card-body .card-text {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  color: #272727;
  font-size: 0.9rem;
}
.card .card-body .card-text .icon img {
  width: 15px;
  height: auto;
  margin-right: 5px;
  margin-bottom: 3px;
}
.card:hover {
  transform: translateY(-5px);
  box-shadow: #00000012 0 5px 10px 0;
}

/* Font Dupes
-------------------------------------------------------------------------------*/

.h1 {
  line-height: 1em !important;
  font-weight: 600;
}

.section-header__title.title h1 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 600;
  font-size: 2.5rem;
  color: white;
}

/* Remove After Pseudo
-------------------------------------------------------------------------------*/

.rm-after::after {
  display: none;
}

/* Backgrounds
-------------------------------------------------------------------------------*/

.bg-grey {
  background-color: #fafafa;
}

/* Calendly
-------------------------------------------------------------------------------*/

.calendly-inline-widget iframe {
  min-height: 500px !important;
}

@media (min-width: 774px) {
  .calendly-inline-widget iframe {
    min-height: 700px !important;
  }
}

.calendly-inline-widget,
.calendly-inline-widget *,
.calendly-badge-widget,
.calendly-badge-widget *,
.calendly-overlay,
.calendly-overlay * {
  font-size: 16px;
  line-height: 1.2em;
}
.calendly-inline-widget iframe,
.calendly-badge-widget iframe,
.calendly-overlay iframe {
  display: inline;
  width: 100%;
  height: 100%;
}
.calendly-popup-content {
  position: relative;
}
.calendly-popup-content.calendly-mobile {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}
.calendly-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 9999;
  background-color: #a5a5a5;
  background-color: rgba(31, 31, 31, 0.4);
}
.calendly-overlay .calendly-close-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.calendly-overlay .calendly-popup {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  width: 80%;
  min-width: 900px;
  max-width: 1000px;
  height: 90%;
  max-height: 680px;
}
@media (max-width: 975px) {
  .calendly-overlay .calendly-popup {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: none;
    transform: none;
    width: 100%;
    height: auto;
    min-width: 0;
    max-height: none;
  }
}
.calendly-overlay .calendly-popup .calendly-popup-content {
  height: 100%;
}
.calendly-overlay .calendly-popup-close {
  position: absolute;
  top: 25px;
  right: 25px;
  color: #fff;
  width: 19px;
  height: 19px;
  cursor: pointer;
  background: url(/assets/external/close-icon.svg) no-repeat;
  background-size: contain;
}
@media (max-width: 975px) {
  .calendly-overlay .calendly-popup-close {
    top: 15px;
    right: 15px;
  }
}
.calendly-badge-widget {
  position: fixed;
  right: 20px;
  bottom: 15px;
  z-index: 9998;
}
.calendly-badge-widget .calendly-badge-content {
  display: table-cell;
  width: auto;
  height: 45px;
  padding: 0 30px;
  border-radius: 25px;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 5px;
  font-family: sans-serif;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  cursor: pointer;
}
.calendly-badge-widget .calendly-badge-content.calendly-white {
  color: #666a73;
}
.calendly-badge-widget .calendly-badge-content span {
  display: block;
  font-size: 12px;
}
.calendly-spinner {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  z-index: -1;
}
.calendly-spinner > div {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #e1e1e1;
  border-radius: 50%;
  vertical-align: middle;
  -webkit-animation: calendly-bouncedelay 1.4s infinite ease-in-out;
  animation: calendly-bouncedelay 1.4s infinite ease-in-out;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.calendly-spinner .calendly-bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.calendly-spinner .calendly-bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
@-webkit-keyframes calendly-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes calendly-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* New Singles
-------------------------------------------------------------------------------*/

.single-team .nav,
.single-team .nav-button,
.single-team .footer,
.single-team .sign-up {
  display: block;
}

.single-ambassadors .nav,
.single-ambassadors .nav-button,
.single-ambassadors .footer,
.single-ambassadors .sign-up {
  display: block;
}

.copy_image h3 {
  color: var(--blue);
  margin-bottom: 1.5rem;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;
}

.title {
  color: var(--blue);
}

.homepage_sections_wrapper .title,
.section-header__title.title,
.sign-up__title {
  color: #fff;
}

.stat-blocks .square-container {
  aspect-ratio: 1;
  background-color: var(--light-teal);
  padding-top: 0;
  text-align: left;
  padding: 2rem;
  display: flex;
  flex-direction: column;
}

.stat-blocks .square-container p:first-of-type {
  font-size: 3rem;
  line-height: 1em !important;
}

.stat-blocks .square-container p:last-of-type {
  margin-top: auto;
}

.stat-blocks .square-container p {
  margin-bottom: 0;
  color: var(--teal);
}

@media (max-width: 768px) {
  .stat-blocks .square-container {
    aspect-ratio: unset;
    background-color: var(--light-teal);
    padding-top: 0;
    text-align: left;
    padding: 2rem;
    display: flex;
    flex-direction: column;
  }
  .stat-blocks .square-container p:first-of-type {
    font-size: 2rem !important;
    margin-bottom: 1rem;
  }
}

.thin-subtitle,
.copy_image h4 {
  font-weight: 300;
  letter-spacing: 1.5px;
  color: #4a4a4a;
  margin-bottom: 25px;
  font-size: 13px;
}

.thin-subtitle {
  font-weight: 300;
  letter-spacing: 1.5px;
  color: #4a4a4a;
}

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

.square-container {
  background-color: white;
  width: 100%;
  padding-top: 100%; /* 1:1 Aspect Ratio */
  position: relative; /* If you want text inside of it */
}

.portrait-container {
  background-color: white;
  width: 100%;
  padding-top: 130%;
  position: relative; /* If you want text inside of it */
}

.raised_amount .middle_text {
  font-size: 2rem;
}

.section-intro {
  text-align: center;
  min-height: unset;
}

.section-intro__copy-con__copy {
  margin: auto;
}

/* Search
-------------------------------------------------------------------------------*/

body.search .from_header {
  display: none;
}

.nav-button_search {
  right: 12vw;
  color: var(--blue) !important;
}

.nav-button_search svg {
  margin-top: -1px;
}

.nav-button_search.nav-button--white {
  color: white !important;
}

@media (min-width: 950px) {
  .nav-button_search svg {
    margin-top: -3px;
  }
  .menu {
    padding-right: 3em;
  }
  .nav-button_search {
    right: 6vh;
  }
}

.footer__span .title {
  color: white;
}

.masthead p {
  text-transform: none;
  font-size: 20px;
  letter-spacing: 0px;
  font-weight: 100;
  color: #fff;
  margin-bottom: 0;
}

.o-50 {
  opacity: 0.5;
}

.green {
  background-color: var(--blue);
  color: white;
}

.green .title {
  color: white;
}

.green a {
  color: white;
}

p {
  font-family: "Poppins", sans-serif;
  color: #272727;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  text-transform: none;
}

h1,
.h1 {
}

h2,
.h2 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
}

h3,
.h3 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
}

.applications-wrapper {
  min-height: calc(100vh - 35px);
  width: 100%;
  background: rgb(233 231 228);
}

.applications-wrapper .container {
  padding: 150px 0;
}

.applications-wrapper .container p {
  margin-bottom: 16px;
}

.applications-wrapper .container ul {
  padding-left: 1rem;
  color: #272727;
}

.applications-wrapper .container ul li {
  list-style-type: disc;
}

.hbspt-form .legal-consent-container .hs-richtext {
  margin-bottom: 16px;
}

.cta-bar .lead-line {
  color: #fff;
  opacity: 0.5;
  margin-bottom: 0;
}

.page_builder_wrapper .slick-slider .slick-dots button {
  content: "";
  font-size: 0;
  background: var(--light-blue);
  border: 0;
  height: 10px;
  width: 10px;
  border-radius: 5px;
  padding: 0;
  opacity: 0.2;
}

.slick-dots li {
  list-style: none;
}

.page_builder_wrapper .slick-slider .slick-dots .slick-active button {
  content: "";
  font-size: 0;
  background: var(--light-blue);
  border: 0;
  height: 10px;
  width: 10px;
  border-radius: 5px;
  padding: 0;
  opacity: 1;
}

.slick-track {
  display: flex;
}
.slick-track .slick-slide {
  display: flex;
  height: auto;
  align-items: left;
  justify-content: center;
  flex-direction: column;
}

.page_builder_wrapper .testimonial-cards {
  overflow: hidden;
}

.page_builder_wrapper .testimonial-cards .slick-track,
.page_builder_wrapper .testimonial-cards .slick-list {
  overflow: visible !important;
}

.page_builder_wrapper .slick-slider .slick-dots li {
  float: left;
  margin: 0px 10px;
}

.page_builder_wrapper .slick-slider .slick-dots {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
  margin-top: 2em;
}

.page_builder_wrapper .slick-slider .slick-arrow {
  display: none !important;
}

.page_builder_wrapper .form .wpcf7 {
  width: 100%;
}

.page_builder_wrapper .form .lead-line {
  color: white;
  opacity: 0.5;
}

.page_builder_wrapper .form .wpcf7 form {
  max-width: unset;
  font-size: 1.2em;
}

.page_builder_wrapper .form .wpcf7 input,
.page_builder_wrapper .form .wpcf7 select {
  margin-bottom: 1em;
  height: 40px;
  font-size: 0.9em;
  -webkit-appearance: none;
}

.page_builder_wrapper .form .wpcf7 select {
  background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+)
    no-repeat 95% 50%;
  background-color: white;
}

.page_builder_wrapper .wpcf7-response-output {
  color: #fff;
  background: none;
  font-size: 0.5em;
}

.page_builder_wrapper .form .wpcf7 .wpcf7-submit {
  font-weight: 700;

  font-size: 0.65em;
}

.page_builder_wrapper .wpcf7-response-output::after,
.page_builder_wrapper .wpcf7-response-output::before {
  display: none;
}

.page_builder_wrapper .sent:after {
  display: none;
}

.page_builder_wrapper .sent .wpcf7-response-output {
  position: unset;
  animation: none;
  top: unset;
  left: unset;
  width: unset;
  height: unset;
  opacity: 1;
  transform: none;
}

.page_builder_wrapper .process .divider-line {
  position: relative;
}

.page_builder_wrapper .process .divider-line hr {
  margin: 3em 0;
}

.page_builder_wrapper .process .divider-line .end {
  width: 1px;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #ccc;
}

.page_builder_wrapper .process .divider-line .start {
  width: 1px;
  height: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: #ccc;
}

.page_builder_wrapper .masthead.shadow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0.5;
  background-color: #121729;
}

/* Pagination (Bootstrap Overrides) */

.pagination {
  justify-content: center;
  margin-top: 5em;
}

@media (max-width: 600px) {
  p,
  input,
  select {
    font-size: 15px !important;
  }
}

.page_builder_wrapper ul {
  list-style: disc;
}

.page_builder_wrapper ul li {
  margin-bottom: 0.5em;
}

.page_builder_wrapper .grayscale {
  filter: grayscale(100%);
}

@media (min-width: 950px) {
  .menu {
    padding-left: 6em;
  }
}

@media (min-width: 1150px) {
  .menu {
    padding-left: 3em;
  }
}

.category-bar {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
}

.error404 main.content-wrapper {
  display: flex;
  min-height: 60vh;
  justify-content: center;
  align-items: center;
}

.error404 main .mamaBear {
  display: none;
}

.wpcf7-not-valid {
  border: 3px solid rgba(254, 0, 0, 0.8) !important;
}

.wpcf7 .col-md-6 {
  flex: 0 0 calc(50% + 15px);
  max-width: calc(50% + 15px);
}

button.nav-button {
  top: 35px;
}

.top-bar--section {
  background: var(--blue);
  color: #fff;
  top: 0;
  z-index: 9999;
}

.top-bar--section p {
  line-height: 1em;
  margin: 0;
  color: #fff;
}

.top-bar--section a {
  display: flex;
  font-size: 0.8125em;
}

.top-bar--section .row {
  height: 35px;
}

.top-bar--section .bold {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 700;

  font-size: 0.8em;
  opacity: 0.5;
}

.top-bar--section p {
  display: flex;
  align-items: center;
}

.top-bar--section p svg {
  height: 15px;
  line-height: 1em !important;
  margin-right: 0.5em;
  margin-top: 0px;
}

.top-bar--section .container {
  max-width: unset;
  padding: 0 3vh;
}

/* Singles
-------------------------------------------------------------------------------*/

.img-wrapper-4-5 {
  width: 100%;
  padding-top: 65%;
  position: relative;
  overflow: hidden;
  margin-top: -4vw;
}

.img-wrapper-4-5 img {
  position: absolute;
  top: -50%;
  left: 0;
}

.single-intro {
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.single-intro .section-intro__copy-con__copy {
  display: flex;
  flex-direction: column;
}

.single-intro .section-intro__copy-con__copy .sharing-links {
  margin-left: 0rem;
  background-color: #f2f4f6;
  padding: 1rem;
  height: fit-content;
  display: flex;
  margin-top: 2rem;
}

.single-intro .section-intro__copy-con__copy .sharing-links a {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 0rem;
  margin-left: 1rem;
}

.single-intro .section-intro__copy-con__copy .sharing-links a:first-of-type {
  margin-top: 0rem;
  margin-left: 0rem;
}

@media (min-width: 756px) {
  .single-intro .section-intro__copy-con__copy {
    flex-direction: row;
  }
  .single-intro .section-intro__copy-con__copy .sharing-links {
    margin-left: 4rem;
    background-color: #f2f4f6;
    padding: 1rem;
    height: fit-content;
    flex-direction: column;
    margin-top: 0;
  }
  .single-intro .section-intro__copy-con__copy .sharing-links a {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1rem;
    margin-left: 0;
  }
}

.single-intro .section-intro__copy-con__copy .sharing-links svg {
  width: 20px;
  height: 20px;
  stroke-width: 1px;
}

.featured-image .section-intro__copy-con__copy {
  max-width: 800px;
}

.single-content .section-intro__copy-con__copy {
  max-width: 700px;
}

.single-content img {
  height: auto;
}

.single-content {
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.single-content h2,
.single-content h3,
.single-content h4 {
  margin-bottom: 18px !important;
}

.single-content h4 {
  font-size: 18px;
}

@media (max-width: 768px) {
  .home-masthead .section-header__title {
    width: 100%;
  }

  .home-masthead .section-header__title .dual-buttons a {
    white-space: break-spaces;
  }
}

.filter-to-blue {
  filter: brightness(0) saturate(100%) invert(16%) sepia(12%) saturate(2743%)
    hue-rotate(189deg) brightness(94%) contrast(95%);
}

.guardian-testimonials .sub-title {
  font-weight: 700;
  letter-spacing: 2px;
  font-size: 14px;
}

.guardian-testimonials .h3 {
  font-size: 20px;
}

.guardian-testimonials .guardian-testimonials-card {
  position: relative;
}

.guardian-testimonials .guardian-testimonials-card::before {
  content: "";
  position: absolute;
  right: -25px;
  bottom: 100px;
  background-image: url("/wp-content/themes/LOWE-23/assets/vectors/speach-close.svg");
  height: 32px;
  width: 52px;
  background-size: cover;
  background-repeat: no-repeat;
}

.guardian-testimonials .guardian-testimonials-card::after {
  content: "";
  position: absolute;
  left: -25px;
  top: 25px;
  background-image: url("/wp-content/themes/LOWE-23/assets/vectors/speach-open.svg");
  height: 32px;
  width: 52px;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Viewing Modal */

#viewingModal .modal-content {
  position: relative;
}

#viewingModal .modal-content .close {
  position: absolute;
  right: 18px;
  top: 18px;
  background-image: url("/wp-content/themes/LOWE-23/assets/images/close.png");
  height: 45px;
  width: 45px;
  background-size: cover;
  z-index: 100;
  opacity: 1;
}

#viewingModal .options {
  position: relative;
}

@media (max-width: 768px) {
  #viewingModal .options .col-12:first-of-type {
    position: relative;
    padding-bottom: 48px;
    border-bottom: 1px solid #ccc;
    opacity: 0.8;
  }
}

@media (min-width: 768px) {
  #viewingModal .options:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    border-left: 1px solid #ccc;
    opacity: 0.8;
  }
}

/* Room Card */

#rooms .rooms-header {
  padding-bottom: 8px;
  border-bottom: 1px solid #cccccc80;
}

#rooms .rooms-header span {
  color: #01376c;
}

.room-card {
  text-align: left;
}

.room-card .image {
  height: 250px;
  width: 100%;
  background-size: cover;
  background-position: 50%;
}

.room-card .card-body {
  background: #fff;
  padding: 32px;
}

.room-card .card-body .title:not(.cta) {
  margin-bottom: 32px;
  font-size: 22px;
}

.room-card .card-body ul {
  list-style: none;
  border-top: 1px solid #cccccc80;
}

.room-card .card-body ul li {
  border-bottom: 1px solid #cccccc80;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 100%;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #808080;
}

.room-card .card-body ul li span {
  margin-left: auto;
  text-transform: none;
  letter-spacing: unset;
  color: #01376c;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
  font-weight: 600;
}

/* Journal Single */

.single ul,
.single ol {
  font-size: 1em;
}

.single ul:not(.menu) li,
.single ol li {
  font-weight: 400;
  color: #272727;
  font-family: "Poppins";
  margin-bottom: 16px;
}

.category-bar .category-dropdown {
  position: relative;
  cursor: pointer;
}
.category-bar .category-dropdown select {
  margin-bottom: 0;
  background-color: white;
  padding: 6px 30px 6px 14px; /* Increase right padding */
  border: 2px solid #efefef;
  font-size: 16px;
  appearance: none; /* Remove default select dropdown */
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans",
    "freesans", sans-serif;
}

.category-bar .category-dropdown::after {
  content: "\2193"; /* Add custom dropdown */
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none; /* Make it non-interactive */
}

.category-bar .category-dropdown:hover .sub-menu {
  display: block;
  z-index: 100;
}

.category-bar .search-bar form {
  display: flex;
  align-items: center;
  justify-content: center;
}

.category-bar .search-bar form input {
  border: 2px solid #efefef;
  padding: 6px 30px 6px 14px; /* Increase right padding */
  font-size: 16px;
  appearance: none; /* Remove default select dropdown */
  margin-right: 8px;
  height: 41px;
}

.category-bar .search-bar form button {
  appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  height: 41px;
  padding: 0 1.8em;
}

@media (max-width: 768px) {
  .category-bar .category-dropdown,
  .category-bar .category-dropdown select {
    width: 100%;
  }
  .category-bar .search-bar {
    width: 100%;
  }
  .category-bar .search-bar form button {
    padding: 1.3em 2.5em;
    width: auto;
  }
}

/* Gallery Added */
.gallery .gallery-image-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 75%; /* 4:3 aspect ratio */
  overflow: hidden;
}
.gallery .gallery-image-wrapper img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
.featherlight .featherlight-content {
  padding: 0px;
  border-bottom: none;
  max-height: 70%;
  color: #2f4738;
}
.featherlight-next,
.featherlight-previous {
  background: white;
  height: 50px;
  width: 50px;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: inset 0px 0px 0px 3px #e9eaed;
}
.featherlight-next {
  left: unset;
  color: #212b4d;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5"><path fill-rule="evenodd" d="M3 10a.75.75 0 0 1 .75-.75h10.638L10.23 5.29a.75.75 0 1 1 1.04-1.08l5.5 5.25a.75.75 0 0 1 0 1.08l-5.5 5.25a.75.75 0 1 1-1.04-1.08l4.158-3.96H3.75A.75.75 0 0 1 3 10Z" clip-rule="evenodd" /></svg>'); /* Replace with your SVG content */
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}
.featherlight-next:hover {
  background: white;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5"><path fill-rule="evenodd" d="M3 10a.75.75 0 0 1 .75-.75h10.638L10.23 5.29a.75.75 0 1 1 1.04-1.08l5.5 5.25a.75.75 0 0 1 0 1.08l-5.5 5.25a.75.75 0 1 1-1.04-1.08l4.158-3.96H3.75A.75.75 0 0 1 3 10Z" clip-rule="evenodd" /></svg>'); /* Replace with your SVG content */
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}
.featherlight-previous {
  right: unset;
  color: #212b4d;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5"><path fill-rule="evenodd" d="M17 10a.75.75 0 0 1-.75.75H5.612l4.158 3.96a.75.75 0 1 1-1.04 1.08l-5.5-5.25a.75.75 0 0 1 0-1.08l5.5-5.25a.75.75 0 1 1 1.04 1.08L5.612 9.25H16.25A.75.75 0 0 1 17 10Z" clip-rule="evenodd" /></svg>'); /* Replace with your SVG content */
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}
.featherlight-previous:hover {
  background: white;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5"><path fill-rule="evenodd" d="M17 10a.75.75 0 0 1-.75.75H5.612l4.158 3.96a.75.75 0 1 1-1.04 1.08l-5.5-5.25a.75.75 0 0 1 0-1.08l5.5-5.25a.75.75 0 1 1 1.04 1.08L5.612 9.25H16.25A.75.75 0 0 1 17 10Z" clip-rule="evenodd" /></svg>'); /* Replace with your SVG content */
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}
.featherlight-previous {
  right: unset;
}
.featherlight-next span,
.featherlight-previous span {
  display: none !important;
}


/* .home .nav {
  opacity: 0;
  visibility: hidden;
}

.home .nav--open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.home .nav-button--white {
  color: white !important;
}

.home .nav-button--white span {
  background-color: white;
}

.home .nav-button--close span {
  background-color: var(--blue);
}

.home .nav-button--close span {
  transform: none;
} */


.home #navWrapper {
  margin-top: 0!important;
}

.home button.nav-button {
  top: 0;
}

.home .nav-button_search {
  top: 2px
}

.home .nav--open {
  top: 0px;
}

.home .nav__logo-con {
  top: 30px;
}

.home .menu--top {
  top: 0;
}

@media (min-width: 950px) {
  .home .menu--top #nav {
      top: 0px;
  }
}

.home {
  max-height: 100dvh;
  overflow: hidden;
  position: relative;

  .logo-con__logo {
    filter: none;
  }
}


.faq {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 0.5rem;
  padding: 0.5rem 0;
}
.faq__question {
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  user-select: none;
  text-align: left;
  padding: 1rem 0;
}
.faq__question h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.faq__question::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: #888;
  transition: transform 0.3s;
}
.faq.open .faq__question::after {
  content: '–';
  transform: translateY(-50%) rotate(180deg);
}
.faq__answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s;
  will-change: max-height, opacity;
  margin: 0;
  text-align: left;
  .faq__answer__wrapper {
    padding: 1rem 0 2rem 0;
    > *:last-child {
        margin-bottom: 0;
    }
  }
}
.faq.open .faq__answer {
  opacity: 1;
  margin-top: 0.5rem;
}

@media (max-width: 768px) {
  .page_builder_wrapper {
  .specifications {
    padding-bottom: 0;
    margin-bottom: 2.5rem;
    .image_area {
      margin-bottom: 0;
    }
  }
}
}

/* And here begins the WordPress fun.
-------------------------------------------------------------------------------*/

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