/*!
Theme Name: Gopak
Theme URI: https://www.gopak.co.uk/
Author: Underdog Design
Author URI: https://www.underdogdesign.co.uk
Tags: light, responsive-layout
Description: A bespoke theme designed and developed for Gopak Ltd based on the Underdog Boilerplate.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gopak
Domain Path: /languages/

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

underdog Boilerplate is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.

Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
and Blueprint http://www.blueprintcss.org/

Do not remove the below styles. Needed to pass the 'theme check'.*/
.sticky,
.gallery-caption,
.bypostauthor {
  text-align: left;
}

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS
----------------------------------------------------------------
1.0 - Global
2.0 - Modules
3.0 - Theme
4.0 - Packages
--------------------------------------------------------------*/
/*--------------------------------------------------------------
1.0 Global
--------------------------------------------------------------*/
/* Mixins */
/* Global Styles */
:root {
  --bgcol: "";
  --bgimg: "";
}

/* Reset */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  overflow-y: scroll;
  box-sizing: border-box;
  height: 100%;
  font-size: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

.js-loading *,
.js-loading *:before,
.js-loading *:after {
  animation-play-state: paused !important;
}

body {
  height: 100%;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  line-height: 1.5;
  color: #444444;
  background: #ffffff;
}
@media only screen and (min-width: 768px) {
  body {
    font-size: 0.875rem;
    line-height: 1.7;
  }
}

img {
  display: block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  border: 0;
  -ms-interpolation-mode: bicubic;
}

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

ol,
ul {
  list-style: none;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

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

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

/* Clearings */
.wrapper:before, .wrapper:after,
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.wrapper:before, .wrapper:after,
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.clearfix:before,
.clearfix:after {
  clear: both;
}

/* Content */
.byline,
.updated {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.entry-content ul {
  font-weight: 500;
  margin-bottom: 22px;
}
.entry-content ul li {
  list-style: disc;
  margin-bottom: 5.5px;
}
.entry-content ul li:last-child {
  margin-bottom: 0;
}
.entry-content ol {
  margin: 0;
  font-weight: 500;
  padding-bottom: 11px;
}
.entry-content ol li {
  list-style: auto;
  padding-left: 11px;
  margin-left: 11px;
  margin-bottom: 11px;
}

/* Asides */
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}

/* Comments */
.comment-content a {
  word-wrap: break-word;
}

/* Media */
.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
  max-width: 100%;
}

/* Screen Reader Text */
.srt,
.screen-reader-text {
  position: absolute !important;
  left: -999em;
}

/* Alignment */
.alignleft {
  float: left;
}

.alignright {
  float: right;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

blockquote.alignleft,
figure.wp-caption.alignleft,
img.alignleft {
  margin: 7px 36px 7px 0;
}

.wp-caption.alignleft {
  margin: 7px 14px 7px 0;
}

blockquote.alignright,
figure.wp-caption.alignright,
img.alignright {
  margin: 7px 0 7px 36px;
}

.wp-caption.alignright {
  margin: 7px 0 7px 14px;
}

blockquote.aligncenter,
img.aligncenter,
.wp-caption.aligncenter {
  margin-top: 7px;
  margin-bottom: 7px;
}

.site-content blockquote.alignleft,
.site-content blockquote.alignright {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 17px;
  width: 50%;
}

.site-content blockquote.alignleft p,
.site-content blockquote.alignright p {
  margin-bottom: 17px;
}

.wp-caption {
  margin-bottom: 24px;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0;
}

.wp-caption {
  color: #767676;
}

.wp-caption-text {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
  margin: 9px 0;
}

div.wp-caption .wp-caption-text {
  padding-right: 10px;
}

div.wp-caption.alignright img[class*=wp-image-],
div.wp-caption.alignright .wp-caption-text {
  padding-left: 10px;
  padding-right: 0;
}

.wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/*  Captions */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0 auto;
}

.wp-caption-text {
  text-align: center;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

/* Forms */
input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
  color: currentColor;
}

/* Firefox 19+ */
input:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder {
  color: currentColor;
}

/* Firefox 18- */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: currentColor;
}

/* IE */
input::-webkit-input-placeholder,
select::-webkit-input-placeholder {
  color: currentColor;
}

textarea::-webkit-input-placeholder {
  color: currentColor;
}

/* Forms */
button,
input,
select,
textarea {
  font-size: 14px;
  margin: 0;
  vertical-align: baseline;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  line-height: inherit;
}

select {
  border: 0;
  height: 52px;
  border-radius: 5px;
  padding: 0 11px;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
  padding: 5px 22px;
  outline: none;
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
}

input[type=search] {
  -webkit-appearance: textfield;
  /*-webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;*/
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=password],
input[type=search],
textarea {
  color: #444444;
  border: 1px solid #a3a3a3;
  background: #ffffff;
  border-radius: 6px;
  width: 100%;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
textarea:focus {
  color: #444444;
  outline: 0;
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=password],
input[type=search] {
  padding: 0 11px;
  height: 46px;
}

textarea {
  overflow: auto;
  padding: 11px;
  vertical-align: top;
  width: 100%;
}

input[type=file] {
  max-width: 100%;
}

/* Widget */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

.widget_search .search-submit {
  display: none;
}

a {
  color: #071e62;
  text-decoration: none;
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
}
a:hover, a:focus, a:active {
  outline: 0;
  text-decoration: none;
}

p {
  margin-bottom: 1.71875rem;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  p {
    font-size: 12px;
    line-height: 1.7;
  }
}
@media screen and (min-width: 1024px) {
  p {
    font-size: 14px;
    line-height: 1.6;
  }
}

.p-small {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 11px;
}

h1,
.h1 {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 28px;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 1.375rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  h1,
.h1 {
    font-size: 40px;
    line-height: 1;
  }
}

h2,
.h2 {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 500;
  margin-bottom: 1.03125rem;
}
@media screen and (min-width: 768px) {
  h2,
.h2 {
    font-size: 26px;
    line-height: 1.1;
  }
}

h3,
.h3 {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 0.6875rem;
}
@media screen and (min-width: 768px) {
  h3,
.h3 {
    font-size: 20px;
    line-height: 1.3;
  }
}

h4,
.h4 {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 0.6875rem;
}

h5,
.h5 {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 12px;
  line-height: 1.5;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0.6875rem;
}

ul,
ol {
  margin-bottom: 1.375rem;
  margin-left: 22px;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin: 0 1.375rem;
}

b,
strong {
  font-weight: bold;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

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

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

small {
  font-size: 75%;
}

big {
  font-size: 125%;
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2014 Daniel Eden
*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRightVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3%, 0, 0);
    transform: translate3d(3%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3%, 0, 0);
    transform: translate3d(3%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInRightSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInUpSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes welcomeIntro {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0) rotate(90deg);
    transform: translate3d(0, 10%, 0) rotate(90deg);
  }
  100% {
    opacity: 0.6;
    -webkit-transform: translate3d(0, 0, 0) rotate(90deg);
    transform: translate3d(0, 0, 0) rotate(90deg);
  }
}
@-webkit-keyframes fadeInUpVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpSmall {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
}
@keyframes fadeOutUpSmall {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
}
@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@keyframes sliderOval1 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10%, 5%, 0) scale(0.95) rotate(0deg);
    transform: translate3d(10%, 5%, 0) scale(0.95) rotate(0deg);
  }
  100% {
    opacity: 0.9;
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(16deg);
    transform: translate3d(0, 0, 0) scale(1) rotate(16deg);
  }
}
@keyframes sliderOval2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-5%, -5%, 0) scale(0.95) rotate(0deg);
    transform: translate3d(-5%, -5%, 0) scale(0.95) rotate(0deg);
  }
  100% {
    opacity: 0.2;
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(16deg);
    transform: transtranslate3d(0, 0, 0) scale(1) rotate(16deg);
  }
}
/*--------------------------------------------------------------
2.0 Theme
--------------------------------------------------------------*/
.wrap {
  max-width: 1256px;
  margin: 0 auto;
  padding: 0 22px;
  width: 100%;
}
.wrap--narrow {
  max-width: 720px;
  padding: 0 22px;
}
.wrap--products-loop {
  display: grid;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 1024px) {
  .wrap--products-loop.wrap--has-sidebar {
    grid-template-columns: 270px 1fr;
    gap: 44px;
  }
}
@media only screen and (min-width: 1600px) {
  .wrap {
    max-width: 1440px;
  }
  .wrap--narrow {
    max-width: 850px;
  }
}

.site-main {
  position: relative;
  z-index: 2;
}

section {
  padding: 22px 0;
  position: relative;
}
section:first-of-type {
  z-index: 2;
}
body.home section:first-of-type {
  padding-bottom: 0;
}
@media only screen and (min-width: 1024px) {
  section {
    padding: 44px 0;
  }
}

/* Helper styles */
.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center;
}

.align-justify {
  text-align: justify;
}

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

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

.clearfix {
  *zoom: 1;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.valign--top {
  align-items: flex-start;
}
.valign--middle {
  align-items: center;
}
.valign--bottom {
  align-items: flex-end;
}

.c--none {
  color: "none" !important;
}

.c--white {
  color: #ffffff !important;
}

.c--black {
  color: #252531 !important;
}

.c--arctic {
  color: #d9e2e7 !important;
}

.c--dblue {
  color: #071e62 !important;
}

.c--mgrey {
  color: #dddddd !important;
}

.c--grey {
  color: #676767 !important;
}

.c--lgrey {
  color: #a3a3a3 !important;
}

.c--xlgrey {
  color: #f6f6f6 !important;
}

.c--green {
  color: #659525 !important;
}

.c--red {
  color: #fc0002 !important;
}

.bg--none {
  background-color: "none";
}
.bg--white {
  background-color: #ffffff;
  color: #444444;
}
.bg--white h1,
.bg--white .h1,
.bg--white h2,
.bg--white .h2,
.bg--white h3,
.bg--white .h3 {
  color: #071e62;
}
.bg--white .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}
.bg--black {
  background-color: #252531;
  color: #fff;
}
.bg--black a:not([class*=button]) {
  color: #071e62;
}
.bg--black h1,
.bg--black .h1,
.bg--black h2,
.bg--black .h2 {
  color: #fff;
}
.bg--black .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--arctic {
  background-color: #d9e2e7;
  color: #444444;
}
.bg--arctic h1,
.bg--arctic .h1,
.bg--arctic h2,
.bg--arctic .h2,
.bg--arctic h3,
.bg--arctic .h3 {
  color: #071e62;
}
.bg--arctic .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}
.bg--dblue {
  background-color: #071e62;
  color: #fff;
}
.bg--dblue a:not([class*=button]) {
  color: #071e62;
}
.bg--dblue h1,
.bg--dblue .h1,
.bg--dblue h2,
.bg--dblue .h2 {
  color: #fff;
}
.bg--dblue .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--mgrey {
  background-color: #dddddd;
  color: #fff;
}
.bg--mgrey a:not([class*=button]) {
  color: #071e62;
}
.bg--mgrey h1,
.bg--mgrey .h1,
.bg--mgrey h2,
.bg--mgrey .h2 {
  color: #fff;
}
.bg--mgrey .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--grey {
  background-color: #676767;
  color: #fff;
}
.bg--grey a:not([class*=button]) {
  color: #071e62;
}
.bg--grey h1,
.bg--grey .h1,
.bg--grey h2,
.bg--grey .h2 {
  color: #fff;
}
.bg--grey .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--lgrey {
  background-color: #a3a3a3;
  color: #444444;
}
.bg--lgrey h1,
.bg--lgrey .h1,
.bg--lgrey h2,
.bg--lgrey .h2,
.bg--lgrey h3,
.bg--lgrey .h3 {
  color: #071e62;
}
.bg--lgrey .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}
.bg--xlgrey {
  background-color: #f6f6f6;
  color: #444444;
}
.bg--xlgrey h1,
.bg--xlgrey .h1,
.bg--xlgrey h2,
.bg--xlgrey .h2,
.bg--xlgrey h3,
.bg--xlgrey .h3 {
  color: #071e62;
}
.bg--xlgrey .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}
.bg--green {
  background-color: #659525;
  color: #fff;
}
.bg--green a:not([class*=button]) {
  color: #071e62;
}
.bg--green h1,
.bg--green .h1,
.bg--green h2,
.bg--green .h2 {
  color: #fff;
}
.bg--green .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--red {
  background-color: #fc0002;
  color: #fff;
}
.bg--red a:not([class*=button]) {
  color: #071e62;
}
.bg--red h1,
.bg--red .h1,
.bg--red h2,
.bg--red .h2 {
  color: #fff;
}
.bg--red .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--gradient-black-mblue {
  background-image: linear-gradient(0, #314a92 0%, #0f181c 100%);
  color: #fff;
}
.bg--gradient-black-mblue .preheading {
  color: #f2f2f2;
}
.bg--gradient-black-mblue a:not([class*=button]) {
  color: #fff;
  text-decoration: underline;
}
.bg--gradient-black-mblue .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--gradient-dblue-black {
  background-image: linear-gradient(0, #0f181c 0%, #223670 100%);
  color: #fff;
}
.bg--gradient-dblue-black .preheading {
  color: #f2f2f2;
}
.bg--gradient-dblue-black a:not([class*=button]) {
  color: #fff;
  text-decoration: underline;
}
.bg--gradient-dblue-black .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--gradient-black {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
  color: #fff;
}
.bg--gradient-black .preheading {
  color: #f2f2f2;
}
.bg--gradient-black a:not([class*=button]) {
  color: #fff;
  text-decoration: underline;
}
.bg--gradient-black .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick.svg");
}
.bg--gradient-arctic {
  background-image: linear-gradient(0, #d9e2e7 0%, #ffffff 100%);
  color: #444444;
}
.bg--gradient-arctic h1,
.bg--gradient-arctic .h1,
.bg--gradient-arctic h2,
.bg--gradient-arctic .h2 {
  color: #071e62;
}
.bg--gradient-arctic .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}
.bg--gradient-arctic-reverse {
  background-image: linear-gradient(0, #ffffff 0%, #d9e2e7 100%);
  color: #444444;
}
.bg--gradient-arctic-reverse h1,
.bg--gradient-arctic-reverse .h1,
.bg--gradient-arctic-reverse h2,
.bg--gradient-arctic-reverse .h2 {
  color: #071e62;
}
.bg--gradient-arctic-reverse .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}

.has-bg-img {
  color: #fff;
}

.f--none {
  fill: "none";
}

.f--white {
  fill: #ffffff;
}

.f--black {
  fill: #252531;
}

.f--arctic {
  fill: #d9e2e7;
}

.f--dblue {
  fill: #071e62;
}

.f--mgrey {
  fill: #dddddd;
}

.f--grey {
  fill: #676767;
}

.f--lgrey {
  fill: #a3a3a3;
}

.f--xlgrey {
  fill: #f6f6f6;
}

.f--green {
  fill: #659525;
}

.f--red {
  fill: #fc0002;
}

.gradient-black-mblue {
  background-image: linear-gradient(0, #314a92 0%, #0f181c 100%);
}

.gradient-dblue-black {
  background-image: linear-gradient(0, #0f181c 0%, #223670 100%);
}

.gradient-black {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
}

.gradient-arctic {
  background-image: linear-gradient(0, #d9e2e7 0%, #ffffff 100%);
}

.gradient-arctic-reverse {
  background-image: linear-gradient(0, #ffffff 0%, #d9e2e7 100%);
}

.ff2 {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
}

.mb {
  margin-bottom: 22px !important;
}

.mb-none {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .mb-none--resp {
    margin-bottom: calc(0 !important / 2);
  }
}
.mb-half {
  margin-bottom: 11px;
}
@media screen and (max-width: 767px) {
  .mb-half--resp {
    margin-bottom: calc(11px / 2);
  }
}
.mb-qtr {
  margin-bottom: 5.5px;
}
@media screen and (max-width: 767px) {
  .mb-qtr--resp {
    margin-bottom: calc(5.5px / 2);
  }
}
.mb-2x {
  margin-bottom: 44px;
}
@media screen and (max-width: 767px) {
  .mb-2x--resp {
    margin-bottom: calc(44px / 2);
  }
}
.mb-3x {
  margin-bottom: 66px;
}
@media screen and (max-width: 767px) {
  .mb-3x--resp {
    margin-bottom: calc(66px / 2);
  }
}
.mb-4x {
  margin-bottom: 88px;
}
@media screen and (max-width: 767px) {
  .mb-4x--resp {
    margin-bottom: calc(88px / 2);
  }
}

.mt-half {
  margin-top: 11px !important;
}

.mt {
  margin-top: 22px !important;
}

.mt-2x {
  margin-top: 44px !important;
}

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

.p-all {
  padding: 22px !important;
}

.p-half {
  padding: 11px !important;
}

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

.pt-half {
  padding-top: 11px !important;
}

.pt {
  padding-top: 22px !important;
}

.pt-2x {
  padding-top: 44px !important;
}

.pt-4x {
  padding-top: 88px !important;
}

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

.pb-half {
  padding-bottom: 11px !important;
}

.pb-half {
  padding-bottom: 11px !important;
}

.pb {
  padding-bottom: 22px !important;
}

.pb-2x {
  padding-bottom: 44px !important;
}

.pb-4x {
  padding-bottom: 88px !important;
}

.pl {
  padding-left: 22px !important;
}

.pl-2x {
  padding-left: 44px !important;
}

.pl-4x {
  padding-left: 88px !important;
}

.pr {
  padding-right: 22px !important;
}

.pr-2x {
  padding-right: 44px !important;
}

.pr-4x {
  padding-right: 88px !important;
}

.mob-only {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .mob-only {
    display: block;
  }
}
@media only screen and (max-width: 1023px) {
  .mob-only--flex {
    display: flex;
  }
}

@media only screen and (max-width: 1023px) {
  .dt-only {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .to-tab {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .from-tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .from-tab {
    display: block !important;
  }
}

.db {
  display: block;
}

.dib {
  display: inline-block;
}

.df {
  display: flex;
}
.df > * {
  flex: 1;
}
.df--col {
  flex-direction: column;
}

.gap {
  gap: 22px;
}

.has-icon {
  display: flex;
  gap: 5.5px;
  align-items: center;
}
.has-icon svg {
  fill: currentColor;
}

.lh--normal {
  line-height: normal;
}

.tt-upper {
  text-transform: uppercase;
}

.tt-normal {
  text-transform: none;
}

.overflow-h {
  overflow: hidden;
}

@media only screen and (max-width: 598px) {
  .order-1 {
    order: 1;
  }
}
@media only screen and (min-width: 599px) {
  .order-1-sm {
    order: 1;
  }
}

@media only screen and (max-width: 598px) {
  .order-2 {
    order: 2;
  }
}
@media only screen and (min-width: 599px) {
  .order-2-sm {
    order: 2;
  }
}

.posr {
  position: relative;
}

.image-as-bg {
  object-fit: cover;
  object-position: right;
  width: 100%;
  height: 100%;
}
.image-as-bg--half {
  width: 50%;
}

.image-contain {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.section-background {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

.has-divider {
  position: relative;
}
.has-divider:before {
  width: 80%;
  max-width: 700px;
  height: 3px;
  content: "";
  display: block;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.has-divider.bg--white::before {
  background-color: #071e62;
}
.has-divider.bg--black::before {
  background-color: #fff;
}
.has-divider.bg--arctic::before {
  background-color: #071e62;
}
.has-divider.bg--dblue::before {
  background-color: #fff;
}
.has-divider.bg--mgrey::before {
  background-color: #fff;
}
.has-divider.bg--grey::before {
  background-color: #fff;
}
.has-divider.bg--lgrey::before {
  background-color: #071e62;
}
.has-divider.bg--xlgrey::before {
  background-color: #071e62;
}
.has-divider.bg--green::before {
  background-color: #fff;
}
.has-divider.bg--red::before {
  background-color: #fff;
}
.has-divider.bg--none:before {
  background-color: #071e62;
}

.button-set {
  display: flex;
  gap: 11px;
  flex-direction: column;
}
@media only screen and (min-width: 599px) {
  .button-set {
    flex-direction: row;
  }
}

.tick-list {
  margin: 0;
}
.tick-list li {
  list-style: none !important;
  position: relative;
  padding-left: 22px;
  margin-bottom: 11px;
}
.tick-list li:before {
  content: "";
  width: 22px;
  height: 22px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 4px;
  left: 0;
}
.dropdown-list__item .tick-list li:before {
  background-image: url("./dist/img/svg/oval-tick-mblue.svg");
}

.cross-list {
  margin: 0;
}
.cross-list li {
  list-style: none !important;
  position: relative;
  padding-left: 22px;
  margin-bottom: 11px;
}
.cross-list li:before {
  content: "";
  width: 22px;
  height: 22px;
  background-size: contain;
  background-image: url("./dist/img/svg/oval-cross.svg");
  background-repeat: no-repeat;
  position: absolute;
  top: 4px;
  left: 0;
}

.grid {
  display: grid;
  gap: 22px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 768px) {
  .grid--2col {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid--3col {
    grid-template-columns: repeat(3, 1fr);
  }
}

/*--------------------------------------------------------------
3.0 Modules
--------------------------------------------------------------*/
.main-navigation {
  display: flex;
  transition: 0.3s background-color;
  align-items: center;
}
.home .main-navigation {
  background-color: transparent;
}
@media only screen and (max-width: 1023px) {
  .main-navigation {
    display: none;
  }
}
.main-navigation > div {
  display: flex;
}
@media only screen and (min-width: 1024px) {
  .main-navigation > div > ul > li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5.5px;
  }
  .main-navigation > div > ul > li:last-child {
    display: none;
  }
  .main-navigation > div > ul > li.has-columns {
    position: static;
  }
  .main-navigation > div > ul > li.menu-item-has-children > .main-navigation__submenu-toggle {
    display: flex;
    transition: transform 0.2s;
  }
  .is-fixed .main-navigation > div > ul > li.menu-item-has-children > .main-navigation__submenu-toggle {
    transform: translateY(12px);
  }
  .main-navigation > div > ul > li > a:not([class^=button]) {
    font-weight: 500;
    font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
    text-transform: uppercase;
    display: block;
    white-space: nowrap;
    transition: color 0.2s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
    position: relative;
    text-align: center;
    font-size: 13px;
    line-height: 1;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1400px) {
  .main-navigation > div > ul > li > a:not([class^=button]) {
    font-size: 15px;
    line-height: 1;
  }
}
@media only screen and (min-width: 1024px) {
  .main-navigation > div > ul > li > a:not([class^=button]):before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translate(-50%) scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition: transform 0.3s 0.1s, opacity 0.3s;
    background-color: #071e62;
    width: 100%;
    border-radius: 10px;
    height: 2px;
    line-height: 1;
  }
}
@media only screen and (min-width: 1024px) {
  .home.nav-fixed .main-navigation > div > ul > li > a:not([class^=button]) {
    color: #444444;
  }
}
@media only screen and (min-width: 1024px) {
  .is-fixed .main-navigation > div > ul > li > a:not([class^=button]) {
    transform: translateY(12px);
  }
}
@media only screen and (min-width: 1024px) {
  .main-navigation > div > ul > li:hover .mega-menu-panel {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
  }
  .main-navigation > div > ul > li:hover .mega-menu-panel__inner {
    transform: none;
    transition-delay: 0s;
  }
  .main-navigation > div > ul > li:hover .mega-menu-panel:before {
    transform: scaleY(1);
    opacity: 1;
    transition-delay: 0s;
  }
  .main-navigation > div > ul > li:hover > a:not([class^=pm-button]) {
    transition-delay: 0s;
    color: #071e62;
  }
  .main-navigation > div > ul > li:hover > a:not([class^=pm-button]):before {
    opacity: 1;
    transform: translate(-50%) scaleX(1);
    transition: transform 0.3s 0s, opacity 0.3s;
  }
  .main-navigation > div > ul > li:hover .main-navigation__submenu-toggle svg {
    transition-delay: 0s;
    fill: #071e62;
  }
}
@media only screen and (min-width: 1024px) {
  .main-navigation > div > ul > li.menu-item-has-children > a {
    position: relative;
    float: left;
  }
}
@media only screen and (min-width: 1200px) {
  .main-navigation > div > ul > li:last-child {
    display: flex;
  }
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
@media only screen and (min-width: 1024px) {
  .main-navigation ul {
    display: flex;
    flex: 1;
    gap: 15px;
  }
  .no-flexbox .main-navigation ul {
    display: inline-block;
  }
}
.main-navigation ul a {
  display: block;
  text-decoration: none;
}
.main-navigation ul li:hover > .sub-menu.level-0 {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.main-navigation ul li .sub-menu.level-0 {
  background: #fff;
  padding: 0;
  position: absolute;
  z-index: 99999;
  transition: visibility 0s linear 0.4s, opacity 0.4s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
  opacity: 0;
  visibility: hidden;
  left: 0;
  top: 100%;
  margin-top: 11px;
  box-shadow: 0 9px 9px rgba(0, 0, 0, 0.14);
  display: block;
  width: 370px;
  border-radius: 10px;
  border-top-left-radius: 0;
}
.main-navigation ul li .sub-menu.level-0.sub-menu--list-style {
  display: block;
  width: auto;
  min-width: 250px;
}
.main-navigation ul li .sub-menu.level-0.sub-menu--list-style li {
  margin-bottom: 5.5px;
}
.main-navigation ul li .sub-menu.level-0.sub-menu--list-style li a {
  font-size: 12px;
}
.main-navigation ul li .sub-menu.level-0 a {
  color: #252531;
  transition: color 0.2s, background-color 0.2s;
  padding: 11px 11px 11px 22px;
}
.main-navigation ul li .sub-menu.level-0 a:after {
  content: ">";
  margin-left: 11px;
  transition: transform 0.2s;
  display: inline-block;
  transform: scaleX(0.6);
}
.main-navigation ul li .sub-menu.level-0 a:hover {
  color: #ffffff;
  background-color: #071e62;
}
.main-navigation ul li .sub-menu.level-0 a:hover:after {
  transform: translateX(5.5px);
}
.main-navigation ul li .sub-menu.level-0 li:first-child a {
  border-top-right-radius: 10px;
}
.main-navigation ul li .sub-menu.level-0 li:last-child a {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.main-navigation ul li .sub-menu.level-0 > li.menu-item-has-children {
  position: relative;
}
.main-navigation ul li .sub-menu.level-0 > li.menu-item-has-children > a > .menu-item__title {
  margin-bottom: 11px;
  display: inline-block;
}
.main-navigation ul li .sub-menu.level-0 > li.menu-item-has-children:hover .sub-menu.level-1 {
  opacity: 1;
  transform: none;
}
.main-navigation ul li .sub-menu.level-0 .sub-menu.level-1 {
  display: block;
  position: absolute;
  width: 320px;
  background-color: #fff;
  top: -11px;
  padding: 11px;
  left: 105%;
  opacity: 0;
  transition: transform 0.2s, opacity 0.2s;
  transform: translateX(50%);
  box-shadow: 0 0px 9px rgba(0, 0, 0, 0.14);
}
.main-navigation ul li .sub-menu.level-0 .sub-menu.level-1 li {
  margin-bottom: 5.5px;
}
.main-navigation__submenu-toggle {
  display: none;
}
.main-navigation__submenu-toggle svg {
  transition: fill 0.4s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
  fill: #071e62;
  width: 10px;
  height: 12px;
}
.home.nav-fixed .main-navigation__submenu-toggle svg {
  fill: #444444;
}

/* Cookies Table */
#cookies-table {
  border-collapse: collapse;
  border: 1px solid #e7e7e7;
  border-top: 0;
  border-left: 0;
  text-align: left;
}

#cookies-table td, #cookies-table th {
  border-top: 1px solid #e7e7e7;
  border-left: 1px solid #e7e7e7;
  padding: 5px;
}

#cookies-table thead th {
  vertical-align: middle;
  background: #f7f7f7;
}

#cookies-table tbody td {
  vertical-align: top;
}

.button {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #071e62;
  border: 2px solid #071e62;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button:hover {
  background: #040f32;
  border-color: #040f32;
  text-decoration: none;
}
.button--solid--none {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: "none";
  border: 2px solid "none";
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--none {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid "none";
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: "none";
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--none:hover {
  background: "none";
  color: #fff;
  border-color: "none";
  text-decoration: none;
}
.button--white {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #ffffff;
  border: 2px solid #ffffff;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #444444;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--white:hover {
  background: #e6e6e6;
  border-color: #e6e6e6;
  text-decoration: none;
}
.button--solid--white {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #ffffff;
  border: 2px solid #ffffff;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--white:hover {
  background: #e6e6e6;
  border-color: #e6e6e6;
  text-decoration: none;
}
.button--ghost--white {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #ffffff;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #ffffff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--white:hover {
  background: #ffffff;
  color: #fff;
  border-color: #ffffff;
  text-decoration: none;
}
.button--black {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #252531;
  border: 2px solid #252531;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--black:hover {
  background: #0f0f14;
  border-color: #0f0f14;
  text-decoration: none;
}
.button--solid--black {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #252531;
  border: 2px solid #252531;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--black:hover {
  background: #0f0f14;
  border-color: #0f0f14;
  text-decoration: none;
}
.button--ghost--black {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #252531;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #252531;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--black:hover {
  background: #252531;
  color: #fff;
  border-color: #252531;
  text-decoration: none;
}
.button--arctic {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #d9e2e7;
  border: 2px solid #d9e2e7;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #444444;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--arctic:hover {
  background: #bacad3;
  border-color: #bacad3;
  text-decoration: none;
}
.button--solid--arctic {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #d9e2e7;
  border: 2px solid #d9e2e7;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--arctic:hover {
  background: #bacad3;
  border-color: #bacad3;
  text-decoration: none;
}
.button--ghost--arctic {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #d9e2e7;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #d9e2e7;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--arctic:hover {
  background: #d9e2e7;
  color: #fff;
  border-color: #d9e2e7;
  text-decoration: none;
}
.button--dblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #071e62;
  border: 2px solid #071e62;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--dblue:hover {
  background: #040f32;
  border-color: #040f32;
  text-decoration: none;
}
.button--solid--dblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #071e62;
  border: 2px solid #071e62;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--dblue:hover {
  background: #040f32;
  border-color: #040f32;
  text-decoration: none;
}
.button--ghost--dblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #071e62;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #071e62;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--dblue:hover {
  background: #071e62;
  color: #fff;
  border-color: #071e62;
  text-decoration: none;
}
.button--mgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #dddddd;
  border: 2px solid #dddddd;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--mgrey:hover {
  background: #c4c4c4;
  border-color: #c4c4c4;
  text-decoration: none;
}
.button--solid--mgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #dddddd;
  border: 2px solid #dddddd;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--mgrey:hover {
  background: #c4c4c4;
  border-color: #c4c4c4;
  text-decoration: none;
}
.button--ghost--mgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #dddddd;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #dddddd;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--mgrey:hover {
  background: #dddddd;
  color: #fff;
  border-color: #dddddd;
  text-decoration: none;
}
.button--grey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #676767;
  border: 2px solid #676767;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--grey:hover {
  background: #4e4e4e;
  border-color: #4e4e4e;
  text-decoration: none;
}
.button--solid--grey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #676767;
  border: 2px solid #676767;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--grey:hover {
  background: #4e4e4e;
  border-color: #4e4e4e;
  text-decoration: none;
}
.button--ghost--grey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #676767;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #676767;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--grey:hover {
  background: #676767;
  color: #fff;
  border-color: #676767;
  text-decoration: none;
}
.button--lgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #a3a3a3;
  border: 2px solid #a3a3a3;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #444444;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--lgrey:hover {
  background: #8a8a8a;
  border-color: #8a8a8a;
  text-decoration: none;
}
.button--solid--lgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #a3a3a3;
  border: 2px solid #a3a3a3;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--lgrey:hover {
  background: #8a8a8a;
  border-color: #8a8a8a;
  text-decoration: none;
}
.button--ghost--lgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #a3a3a3;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #a3a3a3;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--lgrey:hover {
  background: #a3a3a3;
  color: #fff;
  border-color: #a3a3a3;
  text-decoration: none;
}
.button--xlgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #f6f6f6;
  border: 2px solid #f6f6f6;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #444444;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--xlgrey:hover {
  background: #dddddd;
  border-color: #dddddd;
  text-decoration: none;
}
.button--solid--xlgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #f6f6f6;
  border: 2px solid #f6f6f6;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--xlgrey:hover {
  background: #dddddd;
  border-color: #dddddd;
  text-decoration: none;
}
.button--ghost--xlgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #f6f6f6;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #f6f6f6;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--xlgrey:hover {
  background: #f6f6f6;
  color: #fff;
  border-color: #f6f6f6;
  text-decoration: none;
}
.button--green {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #659525;
  border: 2px solid #659525;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--green:hover {
  background: #496c1b;
  border-color: #496c1b;
  text-decoration: none;
}
.button--solid--green {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #659525;
  border: 2px solid #659525;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--green:hover {
  background: #496c1b;
  border-color: #496c1b;
  text-decoration: none;
}
.button--ghost--green {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #659525;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #659525;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--green:hover {
  background: #659525;
  color: #fff;
  border-color: #659525;
  text-decoration: none;
}
.button--red {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #fc0002;
  border: 2px solid #fc0002;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--red:hover {
  background: #c90002;
  border-color: #c90002;
  text-decoration: none;
}
.button--solid--red {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #fc0002;
  border: 2px solid #fc0002;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--red:hover {
  background: #c90002;
  border-color: #c90002;
  text-decoration: none;
}
.button--ghost--red {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: none;
  border: 2px solid #fc0002;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fc0002;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--red:hover {
  background: #fc0002;
  color: #fff;
  border-color: #fc0002;
  text-decoration: none;
}
.button--has-icon {
  display: inline-flex;
}
.button--has-icon .button__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.5px;
}
.button--has-icon svg {
  fill: currentColor;
}
.button--has-icon--before {
  padding-left: 11px;
}
.button--arrow-button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transform: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  -transition-delay: 0;
  width: 33px;
  height: 33px;
  border-radius: 100%;
}
.button--arrow-button--none {
  background-color: "none";
}
.button--arrow-button--none:hover {
  background-color: #fc0002;
}
.button--arrow-button--white {
  background-color: #ffffff;
}
.button--arrow-button--white .svgicon {
  fill: #444444;
}
.button--arrow-button--white:hover {
  background-color: #252531;
}
.button--arrow-button--black {
  background-color: #252531;
}
.button--arrow-button--black .svgicon {
  fill: #fff;
}
.button--arrow-button--black:hover {
  background-color: #fc0002;
}
.button--arrow-button--arctic {
  background-color: #d9e2e7;
}
.button--arrow-button--arctic .svgicon {
  fill: #444444;
}
.button--arrow-button--arctic:hover {
  background-color: #fc0002;
}
.button--arrow-button--dblue {
  background-color: #071e62;
}
.button--arrow-button--dblue .svgicon {
  fill: #fff;
}
.button--arrow-button--dblue:hover {
  background-color: #fc0002;
}
.button--arrow-button--mgrey {
  background-color: #dddddd;
}
.button--arrow-button--mgrey .svgicon {
  fill: #fff;
}
.button--arrow-button--mgrey:hover {
  background-color: #fc0002;
}
.button--arrow-button--grey {
  background-color: #676767;
}
.button--arrow-button--grey .svgicon {
  fill: #fff;
}
.button--arrow-button--grey:hover {
  background-color: #fc0002;
}
.button--arrow-button--lgrey {
  background-color: #a3a3a3;
}
.button--arrow-button--lgrey .svgicon {
  fill: #444444;
}
.button--arrow-button--lgrey:hover {
  background-color: #fc0002;
}
.button--arrow-button--xlgrey {
  background-color: #f6f6f6;
}
.button--arrow-button--xlgrey .svgicon {
  fill: #444444;
}
.button--arrow-button--xlgrey:hover {
  background-color: #fc0002;
}
.button--arrow-button--green {
  background-color: #659525;
}
.button--arrow-button--green .svgicon {
  fill: #fff;
}
.button--arrow-button--green:hover {
  background-color: #fc0002;
}
.button--arrow-button--red {
  background-color: #fc0002;
}
.button--arrow-button--red .svgicon {
  fill: #fff;
}
.button--arrow-button--red:hover {
  background-color: #fc0002;
}
.button--arrow-button svg {
  transition: transform 0.3s, opacity 0.2s;
  width: 27px;
  height: 20px;
}
.button--arrow-button:hover {
  transform: scale(1.1);
}
.button__icon {
  transition: fill 0.2s, transform 0.2s;
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.button__icon--before {
  margin-right: 5.5px;
}
.button--big {
  padding: 11px 22px;
  width: 100%;
  font-size: 1.125rem;
}
.button--wide {
  padding: 11px 44px;
  font-size: 1.125rem;
}
.button__icon {
  transition: fill 0.2s;
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.button__icon--before {
  margin-right: 5.5px;
}

.site-header {
  background: #fff;
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .site-header {
    padding: 0;
  }
}
.site-header:before {
  display: none;
}
.site-header__account-link {
  margin-top: 44px;
  color: #fff;
}
.site-header__toggle-nav.toggle-nav {
  text-align: center;
  align-items: center;
  padding: 0;
}
.site-header__toggle-nav.toggle-nav svg {
  fill: #071e62;
}
@media only screen and (min-width: 1024px) {
  .site-header__toggle-nav.toggle-nav {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  .site-header__social-links {
    display: none;
  }
}
.site-header__main {
  display: flex;
  justify-content: space-between;
  padding: 5.5px 0;
}
@media only screen and (max-width: 1023px) {
  .site-header__main {
    display: block;
  }
}
.site-header__main nav {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .site-header__main nav {
    display: flex;
    justify-content: center;
  }
}
.site-header__actions {
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .site-header__actions__link--login {
    display: none;
  }
}
@media only screen and (min-width: 1400px) {
  .site-header__actions__link--login {
    display: inline-block;
  }
}
@media only screen and (max-width: 1023px) {
  .site-header__actions {
    order: 1;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0 11px;
  }
  .site-header__actions > a {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .site-header__actions {
    display: flex;
    padding-right: 22px;
  }
}
@media only screen and (min-width: 1200px) {
  .site-header__actions {
    display: flex;
  }
  .site-header__actions > * {
    flex: 1;
  }
}
.site-header__actions > a, .site-header__actions__toggle-search {
  color: #fff;
  background: none;
  transition: color 0.2s;
}
@media only screen and (max-width: 1023px) {
  .site-header__actions > a .toggle-search__label, .site-header__actions__toggle-search .toggle-search__label {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .site-header__actions > a, .site-header__actions__toggle-search {
    font-size: 14px;
  }
}
@media only screen and (min-width: 1200px) {
  .site-header__actions > a, .site-header__actions__toggle-search {
    font-size: 16px;
  }
}
.site-header__actions > a:hover, .site-header__actions__toggle-search:hover {
  color: #fc0002;
  background: transparent;
  text-decoration: none;
}
.site-header__actions__toggle-search {
  border-radius: 0;
  display: flex;
  align-items: center;
}
.site-header__actions__toggle-search svg {
  margin-left: 5.5px;
}
.search-open .site-header__actions__toggle-search svg {
  fill: #fff;
}
@media only screen and (max-width: 1023px) {
  .site-header__actions__toggle-search {
    flex: 1;
    background-color: #fff;
    max-width: none;
    justify-content: center;
  }
  .site-header__actions__toggle-search svg {
    fill: #252531;
    width: 22px;
    height: 22px;
  }
  .site-header__actions__toggle-search:hover {
    background-color: #a3a3a3;
  }
  .search-open .site-header__actions__toggle-search svg {
    fill: #fff;
  }
}
.site-header__mini-cart {
  padding: 0 33px;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .site-header__mini-cart {
    padding: 0 10px;
  }
}
@media only screen and (min-width: 1024px) {
  .site-header__mini-cart {
    padding: 0 22px;
  }
}
@media only screen and (min-width: 1200px) {
  .site-header__mini-cart {
    padding: 0 22px;
  }
}
.site-header__mini-cart__content {
  display: flex;
  flex: 1;
}
.site-header__mini-cart__main {
  flex: 1;
  padding-right: 16.5px;
}
@media only screen and (min-width: 1024px) {
  .site-header__mini-cart__main {
    padding: 0;
    background: none;
  }
}
.site-header__mini-cart__main .tax_label {
  white-space: nowrap;
  margin-left: 3px;
}
@media only screen and (max-width: 1023px) {
  .site-header__mini-cart__main .tax_label {
    display: none;
  }
}
.site-header__mini-cart-container {
  display: flex;
  justify-content: flex-end;
}
.site-header__mini-cart__count {
  color: #fff;
  position: relative;
}
.site-header__mini-cart__count:after {
  border-radius: 100%;
  background-color: #252531;
  display: inline-block;
  font-weight: bold;
  width: 22px;
  height: 22px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  content: attr(data-count);
  top: -18px;
  right: -7px;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
}
.site-header__mini-cart__link {
  display: flex;
  align-items: center;
  font-size: 14px;
  flex: 1;
  justify-content: center;
}
@media only screen and (min-width: 1024px) {
  .site-header__mini-cart__link {
    padding-right: 0;
  }
}
.site-header__mini-cart__link:hover {
  text-decoration: none;
}
.site-header__mini-cart__link:hover .site-header__mini-cart__total {
  background-color: rgba(255, 255, 255, 0.3);
}
.site-header__mini-cart__total {
  padding: 5.5px 11px;
  font-weight: bold;
  display: flex;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  align-items: center;
}
@media only screen and (min-width: 1024px) {
  .site-header__mini-cart__total {
    transition: background-color 0.2s;
    background-color: rgba(255, 255, 255, 0.2);
    font-size: 13px;
  }
}
@media only screen and (min-width: 1200px) {
  .site-header__mini-cart__total {
    font-size: 14px;
  }
}
.site-header__mini-cart__total .svgicon {
  width: 33px;
  height: 25px;
  fill: #071e62;
}
@media only screen and (min-width: 1024px) {
  .site-header__mini-cart__total .svgicon {
    width: 18px;
    height: 20px;
    margin-left: 5.5px;
  }
}
.site-header__mini-cart__total .amount {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .site-header__mini-cart__total .amount {
    display: block;
  }
}

.header-search__search-field {
  min-width: 160px;
  width: 100%;
}
.header-search__search {
  flex: 1;
}

.site-footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid #d6d6d6;
}
.site-footer__main {
  background-color: #f6f6f6;
  padding: 70px 0 22px 0;
  position: relative;
}
@media only screen and (min-width: 599px) {
  .site-footer__main {
    padding: 100px 0 22px 0;
  }
}
.site-footer__links {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .site-footer__links {
    flex-direction: column;
  }
}
.site-footer__column {
  margin-bottom: 11px;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .site-footer__column {
    margin-bottom: 22px;
    display: block;
  }
}
.site-footer__column__heading {
  cursor: pointer;
  position: relative;
  margin-bottom: 11px;
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian .site-footer__column__heading:after {
    position: absolute;
    font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
    content: "";
    background-image: url("./dist/img/svg/angle-down.svg");
    background-size: 80%;
    background-repeat: no-repeat;
    right: 0;
    width: 22px;
    height: 22px;
    transition: transform 0.2s;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian.open .site-footer__column__heading:after {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian .site-footer__column__content {
    max-height: 0;
    transition: max-height 0.3s;
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian.open .site-footer__column__content {
    max-height: 500px !important;
  }
}
.site-footer .menu {
  margin: 0;
}
@media only screen and (min-width: 599px) {
  .site-footer .menu {
    padding-top: 0;
  }
}
.site-footer .menu ul {
  margin: 0;
}
.site-footer .menu li {
  margin-bottom: 5.5px;
}
.site-footer .menu a {
  color: #676767;
  font-weight: 500;
  text-decoration: none;
}
.site-footer .menu a:hover {
  text-decoration: underline;
}
.site-footer__credit {
  background-color: #071e62;
  color: #fff;
  padding: 66px 0;
}
.site-footer__credit .wrap {
  display: flex;
  justify-content: space-between;
}
.site-footer__credit ul {
  display: flex;
  gap: 22px;
  margin: 0;
}
.site-footer__credit p {
  margin: 0;
  font-size: 13px;
}
.site-footer__credit a {
  font-weight: bold;
  color: #fff;
  margin: 0;
}
.site-footer__credit a:hover {
  text-decoration: underline;
}
@media only screen and (min-width: 1024px) {
  .site-footer__credit {
    margin-bottom: 0;
  }
}

.logo--header {
  padding: 11px;
  text-align: center;
}
.logo--header img {
  width: 160px;
}
@media only screen and (max-width: 1023px) {
  .logo--header {
    display: grid;
    grid-template-columns: 50px 1fr 50px;
  }
}
@media only screen and (min-width: 1024px) {
  .logo--header {
    padding: 11px 22px;
  }
  .logo--header img {
    width: 160px;
  }
}
.logo--footer .logo__link {
  display: flex;
  justify-content: center;
}
.logo--footer img {
  width: 85px;
}
@media only screen and (min-width: 768px) {
  .logo--footer .logo__link {
    justify-content: flex-start;
  }
  .logo--footer img {
    width: 140px;
  }
}
.logo__link {
  display: flex;
  transition: opacity 0.2s;
  justify-content: center;
  align-items: center;
}
.logo__link:hover {
  opacity: 0.7;
}

.mobile-nav-panel {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel {
    display: block;
    transition: transform 0.3s;
    background-image: linear-gradient(0, #0f181c 0%, #223670 100%);
    padding: 22px;
    flex-direction: column;
    height: 100vh;
    transform: translateX(-100%);
    position: absolute;
    z-index: 6;
    top: 0;
    overflow-y: scroll;
    display: flex;
  }
  .mobile-nav-panel__main {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  .mobile-nav-panel__heading {
    float: left;
    color: #fff;
  }
  .mobile-nav-panel__header {
    overflow: hidden;
  }
  .mobile-nav-panel__bottom {
    flex: 1;
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
    display: flex;
    margin-bottom: 66px;
    margin-top: 11px;
  }
  .mobile-nav-panel__bottom .search-form {
    align-self: flex-end;
  }
  .menu-open .mobile-nav-panel {
    transform: none;
  }
  .mobile-nav-panel .menu {
    margin: 0;
  }
  .mobile-nav-panel .menu-item {
    padding: 5.5px 0;
  }
  .mobile-nav-panel .menu-item a {
    color: #fff;
    transition: transform 0.3s;
    display: block;
    width: calc(100% - 48px);
    font-size: 16px;
    line-height: 1.4;
    font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
    text-decoration: none;
  }
}
@media only screen and (max-width: 1023px) and (min-width: 768px) {
  .mobile-nav-panel .menu-item a {
    font-size: 20px;
    line-height: 1.3;
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .menu-item a:hover {
    transform: translateX(5px);
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .menu-item-has-children {
    position: relative;
  }
  .mobile-nav-panel .menu-item-has-children.submenu-open > .sub-menu {
    max-height: 499px !important;
  }
  .mobile-nav-panel .menu-item-has-children.submenu-open > .submenu-toggle {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .sub-menu {
    max-height: 0;
    transition: max-height 0.8s;
    overflow: hidden;
    position: relative;
    margin-left: 0;
    padding-left: 22px;
  }
  .mobile-nav-panel .sub-menu > .menu-item:first-child {
    padding-top: 22px;
  }
  .mobile-nav-panel .sub-menu > .menu-item:first-child .submenu-toggle {
    top: 22px;
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .submenu-toggle {
    margin-top: 0;
    right: 5px;
  }
  .mobile-nav-panel .submenu-toggle svg {
    fill: #fff;
    width: 22px;
    height: 22px;
    transform: translateY(3px);
  }
}

.menu-open {
  overflow: hidden;
}

/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d;
}

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

.owl-dots {
  text-align: center;
  padding: 22px 0 0 0;
}

.owl-dot {
  background: #252531;
  width: 14.6666666667px;
  height: 14.6666666667px;
  display: inline-block;
  margin: 0 5px;
  border-radius: 100%;
}
.owl-dot.active {
  background: #071e62;
}

.owl-prev {
  position: absolute;
  height: 48px;
  width: 48px;
  left: 5.5px;
  top: 35%;
  transform: translate(-50%, -50%);
  background-color: #fc0002;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owl-prev svg {
  fill: #252531;
  margin-right: 5px;
}

.owl-next {
  position: absolute;
  height: 48px;
  width: 48px;
  right: 5.5px;
  top: 35%;
  transform: translate(50%, -50%);
  background-color: #fc0002;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owl-next svg {
  fill: #252531;
  margin-left: 5px;
}

.owl-cs-slider .owl-nav {
  position: absolute;
  top: 11px;
  left: 11px;
  display: flex;
  gap: 11px;
}
.owl-cs-slider .owl-prev,
.owl-cs-slider .owl-next {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  transition: transform 0.2s;
}
.owl-cs-slider .owl-prev:hover {
  transform: translate(-5px);
}
.owl-cs-slider .owl-next:hover {
  transform: translate(5px);
}

.toggle-nav {
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  -transition-delay: 0;
  display: none;
  padding: 8px;
  justify-self: end;
  background: none;
}
.toggle-nav__icon {
  width: 36px;
  height: 36px;
  fill: #ffffff;
}
.toggle-nav--mobile {
  float: right;
  padding: 0 5px 0 8px;
  background: none;
}
.toggle-nav--mobile .toggle-nav__icon {
  fill: #fff;
  width: 22px;
  height: 22px;
}
.toggle-nav--close {
  color: #fff;
  height: auto;
  font-size: 14px;
  border-radius: 0;
}
.toggle-nav--close .toggle-nav__icon {
  fill: #fff;
  width: 13px;
  height: 13px;
  transform: translateY(2px);
}
@media only screen and (min-width: 768px) {
  .toggle-nav--close {
    height: auto;
  }
}

.submenu-toggle {
  float: right;
  margin-left: 5.5px;
  display: none;
}
.submenu-toggle svg {
  fill: #252531;
  width: 10px;
  height: 8px;
  transition: fill 0.2s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
}

@media only screen and (max-width: 1023px) {
  .menu-item-has-children > .submenu-toggle {
    display: inline-block;
  }

  .toggle-nav {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .submenu-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 8px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    line-height: 1;
    font-family: arial, sans-serif;
    color: #fff;
    transition: transform 0.3s;
    text-align: center;
  }

  .menu-item-has-children {
    overflow: hidden;
  }
  .menu-item-has-children > .submenu-toggle {
    display: block;
    z-index: 1;
  }
}
.social-links__list {
  margin: 0;
  margin-bottom: 11px;
}
.social-links__item {
  display: inline-block;
  line-height: 1;
  padding: 0 11px;
}
.social-links__item:after {
  border: 0;
}
.social-links__item:last-child {
  margin-right: 0;
}
.social-links__link {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s;
}
.social-links__link--round {
  border-radius: 100%;
  padding: 22px;
}
.social-links__link:hover .social-links__icon {
  fill: #071e62;
}
.social-links__icon {
  width: 22px;
  height: 22px;
  fill: #ffffff;
  transition: fill 0.3s;
}
.social-links__icon--large {
  width: 26.4px;
  height: 26.4px;
}
.social-links--blog .social-links__link {
  background-color: #071e62;
}
.social-links--blog .social-links__link:hover {
  background: #fff;
}
.social-links--blog .social-links__icon {
  fill: #fff;
}
.social-links--contact-page .social-links__item {
  margin: 0 11px;
}
.social-links--contact-page .social-links__list {
  text-align: center;
}
.social-links--footer {
  margin-top: 11px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .social-links--footer {
    text-align: left;
  }
}

.contact-link__text {
  display: flex;
  align-items: center;
}
.contact-link--icon svg {
  margin-right: 11px;
  wdith: 24px;
  height: 24px;
}
.contact-link--light a {
  color: #fff;
}
.contact-link--light svg {
  fill: #fff;
}
.contact-link--dark svg {
  fill: #444444;
}

.error-404 {
  max-width: 650px;
  position: relative;
}
@media only screen and (min-width: 599px) {
  .error-404 {
    padding: 66px 0;
  }
}
.error-404 .search-field {
  width: calc(100% - 120px);
  float: left;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  background-color: #fff;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
  height: 44px;
}
.error-404 .search-submit {
  background-color: #071e62;
  color: #fff;
  text-transform: uppercase;
  height: 44px;
}

.gradient-shadow--top:before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -moz-linear-gradient(top, rgba(37, 37, 49, 0.6) 0%, rgba(37, 37, 49, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(37, 37, 49, 0.6) 0%, rgba(37, 37, 49, 0) 100%);
  background: linear-gradient(to bottom, rgba(37, 37, 49, 0.6) 0%, rgba(37, 37, 49, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a6000000", endColorstr="#00000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.gradient-shadow--bottom:before {
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -webkit-linear-gradient(rgba(37, 37, 49, 0) 0%, rgba(37, 37, 49, 0) 1%, rgba(37, 37, 49, 0.9) 100%);
  background: -o-linear-gradient(rgba(37, 37, 49, 0) 0%, rgba(37, 37, 49, 0) 1%, rgba(37, 37, 49, 0.9) 100%);
  background: linear-gradient(rgba(37, 37, 49, 0) 0%, rgba(37, 37, 49, 0) 1%, rgba(37, 37, 49, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#a6000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media only screen and (max-width: 1023px) {
  .gradient-shadow--bottom:before {
    height: 90%;
  }
}
.gradient-shadow--both:before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a6000000", endColorstr="#a6000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
  transition: opacity 0.3s;
}

.overlay:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  display: block;
}
.overlay--none:after {
  opacity: 0;
}
.overlay--light:after {
  opacity: 0.15;
}
.overlay--medium:after {
  opacity: 0.4;
}
.overlay--strong:after {
  opacity: 0.6;
}
.overlay--none:after {
  background-color: "none";
}
.overlay--white {
  color: #444444;
}
.overlay--white:after {
  background-color: #ffffff;
}
.overlay--white svg {
  fill: #444444;
}
.overlay--black {
  color: #fff;
}
.overlay--black:after {
  background-color: #252531;
}
.overlay--black a:not([class^=button]) {
  color: #fff;
}
.overlay--black svg {
  fill: #fff;
}
.overlay--black .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  color: #fff;
}
.overlay--black .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #252531;
}
.overlay--arctic {
  color: #444444;
}
.overlay--arctic:after {
  background-color: #d9e2e7;
}
.overlay--arctic svg {
  fill: #444444;
}
.overlay--dblue {
  color: #fff;
}
.overlay--dblue:after {
  background-color: #071e62;
}
.overlay--dblue a:not([class^=button]) {
  color: #fff;
}
.overlay--dblue svg {
  fill: #fff;
}
.overlay--dblue .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  color: #fff;
}
.overlay--dblue .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #252531;
}
.overlay--mgrey {
  color: #fff;
}
.overlay--mgrey:after {
  background-color: #dddddd;
}
.overlay--mgrey a:not([class^=button]) {
  color: #fff;
}
.overlay--mgrey svg {
  fill: #fff;
}
.overlay--mgrey .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  color: #fff;
}
.overlay--mgrey .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #252531;
}
.overlay--grey {
  color: #fff;
}
.overlay--grey:after {
  background-color: #676767;
}
.overlay--grey a:not([class^=button]) {
  color: #fff;
}
.overlay--grey svg {
  fill: #fff;
}
.overlay--grey .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  color: #fff;
}
.overlay--grey .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #252531;
}
.overlay--lgrey {
  color: #444444;
}
.overlay--lgrey:after {
  background-color: #a3a3a3;
}
.overlay--lgrey svg {
  fill: #444444;
}
.overlay--xlgrey {
  color: #444444;
}
.overlay--xlgrey:after {
  background-color: #f6f6f6;
}
.overlay--xlgrey svg {
  fill: #444444;
}
.overlay--green {
  color: #fff;
}
.overlay--green:after {
  background-color: #659525;
}
.overlay--green a:not([class^=button]) {
  color: #fff;
}
.overlay--green svg {
  fill: #fff;
}
.overlay--green .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  color: #fff;
}
.overlay--green .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #252531;
}
.overlay--red {
  color: #fff;
}
.overlay--red:after {
  background-color: #fc0002;
}
.overlay--red a:not([class^=button]) {
  color: #fff;
}
.overlay--red svg {
  fill: #fff;
}
.overlay--red .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  color: #fff;
}
.overlay--red .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #252531;
}
.overlay--gradient-black-mblue {
  color: #fff;
}
.overlay--gradient-black-mblue:after {
  background-image: linear-gradient(0, #314a92 0%, #0f181c 100%);
}
.overlay--gradient-dblue-black {
  color: #fff;
}
.overlay--gradient-dblue-black:after {
  background-image: linear-gradient(0, #0f181c 0%, #223670 100%);
}
.overlay--gradient-black {
  color: #fff;
}
.overlay--gradient-black:after {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
}
.overlay--gradient-arctic {
  color: #444444;
}
.overlay--gradient-arctic:after {
  background-image: linear-gradient(0, #d9e2e7 0%, #ffffff 100%);
}
.overlay--gradient-arctic-reverse {
  color: #444444;
}
.overlay--gradient-arctic-reverse:after {
  background-image: linear-gradient(0, #ffffff 0%, #d9e2e7 100%);
}

.svgicon {
  width: 24px;
  height: 24px;
}

.avatar {
  border-radius: 100%;
  border: 3px solid #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  width: 66px !important;
  height: 66px;
}

body .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #659525;
  padding: 11px 22px;
  border-radius: 5px;
  transition: color 0.2s, background-color 0.2s;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
}
body .gform_wrapper.gravity-theme input[type=submit]:hover {
  text-decoration: none;
  background-color: #ffffff;
  color: #444444;
}
body .gform_wrapper.gravity-theme .gfield-choice-input + label {
  vertical-align: top;
}
body .gform_heading {
  margin-bottom: 22px;
}
body .gform_wrapper .gfield_error .gfield_repeater_cell label,
body .gform_wrapper .gfield_error label,
body .gform_wrapper .gfield_error legend,
body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message,
body .gform_wrapper [aria-invalid=true] + label,
body .gform_wrapper label + [aria-invalid=true] {
  color: #ff4646;
}
body .gform_wrapper.gravity-theme .description,
body .gform_wrapper.gravity-theme .gfield_description,
body .gform_wrapper.gravity-theme .gsection_description,
body .gform_wrapper.gravity-theme .instruction {
  font-size: 13px;
}
body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message {
  border-radius: 5px;
}
body .gform_wrapper.gravity-theme .field_description_above .gfield_description {
  padding-bottom: 0;
  padding-left: 10px;
  background: #260000;
  width: max-content;
}

/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.lity.lity-opened {
  opacity: 1;
}

.lity.lity-closed {
  opacity: 0;
}

.lity * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}

.lity-wrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.lity-loading .lity-loader {
  opacity: 1;
}

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
}

.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
}

.lity-content:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close:active {
  top: 1px;
}

/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}

/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

.lity-hide {
  display: none;
}

.post__intro {
  font-size: 20px;
  line-height: 1.1;
  margin-bottom: 22px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .post__intro {
    font-size: 26px;
    line-height: 1.1;
  }
}
.post__intro h2,
.post__intro .h2 {
  line-height: 1.5;
  text-transform: initial;
}
@media only screen and (min-width: 768px) {
  .post__intro h2,
.post__intro .h2 {
    line-height: 1.5;
  }
}
@media only screen and (min-width: 1024px) {
  .post__intro h2,
.post__intro .h2 {
    line-height: 1.3;
  }
}
.post__thumbnail {
  margin-bottom: 22px;
}
.post__thumbnail img {
  overflow: hidden;
  display: inline-block;
}
.post__one-column h2,
.post__one-column .h2 {
  margin-top: 44px;
}
@media only screen and (min-width: 768px) {
  .post__two-column {
    column-width: 280px;
    column-gap: 22px;
  }
}

.single {
  background-color: #fff;
}
.single .entry-header {
  padding-top: 0;
}

.block-link {
  position: relative;
}
.block-link:hover {
  text-decoration: none;
}
@media only screen and (min-width: 1024px) {
  .block-link {
    margin-bottom: 0;
  }
}
.block-link.slick-slide {
  margin: 0 5.5px;
}
.block-link img {
  object-fit: cover;
  height: 100%;
}
.block-link__link {
  display: block;
  text-align: center;
  background-color: #fff;
  overflow: hidden;
  transition: opacity 0.3s;
  position: relative;
}
.block-link__link:hover {
  text-decoration: none;
  cursor: pointer;
  opacity: 0.8;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots {
  position: absolute;
  display: flex;
  gap: 5.5px;
  bottom: -33px;
  left: 50%;
  transform: translate(-50%);
  margin: 0;
}
.slick-dots button {
  width: 22px;
  border-radius: 50px;
  text-indent: -9999px;
  background-color: #fff;
  transition: background-color 0.2s;
  height: 7px;
  padding: 0;
}
.slick-dots button:hover {
  background-color: #aaa;
}
.slick-dots li.slick-active button {
  background-color: #071e62;
}
.slick-dots li.slick-active button:hover {
  background-color: #fff;
}

.slick-prev,
.slick-next {
  text-indent: -9999px;
}

.slick-slider--product-carousel .slick-prev {
  position: absolute;
  left: 22px;
}
.slick-slider--product-carousel .slick-next {
  position: absolute;
}
.slick-slider--product-carousel .slick-track {
  display: flex;
}
.slick-slider--product-carousel .product-carousel__item.slick-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  justify-content: space-between;
}

.icon-bullet-list {
  margin: 0;
}
.icon-bullet-list__item {
  display: flex;
  align-items: center;
  margin-bottom: 11px;
}
.icon-bullet-list__item a:not(.button) {
  color: #fff;
  transition: color 0.2s;
}
.icon-bullet-list__item a:not(.button):hover {
  text-decoration: none;
  color: #071e62;
}
.icon-bullet-list__icon {
  margin-right: 5.5px;
}

.post-share {
  float: left;
}
.post-share > * {
  display: inline-block;
}
@media only screen and (min-width: 599px) {
  .post-share {
    float: none;
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .post-share {
    padding: 11px;
  }
}
.post-share__key {
  position: relative;
  padding-right: 5.5px;
  font-size: 14px;
}
.post-share__key p {
  font-weight: 500;
}
@media only screen and (min-width: 599px) {
  .post-share__key {
    padding-right: 11px;
    margin-right: 11px;
    font-size: 14px;
  }
  .post-share__key:after {
    content: "";
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-left: 5px solid currentColor;
    border-bottom: 6px solid transparent;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 10px;
  }
}
.post-share__social {
  display: inline-flex;
  margin: 0 3px;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  text-align: center;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}
.post-share__social:hover {
  transform: scale(1.1);
}
.post-share__social svg {
  display: inline-block;
  fill: #fff;
}
.post-share__social--facebook {
  background-color: #43619c;
}
.post-share__social--twitter {
  background-color: #24a9e6;
}
.post-share__social--linkedin {
  background-color: #187fb8;
}

.blog .post-list {
  position: relative;
  padding-top: 0;
}
.post-list--row {
  padding-top: 0;
}
.post-list--post .post-list__link {
  color: #444444;
}
.post-list--post .post-list__link:hover {
  color: #fff;
}
.post-list--post .post-list__link:hover .post-list__content {
  background-color: #071e62;
}
.post-list--post .post-list__link:hover .post-list__subheading {
  color: #fff;
}
.post-list--post .post-list__link:hover .post-list__category {
  color: #071e62;
}
.post-list--post .post-list__link:hover .post-list__category svg {
  fill: #071e62;
}
.post-list--post .post-list__heading {
  position: absolute;
  padding: 11px;
  padding-right: 66px;
  bottom: 0;
  left: 0;
  color: #fff;
  z-index: 2;
  margin-bottom: 0;
  width: 100%;
}
.post-list--post .post-list__heading::after {
  content: "";
  position: absolute;
  background-image: url("./dist/img/svg/arrow-right--white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px;
  bottom: 11px;
  right: 11px;
  width: 22px;
  height: 22px;
}
.post-list--post .post-list__thumbnail:before {
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -webkit-linear-gradient(rgba(7, 30, 98, 0) 0%, rgba(7, 30, 98, 0) 1%, rgba(7, 30, 98, 0.9) 100%);
  background: -o-linear-gradient(rgba(7, 30, 98, 0) 0%, rgba(7, 30, 98, 0) 1%, rgba(7, 30, 98, 0.9) 100%);
  background: linear-gradient(rgba(7, 30, 98, 0) 0%, rgba(7, 30, 98, 0) 1%, rgba(7, 30, 98, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#a6000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.post-list--post .post-list__posts {
  margin-bottom: 44px;
}
@media only screen and (min-width: 1024px) {
  .post-list--post {
    padding: 22px 0;
  }
}
.home .post-list--post {
  padding-bottom: 88px;
}
.post-list__main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding: 11px 0 22px 0;
}
@media only screen and (min-width: 768px) {
  .post-list__main {
    gap: 66px;
    grid-template-columns: 1fr 270px;
  }
}
.post-list__item {
  display: flex;
}
.post-list__item--padded {
  padding: 5.5px;
}
@media only screen and (min-width: 768px) {
  .post-list__item--padded {
    padding: 11px;
  }
}
.post-list__item--inline {
  margin-bottom: 22px;
  padding-bottom: 22px;
  display: block;
  border-bottom: 1px solid #e9e9e9;
}
.post-list__item--inline .post-list__content {
  padding-top: 0;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media only screen and (min-width: 599px) {
  .post-list__item--inline .post-list__content {
    align-items: initial;
    text-align: left;
  }
}
.post-list__item--inline .post-list__thumbnail {
  margin-bottom: 11px;
}
@media only screen and (min-width: 599px) {
  .post-list__item--inline .post-list__thumbnail {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 599px) {
  .post-list__item--inline {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 22px;
  }
}
@media only screen and (min-width: 768px) {
  .post-list__item--inline {
    display: grid;
    grid-template-columns: 180px 1fr;
  }
}
.post-list__text-link {
  transition: color 0.2s;
}
.post-list__text-link:hover {
  text-decoration: none;
  color: #444444;
}
.post-list__posts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media only screen and (min-width: 768px) {
  .post-list__posts {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .post-list__posts {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.post-list__posts--carousel, .post-list__posts--row {
  display: block;
}
.post-list__posts--2col {
  gap: 11px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 599px) {
  .post-list__posts--2col {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 768px) {
  .post-list__posts--2col {
    gap: 11px;
    grid-template-columns: 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .post-list__posts--2col {
    grid-template-columns: 1fr 1fr;
  }
}
.post-list__date {
  text-align: center;
}
.post-list__date > * {
  display: block;
}
.post-list__date .date {
  font-size: 21px;
  line-height: 0.75;
  line-height: 0.7;
}
.post-list__date .month {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
}
.post-list__date svg {
  width: 11px;
  height: 11px;
  margin-right: 5.5px;
  fill: #fff;
}
.post-list__thumbnail {
  position: relative;
  overflow: hidden;
}
.post-list__link {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #444444;
  position: relative;
  transition: transform 0.3s, color 0.3s;
}
.post-list__link:hover {
  text-decoration: none;
  color: #071e62;
}
@media only screen and (min-width: 768px) {
  .post-list__link:hover {
    transform: translateY(-11px);
    text-decoration: none;
  }
}
.post-list__excerpt {
  font-size: 12px;
}
.post-list__sidebar {
  position: relative;
}
.post-list__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 0;
  padding-top: 22px;
  transition: background-color 0.2s;
  gap: 22px;
}
@media only screen and (min-width: 768px) {
  .post-list__content {
    gap: 44px;
  }
}
@media only screen and (max-width: 598px) {
  .post-list__header {
    padding: 0;
  }
}
@media only screen and (min-width: 599px) {
  .post-list__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.post-list__heading {
  margin-bottom: 11px;
  font-weight: 600;
  line-height: 1.2;
}
.post-list__subheading {
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  color: #444444;
  transition: color 0.2s;
}
.post-list__c2a {
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 11px;
  align-self: flex-end;
}

.features-list {
  background-color: #071e62;
  color: #fff;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
  padding: 11px 22px;
  border-radius: 100px;
  margin: -22px auto 0 auto;
  display: block;
  width: fit-content;
  position: relative;
}
.features-list__list {
  margin: 0;
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (min-width: 599px) {
  .features-list__list {
    gap: 44px;
  }
}
.features-list__item {
  display: flex;
  gap: 11px;
  align-items: center;
}
.features-list svg {
  fill: #fff;
}
.features-list__value {
  margin: 0;
  font-weight: 900;
}

.breadcrumbs {
  position: relative;
  z-index: 1;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  background-color: #dddddd;
  padding: 11px 0;
  margin-bottom: 44px;
}
.breadcrumbs__text {
  margin-bottom: 0;
  text-transform: none;
  font-weight: 500;
}
.breadcrumbs--dark .breadcrumbs__separator {
  background-image: url("./dist/img/svg/angle-right--dark.svg");
}

.widget > * {
  padding: 22px;
  padding-bottom: 11px;
}
.widget ul {
  margin: 0;
}
.widget li {
  display: flex;
  justify-content: space-between;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: bold;
}
.widget li:before, .widget li:after {
  display: none !important;
}
.widget li:hover a {
  color: #071e62;
  text-decoration: none;
}
.widget a {
  color: #444444;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: normal;
  transition: color 0.2s;
  font-size: 14px;
  line-height: 1.5;
}
.widget-area {
  border: 1px solid #dddddd;
  padding: 11px 0;
  height: fit-content;
}
.widget-title {
  border-bottom: 1px solid #fff;
  padding: 0 16.5px;
  padding-bottom: 11px;
  margin-bottom: 0;
}
.widget .wp-block-search__label {
  position: absolute;
  text-indent: -9999px;
  width: auto;
}
.widget .wp-block-search__button {
  display: none;
}
.widget .wp-block-search input[type=search] {
  background-color: #fff;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item {
  padding: 0 16.5px;
}

body.woocommerce .widget_price_filter .price_slider_amount {
  display: flex;
  flex-direction: column;
  text-align: left;
}
body.woocommerce .widget_price_filter .price_slider_amount .button {
  float: none;
  order: 1;
}

#secondary.widget-area {
  border: 0;
  padding: 0;
}
#secondary .widget {
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 11px;
}
#secondary .widget > * {
  padding: 0;
}
#secondary .widget li {
  display: flex;
}
#secondary .wp-block-latest-posts__featured-image {
  max-width: 70px;
  padding-right: 11px;
}
#secondary .wp-block-latest-posts__featured-image img {
  width: 100%;
}
#secondary .wp-block-latest-posts__list li {
  margin-bottom: 11px;
}
#secondary .wp-block-latest-posts__list li a {
  flex: 1;
}
#secondary .widget_block:has(.wp-block-heading) {
  border: 0;
  padding-bottom: 0;
}
#secondary .widget .wp-block-search__button {
  display: block;
  background: #000;
  color: #fff;
  padding: 0 10px;
  border-radius: 5px;
}

/* Pagination */
.pagination {
  clear: both;
  position: relative;
  width: 100%;
  padding: 22px 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination__items {
  display: flex;
}
.pagination__count {
  padding-right: 22px;
  margin-bottom: 0;
  font-weight: bold;
}
.pagination a.pagination__next {
  float: right;
}
.pagination a.pagination__next svg {
  width: 11px;
  height: 11px;
  fill: #071e62;
}
.pagination a.pagination__prev {
  float: left;
}
.pagination a.pagination__prev svg {
  width: 11px;
  height: 11px;
  fill: #071e62;
}
@media only screen and (min-width: 768px) {
  .pagination {
    padding: 44px 0;
  }
}

.pagination span,
.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  text-decoration: none;
  color: #071e62;
  /* Pagination text color */
  -webkit-transition: background 0.15s ease-in-out;
  -moz-transition: background 0.15s ease-in-out;
  -ms-transition: background 0.15s ease-in-out;
  -o-transition: background 0.15s ease-in-out;
  transition: background 0.15s ease-in-out;
  border-radius: 100%;
  border: 2px solid #071e62;
  margin: 0 2.75px;
}
.pagination span.pagination__helip,
.pagination a.pagination__helip {
  border: 0;
}
@media only screen and (min-width: 599px) {
  .pagination span,
.pagination a {
    margin: 0 3.6666666667px;
  }
}

.pagination a:hover {
  background: #071e62;
  /* Pagination background on hover */
}

.pagination .current {
  background: #071e62;
  /* Current page background */
  border-color: #071e62;
  color: #fff;
}

.topbar {
  width: 100%;
  font-weight: 500;
  background-color: #071e62;
  position: relative;
  z-index: 5;
  padding: 10px;
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 1023px) {
  .topbar {
    justify-content: center;
  }
}
.topbar ul {
  display: flex;
  margin: 0;
}
.topbar ul li:not(.social-links__item) {
  padding: 0 11px;
  position: relative;
  display: flex;
  align-items: center;
  color: #fff;
  line-height: 1;
}
.topbar ul li:not(.social-links__item):last-child:after {
  border: 0;
}
.topbar ul li:not(.social-links__item) a {
  color: #fff;
  transition: color 0.2s;
  text-decoration: none;
}
.topbar ul li:not(.social-links__item) a:hover {
  text-decoration: underline;
  color: #fff;
}
@media only screen and (min-width: 1024px) {
  .topbar ul li:not(.social-links__item):after {
    border-right: 1px solid #fff;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    content: "";
  }
}
@media only screen and (max-width: 1023px) {
  .topbar .menu-top-links-container .menu-item-object-page {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  .topbar__links {
    display: none;
  }
}
.topbar__link {
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
}
.topbar__link--my-account {
  padding-right: 11px;
  position: relative;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .topbar__link--my-account {
    padding-right: 10px;
  }
}
@media only screen and (min-width: 1024px) {
  .topbar__link--my-account {
    padding-right: 11px;
  }
}
@media only screen and (min-width: 1024px) {
  .topbar__link--my-account--logged-out:after {
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .topbar__link--my-account--logged-out:after {
    display: block;
  }
}
.topbar__link--trade {
  padding-left: 11px;
}
@media only screen and (min-width: 768px) {
  .topbar__link--trade {
    padding-left: 9px;
  }
}
@media only screen and (min-width: 1024px) {
  .topbar__link--trade {
    padding-left: 11px;
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .topbar__link--trade {
    display: inline-block;
  }
}
.topbar__link--logout {
  padding-left: 11px;
}

.usps {
  width: 100%;
  z-index: 2;
  position: relative;
  padding: 11px 22px;
  display: none;
}
@media only screen and (min-width: 1024px) {
  .usps {
    display: block;
  }
}
.usps__list {
  margin: 0;
  display: flex;
  justify-content: space-between;
}
.usps__text h5 {
  margin-bottom: 0;
}
.usps__text p {
  margin-bottom: 0;
  color: #676767;
}
.usps__content {
  font-weight: 500;
  position: relative;
  font-size: 20px;
  display: flex;
  gap: 11px;
  align-items: center;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
}
@media only screen and (max-width: 1023px) {
  .usps__content {
    justify-content: center;
  }
}
.usps__icon {
  width: 33px;
  height: 33px;
  display: none;
}
@media only screen and (min-width: 599px) {
  .usps__icon {
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 1024px) {
  .usps .svgicon {
    display: block;
  }
}

body .wp-gr .wp-google-feedback {
  display: none;
}
body .wp-gr .grw-review-inner > svg {
  display: none;
  width: 22px !important;
  height: 22px !important;
  padding: 5px;
  border-radius: 100%;
  background-color: #fff;
}

.google-reviews {
  display: none;
}
@media only screen and (min-width: 599px) {
  .google-reviews {
    display: block;
  }
}

.home-features .wrap {
  display: grid;
  gap: 22px;
  justify-content: center;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 599px) {
  .home-features .wrap {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .home-features .wrap {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.home-features__link {
  display: flex;
  justify-content: center;
  position: relative;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}
.home-features__link img {
  transition: transform 0.3s;
}
.home-features__link:hover {
  text-decoration: none;
}
.home-features__link:hover img {
  transform: scale(1.05);
}
.home-features__title {
  position: absolute;
  z-index: 2;
  bottom: 11px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-weight: bold;
  display: none;
}

.home-banner {
  display: none;
}
@media only screen and (min-width: 599px) {
  .home-banner {
    display: block;
  }
}
.home-banner__link {
  display: block;
  position: relative;
  overflow: hidden;
}
.home-banner img {
  transition: transform 0.3s;
}
.home-banner:hover {
  text-decoration: none;
}
.home-banner:hover img {
  transform: scale(1.05);
}

.product-card .price {
  font-weight: 600;
  margin-bottom: 11px;
  display: block;
}

.sibling-page-links {
  display: flex;
  justify-content: space-between;
}

.request-catalogue .wrap {
  display: grid;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 768px) {
  .request-catalogue .wrap {
    grid-template-columns: 300px 1fr;
    gap: 88px;
  }
}
.request-catalogue__image {
  margin-bottom: 22px;
}

@media only screen and (min-width: 1024px) {
  #header-search .aws-search-field {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
    min-width: 160px;
  }
  .aws-search-result {
    width: 300px !important;
    transform: translateX(calc(-100% + 160px));
  }
}

.spacer {
  --multiplier: 1;
  --lh: 22px;
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
}
.spacer__div {
  height: calc(var(--lh) * var(--multiplier) / 2);
}
@media only screen and (min-width: 768px) {
  .spacer__div {
    height: calc(var(--lh) * var(--multiplier));
  }
}

.section-header {
  margin-bottom: 22px;
  position: relative;
}
.section-header:not(.plain__header) {
  text-align: center;
  background-color: #071e62;
  color: #fff;
  border-radius: 5px;
  padding: 11px 0;
}
@media only screen and (min-width: 1024px) {
  .section-header {
    margin-bottom: 44px;
  }
}
.section-header__heading {
  margin-bottom: 0;
  position: relative;
  display: inline-block;
}
.section-header__subheading {
  position: relative;
  font-size: 14px;
  line-height: 1.5;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 11px;
}
@media only screen and (min-width: 768px) {
  .section-header__subheading {
    line-height: 1.5;
  }
  .align-center .section-header__subheading {
    max-width: 670px;
    margin: 0 auto;
  }
}

.product-carousel {
  border-bottom: 1px solid #f6f6f6;
}
.product-carousel__cat-link {
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}
@media only screen and (min-width: 599px) {
  .product-carousel__cat-link {
    display: block;
  }
}
.product-carousel__item {
  margin: 0 11px;
}

.image-text-row {
  position: relative;
  z-index: 2;
  clear: both;
}
.image-text-row p:last-child {
  margin-bottom: 0;
}
.home .image-text-row .image-text-row__image {
  flex: 1;
}
.home .image-text-row .image-text-row__image img {
  width: 100%;
}
.image-text-row__background + .wrap {
  position: relative;
  z-index: 2;
}
.image-text-row__content {
  padding: 22px 0;
  display: flex;
  flex-direction: column;
  max-width: 700px;
  margin: 0 auto;
}
.image-text-row__content:before, .image-text-row__content:after {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__content {
    padding: 0;
    flex-direction: row;
    gap: 22px;
    margin: 0;
    max-width: none;
  }
}
.image-text-row__text {
  flex: 1;
  order: 1;
  position: relative;
  margin-bottom: 22px;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__text {
    margin-bottom: 0;
  }
}
.image-text-row__image {
  position: relative;
  order: 2;
  text-align: center;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__image {
    padding-left: 66px;
  }
}
.image-text-row__image a[class^=button] {
  margin-top: 22px;
}
.image-text-row__image--image-sticky {
  position: sticky;
  top: 22px;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__image--image-first {
    order: 1;
    padding-right: 66px;
    padding-left: 0;
  }
}
.image-text-row__image img {
  position: relative;
  display: block;
  overflow: hidden;
}

.case-studies-slider__header {
  margin-bottom: 22px;
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
}
.case-studies-slider__item {
  position: relative;
  padding: 22px;
  background: #252531;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  .case-studies-slider__item {
    padding: 0;
    background: none;
  }
}
.case-studies-slider__heading {
  margin-bottom: 22px;
}
@media only screen and (min-width: 768px) {
  .case-studies-slider__heading {
    margin-bottom: 0;
  }
}
.case-studies-slider__item-heading {
  margin-bottom: 11px;
  font-weight: 600;
}
.case-studies-slider__image {
  border-radius: 12px;
  overflow: hidden;
}
@media only screen and (min-width: 1024px) {
  .case-studies-slider__image {
    width: 80%;
    margin-left: 20%;
    opacity: 0;
    transition: opacity 0.5s;
  }
  .owl-item.active .case-studies-slider__image {
    opacity: 1;
  }
}
.case-studies-slider__text {
  flex: 1;
}
.case-studies-slider__text svg {
  fill: #fc0002;
  width: 137px;
  height: 24px;
}
.case-studies-slider__textbox {
  padding: 11px 0;
  flex: 1;
  width: 100%;
  background-color: #252531;
  color: #fff;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  .case-studies-slider__textbox {
    padding: 11px 22px;
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 1024px) {
  .case-studies-slider__textbox {
    padding: 44px 33px;
    top: 50%;
    left: 30px;
    bottom: auto;
    transform: translate(10%, -50%);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    width: 460px;
    opacity: 0;
    transition: transform 0.5s 0.3s, opacity 0.3s 0.3s cubic-bezier(0.06, 0.51, 0.24, 0.97);
  }
  .owl-item.active .case-studies-slider__textbox {
    opacity: 1;
    transform: translate(0%, -50%);
  }
}
.case-studies-slider__controls {
  margin-bottom: 22px;
  position: relative;
}

.c2a-section {
  position: relative;
}
.c2a-section__main {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  padding: 22px;
}
@media only screen and (min-width: 1200px) {
  .c2a-section__main {
    padding: 22px;
  }
}
.c2a-section--column {
  text-align: center;
}
.c2a-section--column.has-contact-links .c2a-section__subheading, .c2a-section--column.has-button .c2a-section__subheading {
  margin-bottom: 22px;
}
.c2a-section--row {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .c2a-section--row .c2a-section__content {
    text-align: left;
    display: flex;
    gap: 44px;
    align-items: center;
    justify-content: space-between;
  }
}
.c2a-section--row .c2a-section__text {
  flex: 1;
}
.c2a-section__content {
  position: relative;
  z-index: 1;
}
.c2a-section__heading {
  margin-bottom: 11px;
}
.c2a-section__subheading {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  margin-bottom: 22px;
}
@media screen and (min-width: 768px) {
  .c2a-section__subheading {
    font-size: 20px;
    line-height: 1.3;
  }
}
.c2a-section__subheading p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .c2a-section__subheading {
    margin-bottom: 0;
  }
}
.c2a-section__contact-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media only screen and (min-width: 1024px) {
  .c2a-section__contact-links {
    flex-direction: row;
    gap: 22px;
  }
}

.form-section .wrap {
  position: relative;
  z-index: 2;
}
.form-section__main {
  max-width: 650px;
  margin: 0 auto;
}

.onecol {
  position: relative;
  z-index: 1;
}
.onecol--search {
  padding-top: 22px;
}
@media only screen and (min-width: 1024px) {
  .onecol--search {
    padding-top: 110px;
  }
}
.onecol .onecol__header {
  margin-bottom: 22px;
}
.onecol--has-bg .onecol__text {
  background-size: cover;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 599px) {
  .onecol--has-bg .onecol__text {
    padding: 0 22px;
  }
}
.onecol--has-bg-img .onecol__text {
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 1024px) {
  .onecol--narrow .onecol__header {
    margin: 0 auto;
    max-width: 80%;
  }
}
.onecol__heading {
  position: relative;
}
.align-center .onecol__heading:before {
  display: none;
}
.onecol__text :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1024px) {
  .onecol__text--narrow {
    margin: 0 auto;
    max-width: 80%;
  }
}

.contact-main {
  position: relative;
  padding-top: 22px;
}
@media only screen and (min-width: 1024px) {
  .contact-main__content {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 44px;
  }
}
.contact-main__form {
  max-width: 600px;
  margin: 0 auto;
}
.contact-main__form__subheading {
  font-size: 16px;
}

.icon-links {
  border-top: 1px solid #f6f6f6;
}
.icon-links .wrap {
  display: flex;
  gap: 0;
  flex-direction: row;
  justify-content: center;
}
@media only screen and (min-width: 599px) {
  .icon-links .wrap {
    flex-direction: row;
  }
}
@media only screen and (max-width: 767px) {
  .icon-links .wrap {
    flex-wrap: wrap;
  }
  .icon-links .icon-links__item {
    width: 50%;
    display: flex;
    justify-content: center;
  }
}
.icon-links__link {
  display: flex;
  justify-content: center;
}

.product-category-link-grid__grid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 11px;
}
@media only screen and (min-width: 768px) {
  .product-category-link-grid__grid {
    flex-direction: row;
  }
}
.product-category-link-grid__item {
  width: 100%;
  max-width: 400px;
}
@media only screen and (min-width: 768px) {
  .product-category-link-grid__item {
    width: calc(100% / 3);
  }
}

.page-link-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 11px;
}
@media only screen and (min-width: 480px) {
  .page-link-grid--3col {
    grid-template-columns: 1fr 1fr;
  }
  .page-link-grid--2col {
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  }
}
@media only screen and (min-width: 768px) {
  .page-link-grid {
    grid-gap: 22px;
    position: relative;
  }
  .page-link-grid--3col {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media only screen and (min-width: 1200px) {
  .page-link-grid--2col {
    grid-template-columns: repeat(auto-fit, minmax(550px, 1fr));
  }
}

@media only screen and (min-width: 1024px) {
  .dropdown-list--sidebar {
    margin-bottom: 44px;
  }
}
.dropdown-list__list {
  margin: 0;
}
.dropdown-list__item {
  margin-bottom: 16.5px !important;
  background-color: #f6f6f6;
  border: 1px solid #676767;
  border-radius: 10px;
  padding: 11px 11px 1px 44px;
}
.dropdown-list__item__heading {
  margin-bottom: 11px;
  transition: color 0.2s;
  cursor: pointer;
  text-transform: none;
}
.dropdown-list__item__heading:hover {
  color: #676767;
}
.dropdown-list__item__heading:hover .dropdown-list__button {
  background-color: #676767;
}
.dropdown-list__item__heading:hover .dropdown-list__button:before, .dropdown-list__item__heading:hover .dropdown-list__button:after {
  background-color: #fff;
}
.dropdown-list__item--is-open .dropdown-list__item__heading:hover .dropdown-list__button {
  background-color: #676767;
}
.dropdown-list__item--is-open .dropdown-list__content {
  padding-top: 11px;
}
.dropdown-list__content {
  transition: max-height 0.5s cubic-bezier(0.46, 0.96, 0.43, 0.94);
  display: none;
  overflow: hidden;
  text-transform: none;
}
.dropdown-list__header {
  font-weight: bold;
  text-align: center;
}
.dropdown-list__button {
  width: 28px;
  height: 28px;
  position: absolute;
  background-color: #f6f6f6;
  transition: background-color 0.2s cubic-bezier(0.46, 0.96, 0.43, 0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  left: 11px;
  border-radius: 50px;
}
.dropdown-list__item--is-open .dropdown-list__button {
  background-color: #676767;
}
.dropdown-list__item--is-open .dropdown-list__button:hover {
  background-color: #676767;
}
.dropdown-list__item--is-open .dropdown-list__button:hover:before, .dropdown-list__item--is-open .dropdown-list__button:hover:after {
  background-color: #fff;
}
.dropdown-list__button:before {
  content: "";
  width: 13px;
  height: 3px;
  border-radius: 5px;
  background-color: #444444;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s;
}
.dropdown-list__item--is-open .dropdown-list__button:before {
  background-color: #fff;
}
.dropdown-list__button:after {
  content: "";
  width: 3px;
  height: 13px;
  border-radius: 5px;
  background-color: #444444;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s cubic-bezier(0.46, 0.96, 0.43, 0.94), background-color 0.3s;
}
.dropdown-list__item--is-open .dropdown-list__button:after {
  opacity: 0;
}
.dropdown-list__item {
  list-style: none !important;
  position: relative;
}

.accreditations {
  background-color: #fff;
  padding-left: 22px;
  padding-right: 22px;
}
.accreditations__logos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 22px;
  justify-items: center;
  align-items: center;
}
.accreditations__logos img {
  max-height: 120px;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .accreditations__logos {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}
.accreditations__logos.owl-carousel {
  display: block;
}

.twocol {
  position: relative;
  z-index: 1;
}
.twocol__row {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .twocol__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .twocol__row--has-image-col .twocol__col--has-image {
    margin: 0 22px;
    position: absolute;
    top: 22px;
    left: 0;
    width: calc(100% - 22px* 2);
    padding: 0;
    height: 200px;
    z-index: 1;
  }
  .twocol__row--has-image-col .twocol__col--text {
    padding-top: 270px;
  }
}
.twocol__col {
  padding: 22px;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  position: relative;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s 0.2s, transform 0.5s 0.2s;
}
.twocol__col.is-visible {
  opacity: 1;
  transform: none;
}
.twocol__col--col1 {
  transform: translateX(-15px);
}
.twocol__col--col2 {
  transform: translateX(15px);
}
.twocol__col--text {
  background-position: left top;
}
.twocol__col p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1024px) {
  .twocol__col {
    padding: 22px;
  }
  .twocol__row--has-image-col .twocol__col {
    min-height: 460px;
    padding: 44px 66px;
  }
}
@media only screen and (min-width: 1200px) {
  .twocol__row--has-image-col .twocol__col {
    min-height: 540px;
  }
}
.twocol__image {
  border-radius: 20px;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .twocol__image {
    border-radius: 40px;
    margin: 44px 22px 22px 22px;
  }
}
.twocol__content {
  position: relative;
  z-index: 2;
}
.twocol__content img {
  border-radius: 20px;
}

.gallery__item {
  width: 100%;
  margin-bottom: 11px;
  transform: translateY(22px);
  transition: transform 1s ease-in-out, opacity 1.5s;
  width: calc(50% - 11px);
}
@media only screen and (min-width: 1024px) {
  .gallery__item {
    width: calc(33.3333% - 7.3333333333px);
  }
}
.gallery__item img {
  transition: transform 0.3s;
  width: 100%;
}
.gallery__subheading {
  font-size: 14px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .gallery__subheading {
    font-size: 20px;
    line-height: 1.3;
  }
}
.gallery__link {
  overflow: hidden;
  position: relative;
  display: block;
}
.gallery__link:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  background-color: #000;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1;
}
.gallery__link:after {
  content: "";
  width: 33px;
  height: 33px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url("./dist/img/svg/circle-plus--white.svg");
  background-size: 100%;
  transition: opacity 0.3s;
  opacity: 0;
  z-index: 2;
}
.gallery__link:hover:before, .gallery__link:hover:after {
  opacity: 0.7;
}
.gallery__link:hover img {
  transform: scale(1.1);
}

.pswp__button--share {
  display: none;
}

.m-container {
  padding-bottom: 22px;
  max-width: 1440px;
  margin: 0 auto;
}

.m-sizer {
  width: 100%;
  width: calc(50% - 11px);
}
@media only screen and (min-width: 1024px) {
  .m-sizer {
    width: calc(33.3333% - 7.3333333333px);
  }
}

.m-gutter {
  width: 11px;
}
@media only screen and (min-width: 1024px) {
  .m-gutter {
    width: 11px;
  }
}

.pswp__caption .pswp__caption__center {
  max-width: fit-content;
}

.tabbed-panels {
  background-color: #fff;
  position: relative;
  overflow: hidden;
}
.tabbed-panels-section .tabbed-panels-section__heading {
  margin-bottom: 44px;
}
.tabbed-panels__panel-container {
  position: relative;
  z-index: 1;
}
.tabbed-panels .wrap {
  position: relative;
}
.tabbed-panels__tabs {
  clear: both;
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 11px;
}
@media only screen and (min-width: 1024px) {
  .tabbed-panels__tabs {
    display: flex;
    margin: 22px 0;
    justify-content: center;
    gap: 11px;
  }
}
@media only screen and (min-width: 1024px) {
  .tabbed-panels__tabs--align-left {
    justify-content: flex-start;
    text-align: left;
  }
}
.tabbed-panels__footer {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: center;
  padding-top: 22px;
}
.tabbed-panels__tab {
  border-radius: 7px;
  padding-top: 11px;
  padding-bottom: 11px;
  background: none;
  transition: background-color 0.2s, color 0.2s;
  color: #676767;
  border: 2px solid #f6f6f6;
}
.tabbed-panels__tab:not(.tabbed-panels__tab--active):hover {
  background-color: #f6f6f6;
  color: #676767;
}
.tabbed-panels__tab--active {
  background-color: #071e62;
  color: #ffffff;
}
.tabbed-panels__item {
  display: none;
  position: absolute;
  border-radius: 12px;
  background-color: #f6f6f6;
  padding: 44px;
}
.tabbed-panels__item--2col.tabbed-panels__item--active {
  display: flex;
  gap: 22px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .tabbed-panels__item--2col.tabbed-panels__item--active {
    flex-direction: row;
  }
}
@media only screen and (min-width: 1024px) {
  .tabbed-panels__item--2col.tabbed-panels__item--active {
    gap: 44px;
  }
}
.tabbed-panels__item--2col .tabbed-panels__panel-content {
  flex: 1;
}
@media only screen and (min-width: 1200px) {
  .tabbed-panels__item--2col .tabbed-panels__panel-content {
    flex: 2;
  }
}
.tabbed-panels__item--2col .tabbed-panels__panel-image {
  border-radius: 12px;
  flex: 1;
  overflow: hidden;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInRightSmall;
  -moz-animation-name: fadeInRightSmall;
  animation-name: fadeInRightSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  -moz-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-delay: 0.3s;
}
@media only screen and (max-width: 767px) {
  .tabbed-panels__item--2col .tabbed-panels__panel-image {
    display: none;
  }
}
.tabbed-panels__item--2col .tabbed-panels img {
  border-radius: 12px;
}
.tabbed-panels__item--active {
  position: static;
  display: block;
}
.tabbed-panels__panel-content {
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInUpSmall;
  -moz-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  -moz-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-delay: 0.3s;
}
.tabbed-panels__panel-content p:last-child {
  margin-bottom: 0;
}
.tabbed-panels__panel-heading {
  text-align: center;
}
.tabbed-panels__panel-text {
  text-align: center;
  max-width: 650px;
  margin: 0 auto 44px auto;
}

.internal-slider {
  clear: both;
  position: relative;
  z-index: 2;
}
.internal-slider__slide-wrapper {
  margin: 0 auto;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .internal-slider__slide-wrapper {
    margin: 0 -104px 22px -104px;
  }
}
.internal-slider .slick-prev,
.internal-slider .slick-next {
  border: 0;
  background: #fff;
  width: 44px;
  height: 44px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  transition: transform 0.2s;
}
.internal-slider .slick-prev {
  left: 11px;
}
.internal-slider .slick-prev:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("./dist/img/svg/arrow-left.svg");
}
.internal-slider .slick-prev:hover {
  transform: translate(-5px, -50%);
}
.internal-slider .slick-next {
  right: 11px;
}
.internal-slider .slick-next:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("./dist/img/svg/arrow-right.svg");
}
.internal-slider .slick-next:hover {
  transform: translate(5px, -50%);
}
.internal-slider__image {
  border-radius: 40px;
  overflow: hidden;
}
@media only screen and (max-width: 479px) {
  .internal-slider__image {
    height: 250px;
  }
  .internal-slider__image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
.internal-slider__item {
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 1024px) {
  .internal-slider__item {
    padding-bottom: 44px;
  }
}
@media only screen and (min-width: 1600px) {
  .internal-slider__item {
    padding-bottom: 0;
  }
}
.internal-slider__subheading {
  margin-bottom: 11px;
}
.internal-slider__text {
  position: absolute;
  color: #444444;
  bottom: 16.5px;
  left: 22px;
  display: none;
  background-color: #fff;
  max-width: 315px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
}
@media only screen and (min-width: 480px) {
  .internal-slider__text {
    max-width: 450px;
  }
}
@media only screen and (min-width: 1024px) {
  .internal-slider__text {
    display: block;
  }
}
@media only screen and (min-width: 1600px) {
  .internal-slider__text {
    bottom: 22px;
  }
}
.internal-slider__text-wrapper {
  position: relative;
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.29, 0.74, 0.41, 0.91), opacity 0.3s;
  transition-delay: 0.5s;
  transform: translateY(50px);
  opacity: 0;
}
@media only screen and (min-width: 599px) {
  .internal-slider__text-wrapper {
    padding: 11px 22px;
  }
}
.slick-current .internal-slider__text-wrapper {
  opacity: 1;
  transform: none;
}
.internal-slider__heading {
  color: #071e62;
}

.image-text-columns {
  padding-top: 22px;
  padding-bottom: 22px;
  position: relative;
}
.image-text-columns__main {
  --cols: 3;
  position: relative;
  z-index: 2;
  display: grid;
  justify-content: center;
  gap: 20px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .image-text-columns__main {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .image-text-columns__main {
    display: flex;
    flex-wrap: wrap;
  }
  .image-text-columns__main > .image-text-columns__item {
    width: calc((100% / var(--cols) - 20px));
    justify-content: center;
  }
}
.image-text-columns__item {
  width: 100%;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  opacity: 0;
}
.is-visible .image-text-columns__item {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInUpSmall;
  -moz-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
  -moz-animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
  animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
}
.is-visible .image-text-columns__item:nth-child(1) {
  animation-delay: 0.25s;
}
.is-visible .image-text-columns__item:nth-child(2) {
  animation-delay: 0.5s;
}
.is-visible .image-text-columns__item:nth-child(3) {
  animation-delay: 0.75s;
}
.is-visible .image-text-columns__item:nth-child(4) {
  animation-delay: 1s;
}
.is-visible .image-text-columns__item:nth-child(5) {
  animation-delay: 1.25s;
}
.is-visible .image-text-columns__item:nth-child(6) {
  animation-delay: 1.5s;
}
.is-visible .image-text-columns__item:nth-child(7) {
  animation-delay: 1.75s;
}
.is-visible .image-text-columns__item:nth-child(8) {
  animation-delay: 2s;
}
.image-text-columns__item-heading {
  margin-bottom: 11px;
  min-height: 2em;
}
.image-text-columns__image {
  display: inline-block;
}
.image-text-columns__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
  transition: transform 0.5s;
  text-decoration: none;
  color: #444444;
  font-weight: normal;
  font-size: 12px;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .image-text-columns__link {
    font-size: 12px;
    line-height: 1.7;
  }
}
@media screen and (min-width: 1024px) {
  .image-text-columns__link {
    font-size: 14px;
    line-height: 1.6;
  }
}
.image-text-columns__link:hover {
  text-decoration: none;
  transform: translateY(-64px);
}
.image-text-columns__subheading {
  display: none;
}
@media only screen and (min-width: 480px) {
  .image-text-columns__subheading {
    display: block;
  }
}
.image-text-columns__c2a {
  position: absolute;
  bottom: -33px;
}
.image-text-columns__c2a svg {
  fill: #252531;
  width: 22px;
  height: 22px;
}
.image-text-columns__text {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: 11px;
}
.image-text-columns__text p:last-of-type {
  margin-bottom: 0;
}
.image-text-columns__text ul {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin: 0;
  padding-left: 11px;
}
.image-text-columns__text ul li {
  font-size: 14px;
}

.icon-text-columns {
  padding-top: 44px;
  padding-bottom: 44px;
  position: relative;
}
@media only screen and (min-width: 599px) {
  .icon-text-columns {
    padding-top: 66px;
    padding-bottom: 66px;
  }
}
.icon-text-columns--has-bg .icon-text-columns__item {
  background-color: #fff;
}
.icon-text-columns__wrapper {
  border-radius: 12px;
  padding: 66px;
}
.icon-text-columns__main {
  position: relative;
  z-index: 2;
  display: grid;
  justify-content: center;
  gap: 20px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .icon-text-columns__main {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .icon-text-columns__main--3col {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.icon-text-columns__heading {
  font-weight: bold;
}
.icon-text-columns__item {
  width: 100%;
  flex: 1;
  overflow: hidden;
  position: relative;
  display: flex;
  gap: 11px;
}
.bg--none .icon-text-columns__item, .bg--white .icon-text-columns__item, .bg--lgrey-200 .icon-text-columns__item {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__item {
    padding: 44px 22px 22px 22px;
  }
  .icon-text-columns__item--has-text {
    padding: 22px;
  }
}
.icon-text-columns__item-text p:last-of-type {
  margin-bottom: 0;
}
.icon-text-columns__item-heading {
  margin-bottom: 5.5px;
  font-weight: bold;
  transition: color 0.5s;
}
.icon-text-columns__item-heading.subheading {
  letter-spacing: normal;
}
.icon-text-columns__image {
  display: inline-block;
  transition: transform 0.45s cubic-bezier(0.4, 0.12, 0.1, 1.35);
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image {
    margin-bottom: 11px;
  }
}
.icon-text-columns__image img {
  width: 22px;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image img {
    width: 44px;
  }
}
.icon-text-columns__image--medium img {
  width: 22px;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image--medium img {
    width: 44px;
  }
}
.icon-text-columns__image--large img {
  width: 40px;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image--large img {
    width: 80px;
  }
}
.icon-text-columns__link {
  display: flex;
  height: 100%;
  text-decoration: none;
  color: #444444;
  font-weight: normal;
}
.icon-text-columns__subheading {
  display: none;
}
@media only screen and (min-width: 480px) {
  .icon-text-columns__subheading {
    display: block;
  }
}
.icon-text-columns__c2a {
  position: absolute;
  bottom: -33px;
}
.icon-text-columns__c2a svg {
  fill: #071e62;
  width: 22px;
  height: 22px;
}
.icon-text-columns__text {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.icon-text-columns__text ul {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin: 0;
  padding-left: 11px;
}
.icon-text-columns__text ul li {
  font-size: 14px;
}

body.woocommerce #respond input#submit.alt,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
body.woocommerce input.button.alt,
body.woocommerce a.button,
body.woocommerce button.button, body.woocommerce-js #respond input#submit.alt,
body.woocommerce-js a.button.alt,
body.woocommerce-js button.button.alt,
body.woocommerce-js input.button.alt,
body.woocommerce-js a.button,
body.woocommerce-js button.button,
body .woocommerce #respond input#submit.alt,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce input.button.alt,
body .woocommerce a.button,
body .woocommerce button.button {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #659525;
  border: 2px solid #659525;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
  line-height: 22px;
  justify-content: center;
}
body.woocommerce #respond input#submit.alt:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover,
body.woocommerce input.button.alt:hover,
body.woocommerce a.button:hover,
body.woocommerce button.button:hover, body.woocommerce-js #respond input#submit.alt:hover,
body.woocommerce-js a.button.alt:hover,
body.woocommerce-js button.button.alt:hover,
body.woocommerce-js input.button.alt:hover,
body.woocommerce-js a.button:hover,
body.woocommerce-js button.button:hover,
body .woocommerce #respond input#submit.alt:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
body .woocommerce input.button.alt:hover,
body .woocommerce a.button:hover,
body .woocommerce button.button:hover {
  background: #496c1b;
  border-color: #496c1b;
  text-decoration: none;
}
body.woocommerce #respond input#submit.alt:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover,
body.woocommerce input.button.alt:hover,
body.woocommerce a.button:hover,
body.woocommerce button.button:hover, body.woocommerce-js #respond input#submit.alt:hover,
body.woocommerce-js a.button.alt:hover,
body.woocommerce-js button.button.alt:hover,
body.woocommerce-js input.button.alt:hover,
body.woocommerce-js a.button:hover,
body.woocommerce-js button.button:hover,
body .woocommerce #respond input#submit.alt:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
body .woocommerce input.button.alt:hover,
body .woocommerce a.button:hover,
body .woocommerce button.button:hover {
  background: #444444;
  color: #fff;
  border-color: #444444;
  text-decoration: none;
}
body.woocommerce #respond input#submit.alt.add_to_cart_button,
body.woocommerce a.button.alt.add_to_cart_button,
body.woocommerce button.button.alt.add_to_cart_button,
body.woocommerce input.button.alt.add_to_cart_button,
body.woocommerce a.button.add_to_cart_button,
body.woocommerce button.button.add_to_cart_button, body.woocommerce-js #respond input#submit.alt.add_to_cart_button,
body.woocommerce-js a.button.alt.add_to_cart_button,
body.woocommerce-js button.button.alt.add_to_cart_button,
body.woocommerce-js input.button.alt.add_to_cart_button,
body.woocommerce-js a.button.add_to_cart_button,
body.woocommerce-js button.button.add_to_cart_button,
body .woocommerce #respond input#submit.alt.add_to_cart_button,
body .woocommerce a.button.alt.add_to_cart_button,
body .woocommerce button.button.alt.add_to_cart_button,
body .woocommerce input.button.alt.add_to_cart_button,
body .woocommerce a.button.add_to_cart_button,
body .woocommerce button.button.add_to_cart_button {
  margin-bottom: 5.5px;
}
body.woocommerce #respond input#submit.alt.added,
body.woocommerce a.button.alt.added,
body.woocommerce button.button.alt.added,
body.woocommerce input.button.alt.added,
body.woocommerce a.button.added,
body.woocommerce button.button.added, body.woocommerce-js #respond input#submit.alt.added,
body.woocommerce-js a.button.alt.added,
body.woocommerce-js button.button.alt.added,
body.woocommerce-js input.button.alt.added,
body.woocommerce-js a.button.added,
body.woocommerce-js button.button.added,
body .woocommerce #respond input#submit.alt.added,
body .woocommerce a.button.alt.added,
body .woocommerce button.button.alt.added,
body .woocommerce input.button.alt.added,
body .woocommerce a.button.added,
body .woocommerce button.button.added {
  display: none;
}
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled {
  background: #659525;
}
body a.added_to_cart {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 5.5px 11px;
  text-decoration: none;
  background: #659525;
  border: 2px solid #659525;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
  line-height: 22px;
  width: 100%;
  justify-content: center;
}
body a.added_to_cart:hover {
  background: #496c1b;
  border-color: #496c1b;
  text-decoration: none;
}
body a.added_to_cart:hover {
  background: #071e62;
  color: #fff;
  border-color: #071e62;
  text-decoration: none;
}
body.woocommerce #respond input#submit.loading::after, body.woocommerce a.button.loading::after, body.woocommerce button.button.loading::after, body.woocommerce input.button.loading::after {
  height: 23px;
}
body .woocommerce #respond input#submit.disabled,
body .woocommerce #respond input#submit:disabled,
body .woocommerce #respond input#submit:disabled[disabled],
body .woocommerce a.button.disabled,
body .woocommerce a.button:disabled,
body .woocommerce a.button:disabled[disabled],
body .woocommerce button.button.disabled,
body .woocommerce button.button:disabled,
body .woocommerce button.button:disabled[disabled],
body .woocommerce input.button.disabled,
body .woocommerce input.button:disabled,
body .woocommerce input.button:disabled[disabled] {
  padding: 5.5px 22px;
}
body.woocommerce-cart table.cart td.actions .coupon .input-text {
  min-width: 200px;
  height: 44px;
}

body.woocommerce ul.products li.product.product-category img, body.woocommerce-page ul.products li.product.product-category img {
  margin: 0;
  transition: transform 0.2s linear;
}
body.woocommerce ul.products li.product.product-category a, body.woocommerce-page ul.products li.product.product-category a {
  display: block;
  overflow: hidden;
}
body.woocommerce ul.products li.product.product-category:hover img, body.woocommerce-page ul.products li.product.product-category:hover img {
  transform: scale(1.1);
}
body .woocommerce-loop-product__title {
  color: #444444;
  padding: 11px 0;
  margin-bottom: 11px;
  font-weight: 800;
}
@media only screen and (min-width: 1200px) {
  body .woocommerce-loop-product__title {
    padding-left: 0;
    padding-right: 0;
  }
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 11px 0;
  margin-bottom: 11px;
}
body.woocommerce ul.products li.product .onsale {
  right: auto;
  left: 11px;
  top: 11px;
  padding: 5.5px 11px;
  min-height: unset;
  line-height: 1.5;
  margin: 0;
}
body.woocommerce ul.products.columns-4 {
  grid-template-columns: 1fr;
  display: grid;
  grid-gap: 22px;
}
body.woocommerce ul.products.columns-4:before, body.woocommerce ul.products.columns-4:after {
  display: none;
}
@media only screen and (min-width: 480px) {
  body.woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr);
    display: grid;
    grid-gap: 22px;
  }
}
@media only screen and (min-width: 1024px) {
  body.woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
body .product__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
  padding-bottom: 64px;
  background-color: #fff;
}
body .product__inner {
  text-align: center;
}
body .product__inner img {
  display: inline-block;
  object-fit: cover;
  aspect-ratio: 1;
}
body .add_to_cart_button {
  width: 100%;
}
body .add_to_cart_button:hover {
  color: #071e62;
}
body .woocommerce-loop-category__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.4s transform, background-color 0.4s, color 0.4s, border-color 0.4s;
  z-index: 2;
  width: 90%;
}
body.woocommerce ul.products li.product .woocommerce-loop-category__title {
  margin-top: 0;
  font-size: 16px;
  line-height: 1.4;
  text-transform: none;
  font-weight: normal;
  color: #071e62;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: rgba(221, 221, 221, 0.8);
  padding: 5.5px;
  position: absolute;
  bottom: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  body.woocommerce ul.products li.product .woocommerce-loop-category__title {
    font-size: 20px;
    line-height: 1.3;
  }
}
body.woocommerce ul.products li.product .woocommerce-loop-category__title__c2a {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
  background-color: #659525;
  padding: 5.5px 11px;
  border-radius: 2px;
  transition: opacity 0.3s, transform 0.3s, background-color 0.3s;
  transition-delay: 0s;
  min-width: 100px;
}
body.woocommerce ul.products li.product .price, body.woocommerce-cart ul.products li.product .price {
  display: inline-block;
  color: #659525;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  body.woocommerce ul.products li.product .price, body.woocommerce-cart ul.products li.product .price {
    font-size: 20px;
    line-height: 1.3;
  }
}
body.woocommerce ul.products li.product:not(.product-category) a img {
  margin-bottom: 0;
  aspect-ratio: 1;
  object-fit: cover;
}
body.woocommerce ul.products li.product .star-rating {
  font-size: 1em;
}
@media only screen and (min-width: 768px) {
  body.tax-product_cat ul.products li.product {
    max-width: 500px;
  }
}
body.tax-product_cat ul.products li.product:nth-last-child(2) {
  justify-self: end;
}
body.tax-product_cat ul.products li.product:last-child:first-child {
  max-width: 333px;
}
body.tax-pwb-brand ul.products li.product:not(.product-category), body.tax-product_cat ul.products li.product:not(.product-category), body.search-results ul.products li.product:not(.product-category),
body .related ul.products li.product:not(.product-category),
body .upsells ul.products li.product:not(.product-category), body.woocommerce-cart ul.products li.product:not(.product-category) {
  position: relative;
  transition: background-color 0.35s;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
body.tax-pwb-brand ul.products li.product:not(.product-category) .product__footer, body.tax-product_cat ul.products li.product:not(.product-category) .product__footer, body.search-results ul.products li.product:not(.product-category) .product__footer,
body .related ul.products li.product:not(.product-category) .product__footer,
body .upsells ul.products li.product:not(.product-category) .product__footer, body.woocommerce-cart ul.products li.product:not(.product-category) .product__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}
body.woocommerce-cart ul.products li.product:not(.product-category) .product__footer {
  padding: 0;
}
body.woocommerce .woocommerce-result-count {
  margin-bottom: 0;
  margin-top: 7px;
}
@media only screen and (max-width: 768px) {
  body.woocommerce .woocommerce-result-count {
    float: none;
    text-align: center;
    margin-bottom: 11px;
  }
}
body.woocommerce .woocommerce-ordering {
  position: relative;
}
@media only screen and (max-width: 768px) {
  body.woocommerce .woocommerce-ordering {
    float: none;
    max-width: 300px;
    margin: 0 auto 22px auto;
    clear: both;
    margin-top: 11px;
  }
}
body.woocommerce .woocommerce-ordering:after {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid currentColor;
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
}
body.woocommerce .woocommerce-ordering select {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 2px;
  border: 1px solid #252531;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  height: 40px;
  color: #666;
  padding-left: 11px;
  padding-right: 36px;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  body.woocommerce .woocommerce-ordering select {
    width: 100%;
  }
}
body.woocommerce .woocommerce-ordering select:focus {
  outline: 0;
}
body .form-wppp-select {
  position: relative;
  margin-left: auto !important;
  margin-right: auto;
  margin-bottom: 11px;
  float: none !important;
  max-width: 300px;
}
@media only screen and (min-width: 768px) {
  body .form-wppp-select {
    margin-right: 0;
    margin-left: 5px !important;
    float: right !important;
    margin-bottom: 0;
  }
}
body .form-wppp-select:after {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid currentColor;
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
}
body .wppp-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 2px;
  border: 1px solid #252531;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
  height: 40px;
  color: #666;
  padding-left: 11px;
  padding-right: 36px;
}
@media only screen and (max-width: 768px) {
  body .wppp-select {
    width: 100%;
  }
}
body .wppp-select:focus {
  outline: 0;
}
body.woocommerce nav.woocommerce-pagination {
  padding-top: 44px;
}
body.woocommerce nav.woocommerce-pagination ul {
  font-size: 16px;
  line-height: 1.4;
  border: 0;
}
@media screen and (min-width: 768px) {
  body.woocommerce nav.woocommerce-pagination ul {
    font-size: 20px;
    line-height: 1.3;
  }
}
body.woocommerce nav.woocommerce-pagination ul li span.current {
  color: #252531;
}
body.woocommerce nav.woocommerce-pagination ul li span {
  background-color: #a3a3a3;
}
body.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}
body.woocommerce nav.woocommerce-pagination ul li a, body.woocommerce nav.woocommerce-pagination ul li span {
  padding: 0;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #252531;
}
body.woocommerce nav.woocommerce-pagination ul li a.next {
  color: #252531;
  font-size: 32px;
}

body.woocommerce.single-product .woocommerce-breadcrumb {
  font-weight: 500;
  margin-bottom: 0;
  color: #252531;
}
body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
  color: #071e62;
}
body.woocommerce .quantity .qty {
  height: 37px;
}
body .product-summary--has-related {
  clear: both;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 44px;
}
body .sptotal {
  margin-top: 11px;
  border-top: 1px #676767 solid;
  border-bottom: 1px #676767 solid;
}
body.woocommerce div.product .product_title {
  margin-bottom: 11px;
  color: #071e62;
}
body .product_meta {
  margin-bottom: 22px;
}
body.woocommerce div.product form.cart .variations select {
  border: 1px solid #071e62;
  margin-bottom: 11px;
}
body .woocommerce-variation-price {
  margin-bottom: 11px;
}
body.woocommerce-page div.product .woocommerce-tabs {
  padding-top: 22px;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  background-color: #f6f6f6;
  border-radius: 5px;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  border-radius: 5px;
  background: none;
  text-transform: uppercase;
  transition: background-color 0.2s;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li:before, body.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
  display: none;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
  background-color: #a3a3a3;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background-color: #071e62;
  color: #fff;
}
body section.up-sells {
  padding-top: 22px;
}

body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price, body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: #659525;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price, body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    font-size: 26px;
    line-height: 1.1;
  }
}
body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price > p, body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price > p {
  font-size: 20px;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price > p, body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price > p {
    font-size: 26px;
    line-height: 1.1;
  }
}
body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price > p:nth-child(2), body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price > p:nth-child(2) {
  font-size: 12px !important;
}

body .woocommerce-MyAccount-navigation {
  margin-bottom: 44px;
}
@media only screen and (min-width: 769px) {
  body .woocommerce-MyAccount-navigation {
    margin-bottom: 0;
  }
}
body .woocommerce-MyAccount-navigation ul {
  margin: 0;
}
body .woocommerce-MyAccount-navigation li {
  margin-bottom: 11px;
  position: relative;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 1024px) {
  body .woocommerce-MyAccount-navigation li {
    width: 100%;
  }
}
body .woocommerce-MyAccount-navigation li a {
  transition: color 0.2s;
  color: #444444;
}
body .woocommerce-MyAccount-navigation li:hover a {
  text-decoration: underline;
}
body .woocommerce-MyAccount-navigation li.is-active a {
  font-weight: bold;
  background-color: #f6f6f6;
  color: #071e62;
  padding: 5.5px;
  width: 100%;
}
body .account-heading {
  padding-bottom: 11px;
  border-bottom: 2px groove #ffffff;
  display: block;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  width: 66%;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
  padding: 22px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 768px) {
  body.woocommerce-account .woocommerce-MyAccount-content, body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
  }
}
body.page-my-account .woocommerce {
  margin-bottom: 44px;
}
body form.woocommerce-EditAccountForm fieldset {
  margin-top: 30px;
}
body form.woocommerce-EditAccountForm legend {
  font-weight: bold;
  margin-bottom: 11px;
}
body form.woocommerce-EditAccountForm .form-row {
  padding: 0;
}
body.woocommerce-account .woocommerce-form-login, body.woocommerce-account .woocommerce-form-register {
  margin-top: 0;
}
body .woocommerce .woocommerce-customer-details address {
  padding: 22px;
  position: relative;
  background-color: #fff;
  border: 1px solid #071e62;
  line-height: 1.4;
  border-radius: 5px;
}
@media only screen and (min-width: 1024px) {
  body .woocommerce .woocommerce-customer-details address {
    padding: 22px;
  }
  body .woocommerce .woocommerce-customer-details address--half-pad {
    padding: 22px;
  }
}

body .woocommerce-store-notice,
body p.demo_store {
  background-color: rgba(246, 246, 246, 0.9);
  -webkit-animation-duration: 0.5s;
  -moz-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInDownSmall;
  -moz-animation-name: fadeInDownSmall;
  animation-name: fadeInDownSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-delay: 1s;
}
body.woocommerce span.onsale {
  background-color: #fc0002;
  border-radius: 3px;
}
body.woocommerce img.image-as-bg,
body .woocommerce-page img.image-as-bg {
  height: 100%;
}
body .woocommerce-notices-wrapper {
  padding: 0 22px;
}
body .woocommerce-error,
body .woocommerce-info,
body .woocommerce-message {
  background-color: #f6f6f6;
}
@media only screen and (max-width: 598px) {
  body.woocommerce .woocommerce-message {
    display: flex;
    flex-direction: column;
  }
  body.woocommerce .woocommerce-message a {
    float: none;
    margin-bottom: 10px;
  }
}
body .woocommerce-info {
  border: 1px solid #a3a3a3;
}
body.woocommerce #reviews #comments ol.commentlist li img.avatar {
  border-radius: 100%;
  border: 0;
  padding: 0;
  width: 48px;
}
body.woocommerce #reviews #comments ol.commentlist li .comment-text {
  background-color: #676767;
  border: 0;
  margin-left: 75px;
}
body.woocommerce #reviews #comments h2 {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 11px;
}
@media screen and (min-width: 768px) {
  body.woocommerce #reviews #comments h2 {
    font-size: 20px;
    line-height: 1.3;
  }
}
body.woocommerce #reviews #comments {
  margin-bottom: 44px;
}
@media only screen and (min-width: 1024px) {
  body.woocommerce #review_form {
    position: sticky;
    top: 22px;
  }
}
body.woocommerce #reviews #comments ol.commentlist li .meta {
  color: #fff;
}
@media only screen and (min-width: 1024px) {
  body.woocommerce #review_form #respond textarea {
    min-height: 200px;
  }
}
body .woocommerce-info::before {
  color: #071e62;
}
body .comment-reply-title {
  text-transform: uppercase;
  color: #fc0002;
  font-size: 16px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  body .comment-reply-title {
    font-size: 20px;
    line-height: 1.3;
  }
}
body .comment-form-rating {
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}
body .comment-form-rating label {
  margin-right: 11px;
}
body .comment-form-rating .stars {
  margin-bottom: 0;
  line-height: 1;
}

body.woocommerce-cart .wc-block-cart__submit-button {
  background-color: #659525;
  /* Replace with your desired color */
  color: #fff;
  border: none;
  border-radius: 5px;
  transition: background-color 0.2s, border-color 0.2s;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 500;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover {
  background-color: #071e62;
  /* Hover color */
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background-color: #659525;
  /* Replace with your desired color */
  color: #fff;
  border: none;
  border-radius: 5px;
  transition: background-color 0.2s, border-color 0.2s;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 500;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-buttonn:hover {
  background-color: #071e62;
  /* Hover color */
}

body .woocommerce table.shop_table tr.tax-rate th {
  background-color: #fff;
  color: #071e62;
}
body .woocommerce table.shop_table tr.dpd_uk-shipping th {
  width: 50%;
}
body .woocommerce table.shop_table th {
  color: #fff;
  background-color: #071e62;
}
body .woocommerce table.shop_table th a {
  color: #fff;
}
body .woocommerce table.shop_table td {
  background-color: #fff;
}
body .woocommerce table.shop_table td.woocommerce-orders-table__cell-order-actions {
  display: flex;
  gap: 11px;
}
body .woocommerce table.shop_table td.woocommerce-orders-table__cell-order-actions .button {
  padding-top: 5.5px;
  padding-bottom: 5.5px;
}
body .woocommerce table.shop_table .woocommerce-shipping-totals th,
body .woocommerce table.shop_table .cart-subtotal th,
body .woocommerce table.shop_table .order-total th,
body .woocommerce table.shop_table .recurring-totals th,
body .woocommerce table.shop_table .cart-discount th {
  background-color: #fff;
  color: #444444;
}
body .woocommerce form .form-row input.input-text,
body .woocommerce form .form-row textarea {
  background-color: #a3a3a3;
}
body .woocommerce table.shop_table {
  margin-bottom: 44px;
  border-radius: 5px;
  overflow: hidden;
}
body .woocommerce table.shop_table .order-total td,
body .woocommerce table.shop_table .order-total th {
  background-color: #071e62;
  color: #fff;
}
body.woocommerce-cart .cart-collaterals .shipping-calculator-form {
  padding-top: 22px;
}
body .woocommerce table.woocommerce-table--order-details thead th {
  background-color: #071e62;
  color: #fff;
}
body .woocommerce table.woocommerce-table--order-details th {
  color: #252531;
  background-color: #ffffff;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
body .woocommerce table.woocommerce-table--order-details th a {
  color: #252531;
}
body .woocommerce-checkout-review-order-table tfoot td {
  background-color: #a3a3a3;
}
body.woocommerce .woocommerce-tabs table th {
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  padding: 8px;
}
body.woocommerce .woocommerce-tabs table td {
  padding: 8px;
}

/*--------------------------------------------------------------
4.0 Vendor
--------------------------------------------------------------*/
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none;
}

.pswp * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #252531;
  opacity: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC;
}

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline;
}

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*

	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0 16px 0 0;
  float: right;
  opacity: 0.75;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.pswp__button--close, .pswp__button--arrow--right {
  margin-right: 0;
}

.pswp__button:focus,
.pswp__button:hover {
  opacity: 1;
}

.pswp__button:active {
  outline: none;
  opacity: 0.9;
}

.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background-image: url(./photoswipe/default-skin.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 264px 88px;
  border-radius: 100%;
  width: 30px;
  height: 30px;
}

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
.pswp--svg .pswp__button--arrow--left:before,
.pswp--svg .pswp__button--arrow--right:before {
    background-image: url(./photoswipe/default-skin.svg);
  }

  .pswp--svg .pswp__button--arrow--left,
.pswp--svg .pswp__button--arrow--right {
    background: none;
  }
}
.pswp__button--close {
  background-position: -7px -51px;
  background-color: #fff;
}

.pswp__button--share {
  background-position: -50px -51px;
  background-color: #fff;
  display: none;
}

.pswp__button--fs {
  display: none;
  background-position: -7px -7px;
  background-color: #fff;
}

.pswp--supports-fs .pswp__button--fs {
  display: block;
}

.pswp--fs .pswp__button--fs {
  background-position: -59px -7px;
}

.pswp__button--zoom {
  display: none;
  background-position: -94px -7px;
  background-color: #fff;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -138px -7px;
}

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: "";
  top: 35px;
  background-color: white;
  height: 30px;
  width: 30px;
  border-radius: 100%;
  position: absolute;
}

.pswp__button--arrow--left:before {
  left: 20px;
  background-position: -141px -44px;
}

.pswp__button--arrow--right:before {
  right: 20px;
  background-position: -94px -44px;
}

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__share-modal--hidden {
  display: none;
}

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #fff;
  top: 60px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 60px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
  -ms-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}

.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000;
}

.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}

.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}

.pswp__share-modal--fade-in {
  opacity: 1;
}

.pswp__share-modal--fade-in .pswp__share-tooltip {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}

a.pswp__share--facebook:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #fff;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}

a.pswp__share--facebook:hover {
  background: #3e5c9a;
  color: #fff;
}

a.pswp__share--facebook:hover:before {
  border-bottom-color: #3e5c9a;
}

a.pswp__share--twitter:hover {
  background: #55acee;
  color: #fff;
}

a.pswp__share--pinterest:hover {
  background: #ccc;
  color: #ce272d;
}

a.pswp__share--download:hover {
  background: #ddd;
}

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 11px;
  line-height: 20px;
  letter-spacing: 1.5px;
  color: #fff;
  padding: 25px 10px 10px 26px;
  font-family: "Poppins", Helvetica, Arial, "Lucida Grande", sans-serif;
}

/*

	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}

.pswp__caption small {
  font-size: 11px;
  color: #bbb;
}

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 18px;
  padding: 10px;
  line-height: 24px;
  color: #ccc;
}

.pswp__caption--empty {
  display: none;
}

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

.pswp__preloader--active {
  opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(./photoswipe/preloader.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}

.pswp--css_animation .pswp__preloader__cut {
  /* 
  	The idea of animating inner circle is based on Polymer ("material") loading indicator 
  	 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
  */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #fff;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}
@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
/*

	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  padding: 22px;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}

.pswp__top-bar,
.pswp__caption {
  background-color: none;
}

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: none;
}

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}

.pswp__element--disabled {
  display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
  background: none;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJ2YXJzL19nZW5lcmFsLnNjc3MiLCJ2YXJzL19jb2xvdXJzLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2FuaW1hdGUuc2NzcyIsIl9sYXlvdXQuc2NzcyIsIl9oZWxwZXJzLnNjc3MiLCJtb2R1bGVzL19uYXYuc2NzcyIsIm1vZHVsZXMvX3RhYmxlcy5zY3NzIiwibW9kdWxlcy9fYnV0dG9uLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci1zZWFyY2guc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fbG9nby5zY3NzIiwibW9kdWxlcy9fc2xpZGVtZW51LnNjc3MiLCJ2YXJzL19ncmFkaWVudHMuc2NzcyIsIm1vZHVsZXMvX293bGNhcm91c2VsLnNjc3MiLCJtb2R1bGVzL190b2dnbGUtbmF2LnNjc3MiLCJtb2R1bGVzL19zb2NpYWwtbGlua3Muc2NzcyIsIm1vZHVsZXMvX2NvbnRhY3QtbGluay5zY3NzIiwibW9kdWxlcy9fZXJyb3ItNDA0LnNjc3MiLCJtb2R1bGVzL19ncmFkaWVudC1zaGFkb3cuc2NzcyIsIm1vZHVsZXMvX292ZXJsYXkuc2NzcyIsIm1vZHVsZXMvX3N2Z2ljb24uc2NzcyIsIm1vZHVsZXMvX2F2YXRhci5zY3NzIiwibW9kdWxlcy9fZ2Zvcm0uc2NzcyIsIm1vZHVsZXMvX2xpdHkuc2NzcyIsIm1vZHVsZXMvX3Bvc3Quc2NzcyIsIm1vZHVsZXMvX2Jsb2NrLWxpbmsuc2NzcyIsIm1vZHVsZXMvX3NsaWNrLnNjc3MiLCJtb2R1bGVzL19pY29uLWJ1bGxldC1saXN0LnNjc3MiLCJtb2R1bGVzL19wb3N0LXNoYXJlLnNjc3MiLCJtb2R1bGVzL19wb3N0LWxpc3Quc2NzcyIsIm1vZHVsZXMvX2ZlYXR1cmVzLWxpc3Quc2NzcyIsIm1vZHVsZXMvX2JyZWFkY3J1bWJzLnNjc3MiLCJtb2R1bGVzL193aWRnZXQuc2NzcyIsIm1vZHVsZXMvX3BhZ2luYXRpb24uc2NzcyIsIm1vZHVsZXMvX3RvcGJhci5zY3NzIiwibW9kdWxlcy9fdXNwcy5zY3NzIiwibW9kdWxlcy9fd3AtZ29vZ2xlLXJldmlld3Muc2NzcyIsIm1vZHVsZXMvX2dvb2dsZS1yZXZpZXdzLnNjc3MiLCJtb2R1bGVzL19ob21lLWZlYXR1cmVzLnNjc3MiLCJtb2R1bGVzL19ob21lLWJhbm5lci5zY3NzIiwibW9kdWxlcy9fcHJvZHVjdC1jYXJkLnNjc3MiLCJtb2R1bGVzL19zaWJsaW5nLXBhZ2UtbGlua3Muc2NzcyIsIm1vZHVsZXMvX3JlcXVlc3QtY2F0YWxvZ3VlLnNjc3MiLCJtb2R1bGVzL19hd3Muc2NzcyIsImxheW91dHMvX3NwYWNlci5zY3NzIiwibGF5b3V0cy9fc2VjdGlvbi1oZWFkZXIuc2NzcyIsImxheW91dHMvX3Byb2R1Y3QtY2Fyb3VzZWwuc2NzcyIsImxheW91dHMvX2ltYWdlLXRleHQtcm93LnNjc3MiLCJsYXlvdXRzL19jYXNlLXN0dWRpZXMtc2xpZGVyLnNjc3MiLCJsYXlvdXRzL19jMmEtc2VjdGlvbi5zY3NzIiwibGF5b3V0cy9fZm9ybS1zZWN0aW9uLnNjc3MiLCJsYXlvdXRzL19vbmVjb2wuc2NzcyIsImxheW91dHMvX2NvbnRhY3QtbWFpbi5zY3NzIiwibGF5b3V0cy9faWNvbi1saW5rcy5zY3NzIiwibGF5b3V0cy9fcHJvZHVjdC1jYXRlZ29yeS1saW5rLWdyaWQuc2NzcyIsImxheW91dHMvX3BhZ2UtbGluay1ncmlkLnNjc3MiLCJsYXlvdXRzL19kcm9wZG93bi1saXN0LnNjc3MiLCJsYXlvdXRzL19hY2NyZWRpdGF0aW9ucy5zY3NzIiwibGF5b3V0cy9fdHdvY29sLnNjc3MiLCJsYXlvdXRzL19nYWxsZXJ5LnNjc3MiLCJsYXlvdXRzL190YWJiZWQtcGFuZWxzLnNjc3MiLCJsYXlvdXRzL19pbnRlcm5hbC1zbGlkZXIuc2NzcyIsImxheW91dHMvX2ltYWdlLXRleHQtY29sdW1ucy5zY3NzIiwibGF5b3V0cy9faWNvbi10ZXh0LWNvbHVtbnMuc2NzcyIsIndvb2NvbW1lcmNlL19idXR0b25zLnNjc3MiLCJ3b29jb21tZXJjZS9fcHJvZHVjdC1sb29wLnNjc3MiLCJ3b29jb21tZXJjZS9fc2luZ2xlLXByb2R1Y3Quc2NzcyIsIndvb2NvbW1lcmNlL19wcmljZS5zY3NzIiwid29vY29tbWVyY2UvX2FjY291bnQuc2NzcyIsIndvb2NvbW1lcmNlL19nbG9iYWwuc2NzcyIsIndvb2NvbW1lcmNlL19jYXJ0LnNjc3MiLCJ3b29jb21tZXJjZS9fY2hlY2tvdXQuc2NzcyIsIndvb2NvbW1lcmNlL190YWJsZXMuc2NzcyIsInZlbmRvci9waG90b3N3aXBlL19waG90b3N3aXBlLnNjc3MiLCJ2ZW5kb3IvcGhvdG9zd2lwZS9fZGVmYXVsdC1za2luLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUF3QkE7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUN2Q0E7QUNBQTtBQUNBO0VBQ0k7RUFDQTs7O0FBR0o7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUF5REk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTtFQUNBLGFDcEdDO0VEc0dEO0VBQ0EsT0UvRk07RUZnR04sWUUxR007O0FIZ0dOO0VDSUo7SUFhUTtJQUNBOzs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBVUk7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTtFQUNBOzs7QUFLQTtBQUFBO0FBQUE7RUFFSTs7O0FBSVI7QUFBQTtFQUVJOzs7QUFHSjtBQVNJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7OztBQVdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVJOzs7QUFJUjtBQUVBO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFJQTtFQUNJO0VBQ0EsZUNoTkg7O0FEaU5HO0VBQ0k7RUFDQTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0FBQ0E7QUFBQTtFQUVJOzs7QUFHSjtBQUNBO0VBQ0k7OztBQUdKO0FBQ0E7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQ0E7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0FBQ0E7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7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SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7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RDtFQUNBLE9Vdkt3QztFVndLeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVyS0o7RVY2SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPVXpKd0M7RVYwSnhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVM0pJO0VWeUlKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZVTdJd0I7RVY4SXhCO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPRTVFTTtFRjZFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXhKUTtFQUNJLFlSc0VOO0VRckVNO0VBQ0EsY1JvRU47RVFuRU07O0FBckJSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRXBFTTtFRnFFTjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT0dqS007RUhrS047RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVyS0o7RVY2SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPVXpKd0M7RVYwSnhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVaktKO0VWeUlKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZVTdJd0I7RVY4SXhCO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPRTVFTTtFRjZFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXhKUTtFQUNJLFlSc0VOO0VRckVNO0VBQ0EsY1JvRU47RVFuRU07O0FBckJSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRXBFTTtFRnFFTjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT1VsSzRDO0VWbUs1QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXJLSjtFVjZJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUVwRU07RUZxRU47RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9Vekp3QztFVjBKeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVqS0o7RVZ5SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0l3QjtFVjhJeEI7RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9FNUVNO0VGNkVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVeEpRO0VBQ0ksWVJzRU47RVFyRU07RUFDQSxjUm9FTjtFUW5FTTs7QUFyQlI7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPR2pLTTtFSGtLTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXJLSjtFVjZJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUVwRU07RUZxRU47RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9Vekp3QztFVjBKeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVqS0o7RVZ5SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0l3QjtFVjhJeEI7RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9FNUVNO0VGNkVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVeEpRO0VBQ0ksWVJzRU47RVFyRU07RUFDQSxjUm9FTjtFUW5FTTs7QUFyQlI7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPVWxLNEM7RVZtSzVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcktKO0VWNklKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRXBFTTtFRnFFTjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT1V6SndDO0VWMEp4QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVWpLSjtFVnlJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVU3SXdCO0VWOEl4QjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT0U1RU07RUY2RU47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVV4SlE7RUFDSSxZUnNFTjtFUXJFTTtFQUNBLGNSb0VOO0VRbkVNOztBQXJCUjtFVnVKSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUVwRU07RUZxRU47RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9VbEs0QztFVm1LNUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVyS0o7RVY2SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPVXpKd0M7RVYwSnhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVaktKO0VWeUlKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZVTdJd0I7RVY4SXhCO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPRTVFTTtFRjZFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXhKUTtFQUNJLFlSc0VOO0VRckVNO0VBQ0EsY1JvRU47RVFuRU07O0FBckJSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRXBFTTtFRnFFTjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT1VsSzRDO0VWbUs1QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXJLSjtFVjZJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUVwRU07RUZxRU47RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9Vekp3QztFVjBKeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVqS0o7RVZ5SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0l3QjtFVjhJeEI7RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9FNUVNO0VGNkVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVeEpRO0VBQ0ksWVJzRU47RVFyRU07RUFDQSxjUm9FTjtFUW5FTTs7QUFyQlI7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPR2pLTTtFSGtLTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXJLSjtFVjZJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUVwRU07RUZxRU47RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9Vekp3QztFVjBKeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVqS0o7RVZ5SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0l3QjtFVjhJeEI7RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9FNUVNO0VGNkVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVeEpRO0VBQ0ksWVJzRU47RVFyRU07RUFDQSxjUm9FTjtFUW5FTTs7QUFyQlI7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPR2pLTTtFSGtLTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXJLSjtFVjZJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUVwRU07RUZxRU47RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9Vekp3QztFVjBKeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVqS0o7RVZ5SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0l3QjtFVjhJeEI7RUFDQSxhRW5LQztFRm9LRDtFQUNBO0VBQ0E7RUFDQSxXRXBLQztFRnFLRDtFQUNBLE9FNUVNO0VGNkVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVeEpRO0VBQ0ksWVJzRU47RVFyRU07RUFDQSxjUm9FTjtFUW5FTTs7QUFyQlI7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFcEVNO0VGcUVOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPVWxLNEM7RVZtSzVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcktKO0VWNklKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRXBFTTtFRnFFTjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT1V6SndDO0VWMEp4QztFQUNBO0VBQ0E7RUFDQTtF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RUFDSzs7O0FBRVY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNJO0VBQ0M7RUFDRztFQUNSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNJO0VBQ0M7RUFDRzs7O0FBRVY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ1E7OztBQUVWO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ1E7OztBQUVWO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNROzs7QUFFVjtFQUNFOzs7QUFFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ1E7RUFDUjs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNRO0VBQ1I7OztBQUVGO0VBQ0U7OztBQ2pNQTtFNUIwQ0k7RUFFSTtFNEIxQ0o7RUFDQTs7QTVCMkJJO0U0QjlCUjtJNUIwQ0k7SUFFSTs7O0E0QnZDSjtBQUFBO0VBRUk7RUFDQTs7QTVCb0ZSO0U0QnZG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QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RXBFdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRy9KTTtFSGdLTjtFQUNBLGFFbktDO0VGb0tEO0VBQ0E7RUFDQTtFQUNBLFdFcEtDO0VGcUtEO0VBQ0EsT29FOUo0QztFcEUrSjVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW9FaktRLGFsRVRQO0VrRVdPOztBcEVrS0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QW9FbktBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSSxZakVWTjtFaUVXTTtFQUNBLGNqRVpOO0VpRWFNOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBS1o7RUFDSSxZakVqQ0U7O0FpRW9DTjtFcEVzSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlHL0pNO0VIZ0tOO0VBQ0EsYUVuS0M7RUZvS0Q7RUFDQTtFQUNBO0VBQ0EsV0VwS0M7RUZxS0Q7RUFDQSxPb0VsSXdDO0VwRW1JeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFb0V0SUksYWxFcENIO0VrRXFDRztFQUNBOztBcEV1SUE7RUFDSTtFQUNBO0VBQ0E7O0FvRXhJSjtFQUNJLFlqRXpDRjtFaUUwQ0U7RUFDQSxjakUzQ0Y7RWlFNENFOztBQUtSO0VBS0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFB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O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FDcExGO0FBQ0E7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBWUE7O0FBQUE7O0FBQUE7QUFLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUVJOzs7QUFHUjtBQUFBO0VBRUk7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtBQUNBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUNJO0VBQ0E7QUFBQTtBQUFBO0lBR0k7OztFQUVKO0FBQUE7SUFFSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUNBO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjs7QUFBQTs7QUFBQTtBQUtBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0FBQ0k7RUFDQTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQ0E7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKOztBQUFBOztBQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhNUVyVEM7OztBNEV3VEw7O0FBQUE7O0FBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFDQTtFQUNJOzs7QUFHSjs7QUFBQTs7QUFBQTs7QUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUVKO0FBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFDSTtBQUFBO0FBQUE7QUFBQTtFQUlBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSOztBQUFBOztBQUFBO0FBS0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQSxTNUUvZkM7OztBNEVrZ0JMO0FBQUE7QUFBQTtBQUFBO0VBSUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQ0E7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0FBQ0E7QUFBQTtFQUVJOzs7QUFHSjtBQUNBO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUlJO0VBQ0E7OztBQUdKO0FBQ0E7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0kiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG5UaGVtZSBOYW1lOiBHb3Bha1xuVGhlbWUgVVJJOiBodHRwczovL3d3dy5nb3Bhay5jby51ay9cbkF1dGhvcjogVW5kZXJkb2cgRGVzaWduXG5BdXRob3IgVVJJOiBodHRwczovL3d3dy51bmRlcmRvZ2Rlc2lnbi5jby51a1xuVGFnczogbGlnaHQsIHJlc3BvbnNpdmUtbGF5b3V0XG5EZXNjcmlwdGlvbjogQSBiZXNwb2tlIHRoZW1lIGRlc2lnbmVkIGFuZCBkZXZlbG9wZWQgZm9yIEdvcGFrIEx0ZCBiYXNlZCBvbiB0aGUgVW5kZXJkb2cgQm9pbGVycGxhdGUuXG5WZXJzaW9uOiAxLjBcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGV4dCBEb21haW46IGdvcGFrXG5Eb21haW4gUGF0aDogL2xhbmd1YWdlcy9cblxuVGhpcyB0aGVtZSwgbGlrZSBXb3JkUHJlc3MsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuXG5Vc2UgaXQgdG8gbWFrZSBzb21ldGhpbmcgY29vbCwgaGF2ZSBmdW4sIGFuZCBzaGFyZSB3aGF0IHlvdSd2ZSBsZWFybmVkIHdpdGggb3RoZXJzLlxuXG51bmRlcmRvZyBCb2lsZXJwbGF0ZSBpcyBiYXNlZCBvbiBVbmRlcnNjb3JlcyBodHRwOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDE0IEF1dG9tYXR0aWMsIEluYy5cblxuUmVzZXR0aW5nIGFuZCByZWJ1aWxkaW5nIHN0eWxlcyBoYXZlIGJlZW4gaGVscGVkIGFsb25nIHRoYW5rcyB0byB0aGUgZmluZSB3b3JrIG9mXG5FcmljIE1leWVyIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbFxuYWxvbmcgd2l0aCBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgSm9uYXRoYW4gTmVhbCBodHRwOi8vbmVjb2xhcy5naXRodWIuY29tL25vcm1hbGl6ZS5jc3MvXG5hbmQgQmx1ZXByaW50IGh0dHA6Ly93d3cuYmx1ZXByaW50Y3NzLm9yZy9cblxuRG8gbm90IHJlbW92ZSB0aGUgYmVsb3cgc3R5bGVzLiBOZWVkZWQgdG8gcGFzcyB0aGUgJ3RoZW1lIGNoZWNrJy4qL1xuLnN0aWNreSxcbi5nYWxsZXJ5LWNhcHRpb24sXG4uYnlwb3N0YXV0aG9yIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4+Pj4gVEFCTEUgT0YgQ09OVEVOVFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCAtIEdsb2JhbFxuMi4wIC0gTW9kdWxlc1xuMy4wIC0gVGhlbWVcbjQuMCAtIFBhY2thZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCBHbG9iYWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy9AaW1wb3J0IFwiYm9vdHN0cmFwLWdyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJnbG9iYWxcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiYW5pbWF0ZVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4yLjAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCBcImxheW91dFwiO1xuQGltcG9ydCBcImhlbHBlcnNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMy4wIE1vZHVsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCBcIm1vZHVsZXNcIjtcbkBpbXBvcnQgXCJsYXlvdXRzXCI7XG5AaW1wb3J0IFwid29vY29tbWVyY2VcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNC4wIFZlbmRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0IFwidmVuZG9yXCI7XG4iLCIvKiBNaXhpbnMgKi9cblxuQG1peGluIHRleHQtc2l6ZS1hZGp1c3QoJHNpemUpIHtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6ICRzaXplO1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAkc2l6ZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHRvcCwgJGxlZnQsICRibHVyLCAkY29sb3IsICRpbnNldDogZmFsc2UpIHtcbiAgICBAaWYgJGluc2V0IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgIH1cbn1cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMtbWFwLCAkZnMtYnJlYWtwb2ludHM6ICRicHMpIHtcbiAgICBAZWFjaCAkZnMtYnJlYWtwb2ludCwgJGZzLWZvbnQtc2l6ZSBpbiAkZnMtbWFwIHtcbiAgICAgICAgQGlmICRmcy1icmVha3BvaW50ID09IG51bGwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1mb250LXNpemUoJGZzLWZvbnQtc2l6ZSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgJGZzLWZvbnQtc2l6ZSBpcyBhIGtleSB0aGF0IGV4aXN0cyBpblxuICAgICAgICAgICAgLy8gJGZzLWJyZWFrcG9pbnRzLCB1c2UgdGhlIHZhbHVlXG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGZzLWJyZWFrcG9pbnRzLCAkZnMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICRmcy1icmVha3BvaW50OiBtYXAtZ2V0KCRmcy1icmVha3BvaW50cywgJGZzLWJyZWFrcG9pbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGZzLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWZvbnQtc2l6ZSgkZnMtZm9udC1zaXplKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVXRpbGl0eSBmdW5jdGlvbiBmb3IgbWl4aW4gZm9udC1zaXplXG5AbWl4aW4gbWFrZS1mb250LXNpemUoJGZzLWZvbnQtc2l6ZSkge1xuICAgIC8vIElmICRmcy1mb250LXNpemUgaXMgYSBsaXN0LCBpbmNsdWRlXG4gICAgLy8gYm90aCBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gICAgQGlmIHR5cGUtb2YoJGZzLWZvbnQtc2l6ZSkgPT0gXCJsaXN0XCIge1xuICAgICAgICBmb250LXNpemU6IG50aCgkZnMtZm9udC1zaXplLCAxKTtcbiAgICAgICAgQGlmIChsZW5ndGgoJGZzLWZvbnQtc2l6ZSkgPiAxKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbnRoKCRmcy1mb250LXNpemUsIDIpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLWZvbnQtc2l6ZTtcbiAgICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIGdyYWRpZW50KCR0b3Bjb2xvdXIsICRib3Rjb2xvdXIsICRzdGFydDogMCUsICRzdG9wOiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZDogJHRvcGNvbG91cjtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICR0b3Bjb2xvdXIgJHN0YXJ0LCAkYm90Y29sb3VyICRzdG9wKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKCRzdGFydCwgJHRvcGNvbG91ciksIGNvbG9yLXN0b3AoJHN0b3AsICRib3Rjb2xvdXIpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICR0b3Bjb2xvdXIgJHN0YXJ0LCAkYm90Y29sb3VyICRzdG9wKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkdG9wY29sb3VyICRzdGFydCwgJGJvdGNvbG91ciAkc3RvcCk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICR0b3Bjb2xvdXIgJHN0YXJ0LCAkYm90Y29sb3VyICRzdG9wKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkdG9wY29sb3VyICRzdGFydCwgJGJvdGNvbG91ciAkc3RvcCk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuR3JhZGllbnQoR3JhZGllbnRUeXBlPTAsIHN0YXJ0Q29sb3JzdHI9JyN7JHRvcGNvbG91cn0nLCBlbmRDb2xvcnN0cj0nI3skYm90Y29sb3VyfScpO1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7JHRvcGNvbG91cn0nLCBlbmRDb2xvcnN0cj0nI3skYm90Y29sb3VyfScpXCI7XG59XG5cbkBtaXhpbiBhYnNvbHV0ZS1wb3NpdGlvbigkdG9wOiBmYWxzZSwgJHJpZ2h0OiBmYWxzZSwgJGJvdHRvbTogZmFsc2UsICRsZWZ0OiBmYWxzZSkge1xuICAgIEBpZiAkdG9wIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgIH1cbiAgICBAaWYgJHJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6ICRyaWdodDtcbiAgICB9XG4gICAgQGlmICRib3R0b20ge1xuICAgICAgICBib3R0b206ICRib3R0b207XG4gICAgfVxuICAgIEBpZiAkbGVmdCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgIH1cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbkBtaXhpbiBicCgkd2lkdGgsICRicmVha3BvaW50KSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoJHdpZHRoOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIGdlbmVyaWMgdHJhbnNmb3JtXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG4vLyByb3RhdGVcbkBtaXhpbiByb3RhdGUoJGRlZykge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlKCRzY2FsZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgkc2NhbGUpKTtcbn1cbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xufVxuXG4vLyBBbmltYXRpb25zIC8gVHJhbnNpdGlvbnNcblxuQG1peGluIGFuaW1hdGUoJHRpbWUsICRsYWJlbCwgJGNvdW50OiAxLCAkdGltaW5nOiBsaW5lYXIpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJHRpbWU7XG4gICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246ICR0aW1lO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRpbWU7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRsYWJlbDtcbiAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiAkbGFiZWw7XG4gICAgYW5pbWF0aW9uLW5hbWU6ICRsYWJlbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcbiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkY291bnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1wcm9wZXJ0eSwgJHRyYW5zaXRpb24tdGltZSwgJG1ldGhvZCwgJHRyYW5zaXRpb24tZGVsYXk6IDApIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICAtbXMtdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xuICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG5cbiAgICBAaWYgJHRyYW5zaXRpb24tZGVsYXkge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uKCRjb2xvdXIsICRjb2xvdXIyOiAjZmZmLCAkdGV4dC1jb2xvdXI6ICRjLXRleHQpIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkbGgvNCAkbGgvMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGNvbG91cjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMjtcbiAgICBmb250LWZhbWlseTogJGZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICRmejtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG91cjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaWYgJGNvbG91ciAhPSBub25lIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG91ciwgMTAlKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvdXIsIDEwJSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBib3R0b20tZ3JhZC1zaGFkb3coJHN0cmVuZ3RoOiAwLjQ1LCAkaGVpZ2h0OiAxMDAlLCAkY29sb3VyOiAkYy1ibGFjaykge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKCRjb2xvdXIsIDApIDAlLCByZ2JhKCRjb2xvdXIsIDApIDElLCByZ2JhKCRjb2xvdXIsICRzdHJlbmd0aCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHJnYmEoJGNvbG91ciwgMCkgMCUsIHJnYmEoJGNvbG91ciwgMCkgMSUsIHJnYmEoJGNvbG91ciwgJHN0cmVuZ3RoKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkY29sb3VyLCAwKSAwJSwgcmdiYSgkY29sb3VyLCAwKSAxJSwgcmdiYSgkY29sb3VyLCAkc3RyZW5ndGgpIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2E2MDAwMDAwJyxHcmFkaWVudFR5cGU9MCApO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHotaW5kZXg6IDI7XG59XG5cbkBtaXhpbiB0b3AtZ3JhZC1zaGFkb3coJHN0cmVuZ3RoOiAwLjQ1LCAkaGVpZ2h0OiAxMDAlLCAkY29sb3VyOiAkYy1ibGFjaykge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKCRjb2xvdXIsICRzdHJlbmd0aCkgMCUsIHJnYmEoJGNvbG91ciwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKCRjb2xvdXIsICRzdHJlbmd0aCkgMCUsIHJnYmEoJGNvbG91ciwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgkY29sb3VyLCAkc3RyZW5ndGgpIDAlLCByZ2JhKCRjb2xvdXIsIDApIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYTYwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJyxHcmFkaWVudFR5cGU9MCApO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHotaW5kZXg6IDI7XG59XG5cbkBtaXhpbiBib3RoLWdyYWQtc2hhZG93KCkge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSwgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgNjAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA0MCUsIHJnYmEoMCwgMCwgMCwgMCkgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDYwJSwgcmdiYSgwLCAwLCAwLCAwLjQ1KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSwgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgNjAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYTYwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2E2MDAwMDAwJyxHcmFkaWVudFR5cGU9MCApO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuIiwiLyogR2xvYmFsIFN0eWxlcyAqL1xuOnJvb3Qge1xuICAgIC0tYmdjb2w6IFwiXCI7XG4gICAgLS1iZ2ltZzogXCJcIjtcbn1cblxuLyogUmVzZXQgKi9cbmh0bWwsXG5ib2R5LFxuZGl2LFxuc3BhbixcbmFwcGxldCxcbm9iamVjdCxcbmlmcmFtZSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAsXG5ibG9ja3F1b3RlLFxucHJlLFxuYSxcbmFiYnIsXG5hY3JvbnltLFxuYWRkcmVzcyxcbmJpZyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5mb250LFxuaW5zLFxua2JkLFxucSxcbnMsXG5zYW1wLFxuc21hbGwsXG5zdHJpa2UsXG5zdHJvbmcsXG5zdWIsXG5zdXAsXG50dCxcbnZhcixcbmRsLFxuZHQsXG5kZCxcbm9sLFxudWwsXG5saSxcbmZpZWxkc2V0LFxuZm9ybSxcbmxhYmVsLFxubGVnZW5kLFxudGFibGUsXG5jYXB0aW9uLFxudGJvZHksXG50Zm9vdCxcbnRoZWFkLFxudHIsXG50aCxcbnRkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmh0bWwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uanMtbG9hZGluZyAqLFxuLmpzLWxvYWRpbmcgKjpiZWZvcmUsXG4uanMtbG9hZGluZyAqOmFmdGVyIHtcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJGZmO1xuICAgIC8vZm9udC1zaXplOiBweHRvcmVtKCRmeiAtIDJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGMtdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkYy1iZztcbiAgICBAaWYgJHZlcnRpY2FsLXJoeXRobSA9PSB0cnVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAxcHgsIHRyYW5zcGFyZW50IDFweCk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAkbGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHB4dG9yZW0oJGZ6KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICB9XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmNhcHRpb24sXG50aCxcbnRkIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgICBxdW90ZXM6IFwiXCIgXCJcIjtcbn1cblxuLyogQ2xlYXJpbmdzICovXG4ud3JhcHBlcixcbi5jbGVhcixcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnQtY29udGVudCxcbi5zaXRlLWhlYWRlcixcbi5zaXRlLWNvbnRlbnQsXG4uc2l0ZS1mb290ZXIsXG4uY2xlYXJmaXgge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG59XG4ud3JhcHBlcixcbi5jbGVhcixcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnQtY29udGVudCxcbi5zaXRlLWhlYWRlcixcbi5zaXRlLWNvbnRlbnQsXG4uc2l0ZS1mb290ZXIsXG4uY2xlYXJmaXgge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8qIENvbnRlbnQgKi9cblxuLmJ5bGluZSxcbi51cGRhdGVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2luZ2xlIC5ieWxpbmUsXG4uZ3JvdXAtYmxvZyAuYnlsaW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5lbnRyeS1jb250ZW50IHtcbiAgICB1bCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC80O1xuICAgICAgICAgICAgLy9mb250LXNpemU6ICRmeiArIDJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaC8yO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGgvMjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGgvMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBBc2lkZXMgKi9cbi5ibG9nIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlLFxuLmFyY2hpdmUgLmZvcm1hdC1hc2lkZSAuZW50cnktdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENvbW1lbnRzICovXG4uY29tbWVudC1jb250ZW50IGEge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyogTWVkaWEgKi9cbi5wYWdlLWNvbnRlbnQgaW1nLndwLXNtaWxleSxcbi5lbnRyeS1jb250ZW50IGltZy53cC1zbWlsZXksXG4uY29tbWVudC1jb250ZW50IGltZy53cC1zbWlsZXkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycyAqL1xuZW1iZWQsXG5pZnJhbWUsXG5vYmplY3Qge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogU2NyZWVuIFJlYWRlciBUZXh0ICovXG4uc3J0LFxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTk5OWVtO1xufVxuXG4vKiBBbGlnbm1lbnQgKi9cblxuLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5ibG9ja3F1b3RlLmFsaWdubGVmdCxcbmZpZ3VyZS53cC1jYXB0aW9uLmFsaWdubGVmdCxcbmltZy5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogN3B4IDM2cHggN3B4IDA7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiA3cHggMTRweCA3cHggMDtcbn1cblxuYmxvY2txdW90ZS5hbGlnbnJpZ2h0LFxuZmlndXJlLndwLWNhcHRpb24uYWxpZ25yaWdodCxcbmltZy5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDdweCAwIDdweCAzNnB4O1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDdweCAwIDdweCAxNHB4O1xufVxuXG5ibG9ja3F1b3RlLmFsaWduY2VudGVyLFxuaW1nLmFsaWduY2VudGVyLFxuLndwLWNhcHRpb24uYWxpZ25jZW50ZXIge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5zaXRlLWNvbnRlbnQgYmxvY2txdW90ZS5hbGlnbmxlZnQsXG4uc2l0ZS1jb250ZW50IGJsb2NrcXVvdGUuYWxpZ25yaWdodCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi5zaXRlLWNvbnRlbnQgYmxvY2txdW90ZS5hbGlnbmxlZnQgcCxcbi5zaXRlLWNvbnRlbnQgYmxvY2txdW90ZS5hbGlnbnJpZ2h0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgICBjb2xvcjogIzc2NzY3Njtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDlweCAwO1xufVxuXG5kaXYud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG5kaXYud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0sXG5kaXYud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IC53cC1jYXB0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ud3Atc21pbGV5IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qICBDYXB0aW9ucyAqL1xuLndwLWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLndwLWNhcHRpb24ge1xuICAgIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICAgIG1hcmdpbjogMC44MDc1ZW0gMDtcbn1cblxuLyogRm9ybXMgKi9cbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsXG5zZWxlY3Q6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59IC8qIEZpcmVmb3ggMTkrICovXG5cbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIsXG50ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyLFxuc2VsZWN0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59IC8qIEZpcmVmb3ggMTgtICovXG5cbmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbnRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbnNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59IC8qIElFICovXG5cbmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuc2VsZWN0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG50ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLyogRm9ybXMgKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnNlbGVjdCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogMCAkbGgvMjtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgcGFkZGluZzogNXB4ICRsaDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC8qLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7Ki9cbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWxncmV5O1xuICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgICBjb2xvcjogJGMtdGV4dDtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgcGFkZGluZzogMCAkbGgvMjtcbiAgICBoZWlnaHQ6IDQ2cHg7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBXaWRnZXQgKi9cbi53aWRnZXQge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xufVxuXG4ud2lkZ2V0IHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0X3NlYXJjaCB7XG4gICAgLnNlYXJjaC1zdWJtaXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuXG4vLyBGb250c1xuJGZmOiBcIlBvcHBpbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzZXR0aW5nc1xuJGZ6OiAxNHB4O1xuJGxoOiAyMnB4O1xuXG4kcC1mb250LXNpemVzOiAoXG4gICAgbnVsbDogKFxuICAgICAgICAxMnB4LFxuICAgICAgICAxLjcsXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICAxMnB4LFxuICAgICAgICAxLjcsXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICAxNHB4LFxuICAgICAgICAxLjYsXG4gICAgKSxcbik7XG5cbiRuYXYtZm9udC1zaXplczogKFxuICAgIG51bGw6IChcbiAgICAgICAgMTNweCxcbiAgICAgICAgMSxcbiAgICApLFxuICAgIHh4bDogKFxuICAgICAgICAxNXB4LFxuICAgICAgICAxLFxuICAgICksXG4pO1xuXG4kaDEtZm9udC1zaXplczogKFxuICAgIG51bGw6IChcbiAgICAgICAgMjhweCxcbiAgICAgICAgMSxcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIDQwcHgsXG4gICAgICAgIDEsXG4gICAgKSxcbik7XG5cbiRoMi1mb250LXNpemVzOiAoXG4gICAgbnVsbDogKFxuICAgICAgICAyMHB4LFxuICAgICAgICAxLjEsXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICAyNnB4LFxuICAgICAgICAxLjEsXG4gICAgKSxcbik7XG5cbiRoMy1mb250LXNpemVzOiAoXG4gICAgbnVsbDogKFxuICAgICAgICAxNnB4LFxuICAgICAgICAxLjQsXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICAyMHB4LFxuICAgICAgICAxLjMsXG4gICAgKSxcbik7XG5cbiRoNC1mb250LXNpemVzOiAoXG4gICAgbnVsbDogKFxuICAgICAgICAxNHB4LFxuICAgICAgICAxLjUsXG4gICAgKSxcbik7XG5cbiRoNS1mb250LXNpemVzOiAoXG4gICAgbnVsbDogKFxuICAgICAgICAxMnB4LFxuICAgICAgICAxLjUsXG4gICAgKSxcbik7XG5cbiRzdWJoZWFkLWZvbnQtc2l6ZXM6IChcbiAgICBudWxsOiAoXG4gICAgICAgIDE0cHgsXG4gICAgICAgIDEuNCxcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIDIwcHgsXG4gICAgICAgIDEuMyxcbiAgICApLFxuKTtcblxuLy8gU2hvdyB2ZXJ0aWNhbCByaHl0aG1cbiR2ZXJ0aWNhbC1yaHl0aG06IGZhbHNlO1xuXG4kY29sb3VyczogKFxuICAgIFwibm9uZVwiOiBcIm5vbmVcIixcbiAgICBcIndoaXRlXCI6ICRjLXdoaXRlLFxuICAgIFwiYmxhY2tcIjogJGMtYmxhY2ssXG4gICAgXCJhcmN0aWNcIjogJGMtYXJjdGljLFxuICAgIFwiZGJsdWVcIjogJGMtZGJsdWUsXG4gICAgXCJtZ3JleVwiOiAkYy1tZ3JleSxcbiAgICBcImdyZXlcIjogJGMtZ3JleSxcbiAgICBcImxncmV5XCI6ICRjLWxncmV5LFxuICAgIFwieGxncmV5XCI6ICRjLXhsZ3JleSxcbiAgICBcImdyZWVuXCI6ICRjLWdyZWVuLFxuICAgIFwicmVkXCI6ICRjLXJlZCxcbik7XG5cbiRncmFkaWVudHM6IChcbiAgICBcImdyYWRpZW50LWJsYWNrLW1ibHVlXCI6ICRnLWJsYWNrLW1ibHVlLFxuICAgIFwiZ3JhZGllbnQtZGJsdWUtYmxhY2tcIjogJGctZGJsdWUtYmxhY2ssXG4gICAgXCJncmFkaWVudC1ibGFja1wiOiAkZy1ibGFjayxcbiAgICBcImdyYWRpZW50LWFyY3RpY1wiOiAkZy1hcmN0aWMsXG4gICAgXCJncmFkaWVudC1hcmN0aWMtcmV2ZXJzZVwiOiAkZy1hcmN0aWMtcmV2ZXJzZSxcbik7XG5cbiRjLXRleHQ6ICRjLWRncmV5O1xuJGMtYmc6ICRjLXdoaXRlO1xuJGMtcHJpbWFyeTogJGMtZGJsdWU7XG5cbiRkYXJrLWNvbG91cnM6IFwiYmxhY2tcIiwgXCJtZ3JleVwiLCBcImdyZXlcIiwgXCJkZ3JleVwiLCBcImRibHVlXCIsIFwicmVkXCIsIFwiZ3JlZW5cIiwgXCJncmFkaWVudC1kYmx1ZS1ibGFja1wiLCBcImdyYWRpZW50LWJsYWNrLW1ibHVlXCIsIFwiZ3JhZGllbnQtYmx1ZVwiLCBcImdyYWRpZW50LWJsYWNrXCI7XG4kbGlnaHQtY29sb3VyczogXCJ3aGl0ZVwiLCBcImFyY3RpY1wiLCBcImxncmV5XCIsIFwieGxncmV5XCIsIFwiZ3JhZGllbnQtYXJjdGljXCIsIFwiZ3JhZGllbnQtYXJjdGljLXJldmVyc2VcIjtcblxuLy8gT3RoZXIgQ29sb3Vyc1xuXG4kYy1ib3JkZXI6IGRhcmtlbigkYy14bGdyZXksIDEwJSk7XG5cbi8vZmFjZWJvb2svL1xuJGMtZmFjZWJvb2s6ICM0MzYxOWM7XG4vL3R3aXR0ZXIvL1xuJGMtdHdpdHRlcjogIzI0YTllNjtcbi8vbGlua2VkaW4vL1xuJGMtbGlua2VkaW46ICMxODdmYjg7XG5cbi8vIFN0cnVjdHVyZVxuJHdyYXA6IDEyNTZweDtcblxuLy8gTWVkaWEgUXVlcmllc1xuXG4kbWluOiBtaW4td2lkdGg7XG4kbWF4OiBtYXgtd2lkdGg7XG4keC1zbWFsbDogNDgwcHg7XG4kc21hbGw6IDU5OXB4O1xuJG1lZGl1bTogNzY4cHg7XG4kbGFyZ2U6IDEwMjRweDtcbiR4LWxhcmdlOiAxMjAwcHg7XG4keHgtbGFyZ2U6IDE0MDBweDtcbiRzdXBlcjogMTYwMHB4O1xuXG4kYnBzOiAoXG4gICAgeHM6ICR4LXNtYWxsLFxuICAgIHNtOiAkc21hbGwsXG4gICAgbWQ6ICRtZWRpdW0sXG4gICAgbGc6ICRsYXJnZSxcbiAgICB4bDogJHgtbGFyZ2UsXG4gICAgeHhsOiAkeHgtbGFyZ2UsXG4gICAgc3VwZXI6ICRzdXBlcixcbik7XG5cbiRndXR0ZXI6ICRsaDtcbiIsIi8vd2hpdGUvL1xuJGMtd2hpdGU6ICNmZmZmZmY7XG4vL2FyY3RpYy8vXG4kYy1hcmN0aWM6ICNkOWUyZTc7XG4vL2dyZWVuLy9cbiRjLWdyZWVuOiAjNjU5NTI1O1xuLy9kYmx1ZS8vXG4kYy1kYmx1ZTogIzA3MWU2Mjtcbi8vYmxhY2svL1xuJGMtYmxhY2s6ICMyNTI1MzE7XG4vL2RncmV5Ly9cbiRjLWRncmV5OiAjNDQ0NDQ0O1xuLy9ncmV5Ly9cbiRjLWdyZXk6ICM2NzY3Njc7XG4vL21ncmV5Ly9cbiRjLW1ncmV5OiAjZGRkZGRkO1xuLy9sZ3JleS8vXG4kYy1sZ3JleTogI2EzYTNhMztcbi8veGxncmV5Ly9cbiRjLXhsZ3JleTogI2Y2ZjZmNjtcbi8vcmVkLy9cbiRjLXJlZDogI2ZjMDAwMjtcbiIsImEge1xuICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG5wIHtcbiAgICBtYXJnaW4tYm90dG9tOiBweHRvcmVtKCRsaCAqIDEuMjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRwLWZvbnQtc2l6ZXMpO1xufVxuXG4ucC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG59XG5cbmgxLFxuLmgxIHtcbiAgICBmb250LWZhbWlseTogJGZmO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplcyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiBweHRvcmVtKCRsaCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5oMixcbi5oMiB7XG4gICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZXMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogcHh0b3JlbSgkbGggKiAwLjc1KTtcbn1cblxuaDMsXG4uaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemVzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBweHRvcmVtKCRsaC8yKTtcbn1cblxuaDQsXG4uaDQge1xuICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemVzKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogcHh0b3JlbSgkbGgvMik7XG59XG5cbmg1LFxuLmg1IHtcbiAgICBmb250LWZhbWlseTogJGZmO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplcyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IHB4dG9yZW0oJGxoLzIpO1xufVxuXG51bCxcbm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiBweHRvcmVtKCRsaCk7XG4gICAgbWFyZ2luLWxlZnQ6ICRsaDtcblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwIHB4dG9yZW0oJGxoKTtcbiAgICB9XG59XG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kZm4sXG5jaXRlLFxuZW0sXG5pIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAxLjVlbTtcbn1cblxuYWRkcmVzcyB7XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbnByZSB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBmb250LWZhbWlseTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAxLjZlbTtcbn1cblxuY29kZSxcbmtiZCxcbnR0LFxudmFyIHtcbiAgICBmb250OiAxNXB4IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcbn1cblxuYWJicixcbmFjcm9ueW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5cbm1hcmssXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICNmZmY5YzA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5zdXAsXG5zdWIge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGhlaWdodDogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIGJvdHRvbTogMWV4O1xufVxuXG5zdWIge1xuICAgIHRvcDogMC41ZXg7XG59XG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDc1JTtcbn1cblxuYmlnIHtcbiAgICBmb250LXNpemU6IDEyNSU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbkFuaW1hdGUuY3NzIC0gaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuQ29weXJpZ2h0IChjKSAyMDE0IERhbmllbCBFZGVuXG4qL1xuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5mYWRlSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluRG93bkJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRWU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0VlNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMyUsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgd2VsY29tZUludHJvIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKSByb3RhdGUoOTBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBWU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1JSwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwVlNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1JSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNSUsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuLmZhZGVJblVwQmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLmZhZGVPdXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlT3V0RG93biB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB9XG59XG5cbi5mYWRlT3V0RG93bkJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlT3V0VXAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMCUsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwJSwgMCk7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlck92YWwxIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDUlLCAwKSBzY2FsZSgwLjk1KSByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCA1JSwgMCkgc2NhbGUoMC45NSkgcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKSByb3RhdGUoMTZkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpIHJvdGF0ZSgxNmRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlck92YWwyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIC01JSwgMCkgc2NhbGUoMC45NSkgcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgLTUlLCAwKSBzY2FsZSgwLjk1KSByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpIHJvdGF0ZSgxNmRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnN0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKSByb3RhdGUoMTZkZWcpO1xuICAgIH1cbn1cbiIsIi8vIFRoZW1lIEJhc2VkIHN0eWxlc1xuXG4ud3JhcCB7XG4gICAgbWF4LXdpZHRoOiAkd3JhcDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwICRsaDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYtLW5hcnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgJGxoO1xuICAgIH1cblxuICAgICYtLXByb2R1Y3RzLWxvb3Age1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICAmLndyYXAtLWhhcy1zaWRlYmFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjcwcHggMWZyO1xuICAgICAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzdXBlcikge1xuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcblxuICAgICAgICAmLS1uYXJyb3cge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpdGUtbWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6ICRsaCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgYm9keS5ob21lICYge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogJGxoICogMiAwO1xuICAgIH1cbn1cbiIsIi8qIEhlbHBlciBzdHlsZXMgKi9cblxuLmFsaWduLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmFsaWduLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFsaWduLWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4uZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbi5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4uY2xlYXJmaXgge1xuICAgICp6b29tOiAxO1xufVxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4udmFsaWduIHtcbiAgICAmLS10b3Age1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLS1taWRkbGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICYtLWJvdHRvbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBlYWNoICRjb2xvdXIsICRjb2xvciBpbiAkY29sb3VycyB7XG4gICAgLmMtLSN7JGNvbG91cn0ge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYmcge1xuICAgIEBlYWNoICRjb2xvdXIsICRiZ2NvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgJi0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdjb2xvcjtcblxuICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgIGE6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbG91ciA9PSBcImJsdWVcIikge1xuICAgICAgICAgICAgICAgICAgICBhOm5vdChbY2xhc3MqPVwiYnV0dG9uXCJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIC5oMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICAuaDIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGljay1saXN0IGxpOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL292YWwtdGljay5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgY29udGFpbnMoJGxpZ2h0LWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIC5oMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICAuaDIsXG4gICAgICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICAgICAgLmgzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGljay1saXN0IGxpOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL292YWwtdGljay1tYmx1ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJGdyYWRpZW50LCAkYmdyYWQgaW4gJGdyYWRpZW50cyB7XG4gICAgICAgICYtLSN7JGdyYWRpZW50fSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdyYWQ7XG5cbiAgICAgICAgICAgIEBpZiBjb250YWlucygkZGFyay1jb2xvdXJzLCAkZ3JhZGllbnQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgIC5wcmVoZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRpY2stbGlzdCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9vdmFsLXRpY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRsaWdodC1jb2xvdXJzLCAkZ3JhZGllbnQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIC5oMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICAuaDIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRpY2stbGlzdCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9vdmFsLXRpY2stbWJsdWUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhcy1iZy1pbWcge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG5AZWFjaCAkY29sb3VyLCAkZmlsbCBpbiAkY29sb3VycyB7XG4gICAgLmYtLSN7JGNvbG91cn0ge1xuICAgICAgICBmaWxsOiAkZmlsbDtcbiAgICB9XG59XG5cbkBlYWNoICRncmFkaWVudCwgJGJncmFkIGluICRncmFkaWVudHMge1xuICAgIC4jeyRncmFkaWVudH0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdyYWQ7XG4gICAgfVxufVxuXG4uZmYyIHtcbiAgICBmb250LWZhbWlseTogJGZmO1xufVxuXG4vLyBNYXJnaW5cblxuJG06IChcbiAgICBcIm5vbmVcIjogMCFpbXBvcnRhbnQsXG4gICAgXCJoYWxmXCI6ICRsaC8yLFxuICAgIFwicXRyXCI6ICRsaC80LFxuICAgIFwiMnhcIjogJGxoICogMixcbiAgICBcIjN4XCI6ICRsaCAqIDMsXG4gICAgXCI0eFwiOiAkbGggKiA0LFxuKTtcblxuLm1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGggIWltcG9ydGFudDtcbn1cblxuLm1iLSB7XG4gICAgQGVhY2ggJHNpemUsICRtYiBpbiAkbSB7XG4gICAgICAgICYjeyRzaXplfSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWI7XG5cbiAgICAgICAgICAgICYtLXJlc3Age1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skbWJ9IC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXQtaGFsZiB7XG4gICAgbWFyZ2luLXRvcDogJGxoLzIgIWltcG9ydGFudDtcbn1cblxuLm10IHtcbiAgICBtYXJnaW4tdG9wOiAkbGggIWltcG9ydGFudDtcbn1cblxuLm10LTJ4IHtcbiAgICBtYXJnaW4tdG9wOiAkbGggKiAyICFpbXBvcnRhbnQ7XG59XG5cbi8vIFBhZGRpbmdcblxuLnAtbm9uZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucC1hbGwge1xuICAgIHBhZGRpbmc6ICRsaCAhaW1wb3J0YW50O1xufVxuXG4ucC1oYWxmIHtcbiAgICBwYWRkaW5nOiAkbGgvMiAhaW1wb3J0YW50O1xufVxuXG4ucHQtbm9uZSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnB0LWhhbGYge1xuICAgIHBhZGRpbmctdG9wOiAkbGgvMiAhaW1wb3J0YW50O1xufVxuXG4ucHQge1xuICAgIHBhZGRpbmctdG9wOiAkbGggIWltcG9ydGFudDtcbn1cblxuLnB0LTJ4IHtcbiAgICBwYWRkaW5nLXRvcDogJGxoICogMiAhaW1wb3J0YW50O1xufVxuXG4ucHQtNHgge1xuICAgIHBhZGRpbmctdG9wOiAkbGggKiA0ICFpbXBvcnRhbnQ7XG59XG4ucGItbm9uZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnBiLWhhbGYge1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMiAhaW1wb3J0YW50O1xufVxuXG4ucGItaGFsZiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRsaC8yICFpbXBvcnRhbnQ7XG59XG5cbi5wYiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRsaCAhaW1wb3J0YW50O1xufVxuXG4ucGItMngge1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGggKiAyICFpbXBvcnRhbnQ7XG59XG5cbi5wYi00eCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRsaCAqIDQgIWltcG9ydGFudDtcbn1cblxuLnBsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsaCAhaW1wb3J0YW50O1xufVxuXG4ucGwtMngge1xuICAgIHBhZGRpbmctbGVmdDogJGxoICogMiAhaW1wb3J0YW50O1xufVxuXG4ucGwtNHgge1xuICAgIHBhZGRpbmctbGVmdDogJGxoICogNCAhaW1wb3J0YW50O1xufVxuXG4ucHIge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsaCAhaW1wb3J0YW50O1xufVxuXG4ucHItMngge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsaCAqIDIgIWltcG9ydGFudDtcbn1cblxuLnByLTR4IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGggKiA0ICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc3BvbnNpdmVcblxuLm1vYi1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLS1mbGV4IHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmR0LW9ubHkge1xuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnRvLXRhYiB7XG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZnJvbS10YWIge1xuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBEaXNwbGF5XG5cbi5kYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kaWIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgPiAqIHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAmLS1jb2wge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuLmdhcCB7XG4gICAgZ2FwOiAkbGg7XG59XG5cbi5oYXMtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRsaC80O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4ubGgge1xuICAgICYtLW5vcm1hbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuXG4vLyBUZXh0IFRyYW5zZm9ybVxuXG4udHQtdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50dC1ub3JtYWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vLyBPdmVyZmxvd1xuXG4ub3ZlcmZsb3ctaCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gT3JkZXJcblxuLm9yZGVyLTEge1xuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRzbWFsbCAtIDEpIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgJi1zbSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcmRlci0yIHtcbiAgICBAaW5jbHVkZSBicCgkbWF4LCAkc21hbGwgLSAxKSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgICYtc20ge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBQb3NpdGlvblxuXG4ucG9zciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBJbWFnZVxuXG4uaW1hZ2UtYXMtYmcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJi0taGFsZiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG4uaW1hZ2UtY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8vIFNlY3Rpb24gQmFja2dyb3VuZFxuXG4uc2VjdGlvbi1iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uaGFzLWRpdmlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvdXIsICRiZ2NvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgJi5iZy0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpZiBjb250YWlucygkZGFyay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRsaWdodC1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYmctLW5vbmUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbi1zZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAkbGgvMjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxufVxuXG4vLyBUaWNrIExpc3RcblxuLnRpY2stbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2l0ZW0gJiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy9zdmcvb3ZhbC10aWNrLW1ibHVlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNyb3NzLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy9zdmcvb3ZhbC1jcm9zcy5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBHcmlkXG5cbi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogJGxoO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAmLS0yY29sIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tM2NvbCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBNYWluIE5hdmlnYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zaXRpb246IDAuM3MgYmFja2dyb3VuZC1jb2xvcjtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5ob21lICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgID4gdWwgPiBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogJGxoLzQ7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaGFzLWNvbHVtbnMge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgID4gLm1haW4tbmF2aWdhdGlvbl9fc3VibWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaXMtZml4ZWQgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBhOm5vdChbY2xhc3NePVwiYnV0dG9uXCJdKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KSAwLjJzO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXYtZm9udC1zaXplcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpIHNjYWxlWCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMC4xcywgb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmhvbWUubmF2LWZpeGVkICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaXMtZml4ZWQgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLm1lZ2EtbWVudS1wYW5lbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiBhOm5vdChbY2xhc3NePVwicG0tYnV0dG9uXCJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKSBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMHMsIG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb25fX3N1Ym1lbnUtdG9nZ2xlIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZ2FwOiAxNXB4O1xuXG4gICAgICAgICAgICAubm8tZmxleGJveCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgLy8gJjpudGgtY2hpbGQobiArIDQpIHtcbiAgICAgICAgICAgIC8vICAgICAuc3ViLW1lbnUubGV2ZWwtMCB7XG4gICAgICAgICAgICAvLyAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgLy8gICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICY6aG92ZXIgPiAuc3ViLW1lbnUubGV2ZWwtMCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1Yi1tZW51LmxldmVsLTAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC40cywgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KSAwLjJzO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOXB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNzBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICAgICAmLnN1Yi1tZW51LS1saXN0LXN0eWxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC80O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmeiAtIDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGxoLzIgJGxoLzIgJGxoLzIgJGxoO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuNik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGxoLzQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgPiBhID4gLm1lbnUtaXRlbV9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWItbWVudS5sZXZlbC0xIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWItbWVudS5sZXZlbC0xIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0kbGgvMjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwNSU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzLCBvcGFjaXR5IDAuMnM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDBweCA5cHggcmdiYSgwLCAwLCAwLCAwLjE0KTtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvNDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC40cyBjdWJpYy1iZXppZXIoMC40NiwgMC45NiwgMC40MywgMC45NCkgMC4ycztcbiAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaG9tZS5uYXYtZml4ZWQgJiB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtLFxuLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0sXG4ubWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50LXBhZ2UtYW5jZXN0b3Ige1xuICAgIC8vID4gYSB7XG4gICAgLy8gICAgIGNvbG9yOiAkYy1kYmx1ZSAhaW1wb3J0YW50O1xuXG4gICAgLy8gICAgIC5pcy1maXhlZCAmIHtcbiAgICAvLyAgICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgICY6aG92ZXIge1xuICAgIC8vICAgICAgICAgY29sb3I6ICRjLXdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAvLyAgICAgICAgIHN2ZyB7XG4gICAgLy8gICAgICAgICAgICAgZmlsbDogJGMtd2hpdGU7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cbiAgICAvLyBzdmcge1xuICAgIC8vICAgICBmaWxsOiAkYy1kYmx1ZTtcbiAgICAvLyAgICAgLmlzLWZpeGVkICYge1xuICAgIC8vICAgICAgICAgZmlsbDogJGMtZGJsdWU7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qIENvb2tpZXMgVGFibGUgKi9cblxuI2Nvb2tpZXMtdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcbiAgICBib3JkZXI6MXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgYm9yZGVyLXRvcDowO1xuICAgIGJvcmRlci1sZWZ0OjA7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuI2Nvb2tpZXMtdGFibGUgdGQsICNjb29raWVzLXRhYmxlIHRoIHtcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCAjZTdlN2U3O1xuICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAjZTdlN2U3O1xuICAgIHBhZGRpbmc6NXB4O1xufVxuI2Nvb2tpZXMtdGFibGUgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kOiNmN2Y3Zjc7XG59XG4jY29va2llcy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246dG9wO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogQnV0dG9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRjLXByaW1hcnksICRjLXByaW1hcnksICNmZmYpO1xuXG4gICAgQGVhY2ggJGNvbG91ciwgJGNvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgJi0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICBAaWYgY29udGFpbnMoJGRhcmstY29sb3VycywgJGNvbG91cikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkY29sb3IsICRjb2xvciwgI2ZmZik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBjb250YWlucygkbGlnaHQtY29sb3VycywgJGNvbG91cikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkY29sb3IsICRjb2xvciwgJGMtdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zb2xpZC0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oJGNvbG9yLCAkY29sb3IsICNmZmYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ2hvc3QtLSN7JGNvbG91cn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKG5vbmUsICRjb2xvciwgJGNvbG9yKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhhcy1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgLmJ1dHRvbl9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJGxoLzQ7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxoLzI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hcnJvdy1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAwLjJzLCBlYXNlLWluLW91dCk7XG4gICAgICAgIHdpZHRoOiAkbGggKiAxLjU7XG4gICAgICAgIGhlaWdodDogJGxoICogMS41O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG4gICAgICAgIEBlYWNoICRjb2xvdXIsICRjb2xvciBpbiAkY29sb3VycyB7XG4gICAgICAgICAgICAmLS0jeyRjb2xvdXJ9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgLnN2Z2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiBjb250YWlucygkbGlnaHQtY29sb3VycywgJGNvbG91cikge1xuICAgICAgICAgICAgICAgICAgICAuc3ZnaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgkY29sb3VyID09IFwid2hpdGVcIikge1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuMnM7XG4gICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycywgdHJhbnNmb3JtIDAuMnM7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGgvNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWJpZyB7XG4gICAgICAgIHBhZGRpbmc6ICRsaC8yICRsaDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogcHh0b3JlbSgxOHB4KTtcbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgICAgcGFkZGluZzogJGxoLzIgJGxoICogMjtcbiAgICAgICAgZm9udC1zaXplOiBweHRvcmVtKDE4cHgpO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnM7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGgvNDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogSGVhZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNpdGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19hY2NvdW50LWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbGggKiAyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmX190b2dnbGUtbmF2LnRvZ2dsZS1uYXYge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogJGxoLzQgMDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICYtLWxvZ2luIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHh4LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxKSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJGxoLzI7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbGg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBhLFxuICAgICAgICAmX190b2dnbGUtc2VhcmNoIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDEpIHtcbiAgICAgICAgICAgICAgICAudG9nZ2xlLXNlYXJjaF9fbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190b2dnbGUtc2VhcmNoIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGxoLzQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWFyY2gtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMSkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkbGg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxncmV5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWFyY2gtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19taW5pLWNhcnQge1xuICAgICAgICBwYWRkaW5nOiAwICRsaCAqIDEuNTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsaCAqIDAuNzU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRheF9sYWJlbCB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb3VudCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb3VudCk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMThweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTdweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgLnNpdGUtaGVhZGVyX19taW5pLWNhcnRfX3RvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RvdGFsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaC80ICRsaC8yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuMik7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN2Z2ljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcblxuICAgICAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGgvNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBIZWFkZXIgU2VhcmNoXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmhlYWRlci1zZWFyY2gge1xuICAgICZfX3NlYXJjaC1maWVsZCB7XG4gICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3NlYXJjaCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBGb290ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2l0ZS1mb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCRjLWxncmV5LCAyMCUpO1xuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXhsZ3JleTtcbiAgICAgICAgcGFkZGluZzogNzBweCAwICRsaCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwICRsaCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJG1lZGl1bSAtIDFweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcblxuICAgICAgICAgICAgLnNpdGUtZm9vdGVyX19jb2x1bW4tLWlzLWFjY29yZGlhbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9hbmdsZS1kb3duLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGxoO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaXRlLWZvb3Rlcl9fY29sdW1uLS1pcy1hY2NvcmRpYW4ub3BlbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgLnNpdGUtZm9vdGVyX19jb2x1bW4tLWlzLWFjY29yZGlhbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaXRlLWZvb3Rlcl9fY29sdW1uLS1pcy1hY2NvcmRpYW4ub3BlbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC80O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtZ3JleTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3JlZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAkbGggKiAzIDA7XG5cbiAgICAgICAgLndyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogTG9nb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sb2dvIHtcbiAgICAmLS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggMWZyIDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaC8yICRsaDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZm9vdGVyIHtcbiAgICAgICAgLmxvZ29fX2xpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgLmxvZ29fX2xpbmsge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNsaWRlIE1lbnVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubW9iaWxlLW5hdi1wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicCgkbWF4LCAxMDIzcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZy1kYmx1ZS1ibGFjaztcbiAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgLy93aWR0aDpjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYm90dG9tIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbGgvMjtcblxuICAgICAgICAgICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LW9wZW4gJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaC80IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZXMpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJi5zdWJtZW51LW9wZW4ge1xuICAgICAgICAgICAgICAgID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDk5cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPiAuc3VibWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGg7XG5cbiAgICAgICAgICAgID4gLm1lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRsaDtcblxuICAgICAgICAgICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogJGxoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8vZ3JhZGllbnQtYmxhY2stbWJsdWUvL1xuJGctYmxhY2stbWJsdWU6IGxpbmVhci1ncmFkaWVudCgwLCAjMzE0YTkyIDAlLCAjMGYxODFjIDEwMCUpO1xuLy9ncmFkaWVudC1kYmx1ZS1ibGFjay8vXG4kZy1kYmx1ZS1ibGFjazogbGluZWFyLWdyYWRpZW50KDAsICMwZjE4MWMgMCUsICMyMjM2NzAgMTAwJSk7XG4vL2dyYWRpZW50LWJsYWNrLy9cbiRnLWJsYWNrOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSAwJSwgIzAwMCAxMDAlKTtcbi8vZ3JhZGllbnQtYXJjdGljLy9cbiRnLWFyY3RpYzogbGluZWFyLWdyYWRpZW50KDAsICNkOWUyZTcgMCUsICNmZmZmZmYgMTAwJSk7XG4vL2dyYWRpZW50LWFyY3RpYy1yZXZlcnNlLy9cbiRnLWFyY3RpYy1yZXZlcnNlOiBsaW5lYXItZ3JhZGllbnQoMCwgI2ZmZmZmZiAwJSwgI2Q5ZTJlNyAxMDAlKTtcbiIsIi8qKlxuICogT3dsIENhcm91c2VsIHYyLjIuMFxuICogQ29weXJpZ2h0IDIwMTMtMjAxNiBEYXZpZCBEZXV0c2NoXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9Pd2xDYXJvdXNlbDIvT3dsQ2Fyb3VzZWwyL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ncmFiIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuLm93bC1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vLyBDdXN0b21cblxuLm93bC1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiRsaCAwIDAgMDtcbiAgLy9kaXNwbGF5Om5vbmU7XG59XG5cbi5vd2wtZG90IHtcbiAgYmFja2dyb3VuZDogJGMtYmxhY2s7XG4gIHdpZHRoOiAkbGggLyAxLjU7XG4gIGhlaWdodDogJGxoIC8gMS41O1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGMtcHJpbWFyeTtcbiAgfVxufVxuXG4ub3dsLXByZXYge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGhlaWdodDo0OHB4O1xuICAgIHdpZHRoOjQ4cHg7XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuL2ltZy9zdmcvcHJldi5zdmcnKTtcbiAgICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IDIwJSBjZW50ZXI7XG4gICAgLy8gYmFja2dyb3VuZC1zaXplOiAyM3B4O1xuICAgIGxlZnQ6JGxoLzQ7XG4gICAgdG9wOjM1JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDokYy1ibGFjaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgICBcbiAgICBcbn1cblxuLm93bC1uZXh0IHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBoZWlnaHQ6NDhweDtcbiAgICB3aWR0aDo0OHB4O1xuICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi9pbWcvc3ZnL25leHQuc3ZnJyk7XG4gICAgLy8gYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMCUgY2VudGVyO1xuICAgIC8vIGJhY2tncm91bmQtc2l6ZTogMjNweDtcbiAgICByaWdodDokbGgvNDtcbiAgICB0b3A6MzUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6JGMtYmxhY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbiAgICBcblxufVxuXG4ub3dsLWNzLXNsaWRlciB7XG4gIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiRsaC8yO1xuICAgIGxlZnQ6JGxoLzI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRsaC8yO1xuICB9XG5cbiAgLm93bC1wcmV2LFxuICAub3dsLW5leHQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbGVmdDphdXRvO1xuICAgIHRvcDphdXRvO1xuICAgIHRyYW5zZm9ybTpub25lO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDAuMnNcbiAgfVxuXG4gIC5vd2wtcHJldiB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5vd2wtbmV4dCB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCk7XG4gICAgfVxuICB9XG59XG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBUb2dnbGUgTmF2XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRvZ2dsZS1uYXYgeyBcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMC4ycywgZWFzZS1pbi1vdXQpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzo4cHg7XG4gICAganVzdGlmeS1zZWxmOmVuZDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOjM2cHg7XG4gICAgICAgIGhlaWdodDozNnB4O1xuICAgICAgICBmaWxsOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgcGFkZGluZzogMCA1cHggMCA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgLnRvZ2dsZS1uYXZfX2ljb24ge1xuICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgIHdpZHRoOiRsaDtcbiAgICAgICAgICAgIGhlaWdodDokbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICBmb250LXNpemU6ICRmejtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAudG9nZ2xlLW5hdl9faWNvbiB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6MTNweDtcbiAgICAgICAgICAgIGhlaWdodDoxM3B4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG5cbiAgICAgICAgJi0tY2xvc2Uge1xuICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdWJtZW51LXRvZ2dsZSB7IFxuXHRmbG9hdDpyaWdodDtcblx0bWFyZ2luLWxlZnQ6ICRsaC80O1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdHN2ZyB7XG5cdFx0ZmlsbDokYy1ibGFjaztcblx0XHR3aWR0aDoxMHB4O1xuXHRcdGhlaWdodDo4cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40NiwgMC45NiwgMC40MywgMC45NCkgMC4ycztcblx0XHRcblx0fVxufVxuXG5cbkBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDEpIHtcblxuICAgIC5zdWJtZW51LXRvZ2dsZSB7IFxuXG4gICAgICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9nZ2xlLW5hdiB7IFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc3VibWVudS10b2dnbGUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6MTJweDtcbiAgICAgICAgdG9wOjhweDtcbiAgICAgICAgd2lkdGg6MjVweDtcbiAgICAgICAgaGVpZ2h0OjI1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcblxuICAgICAgICA+IC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNvY2lhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zb2NpYWwtbGlua3Mge1xuICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAkbGgvMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgJGxoLzI7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6MDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgICAmLS1yb3VuZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3NfX2ljb24ge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkbGg7XG4gICAgICAgIGhlaWdodDogJGxoO1xuICAgICAgICBmaWxsOiAkYy13aGl0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzO1xuXG4gICAgICAgICYtLWxhcmdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkbGggKiAxLjI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaCAqIDEuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWJsb2cge1xuICAgICAgICAuc29jaWFsLWxpbmtzX19saW5rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNvY2lhbC1saW5rc19faWNvbiB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29udGFjdC1wYWdlIHtcbiAgICAgICAgLnNvY2lhbC1saW5rc19faXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgJGxoLzI7XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbC1saW5rc19fbGlzdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbGgvMjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IENvbnRhY3QgTGlua1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jb250YWN0LWxpbmsge1xuXHQmX190ZXh0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHQmLS1pY29uIHtcblx0XHRzdmcge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAkbGgvMjtcblx0XHRcdHdkaXRoOjI0cHg7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRcblx0XHR9XG5cdH1cblxuXHQmLS1saWdodCB7XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjojZmZmO1xuXHRcdH1cblx0XHRzdmcge1xuXHRcdFx0ZmlsbDojZmZmO1xuXHRcdH1cblx0fVxuXG5cdCYtLWRhcmsge1xuXHRcdHN2ZyB7XG5cdFx0XHRmaWxsOiRjLXRleHQ7XG5cdFx0fVxuXHR9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiA0MDRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZXJyb3ItNDA0IHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAkbGggKiAzIDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1maWVsZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAvL2JvcmRlcjoxcHggc29saWQgJGMtYm9yZGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoIzAwMCwgMC4wNyk7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBHcmFkaWVudCBTaGFkb3dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZ3JhZGllbnQtc2hhZG93IHtcblx0Ji0tdG9wIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSB0b3AtZ3JhZC1zaGFkb3coMC42KTtcblx0XHR9XG5cdH1cblxuXHQmLS1ib3R0b20ge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBpbmNsdWRlIGJvdHRvbS1ncmFkLXNoYWRvdygwLjkpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDFweCkge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRoZWlnaHQ6IDkwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1ib3RoIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSBib3RoLWdyYWQtc2hhZG93KCk7XG5cdFx0fVxuXHR9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBPdmVybGF5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm92ZXJsYXkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi0tbm9uZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1saWdodCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1tZWRpdW0ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1zdHJvbmcge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRjb2xvdXIsICRiZ2NvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgJi0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdjb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgIGE6bm90KFtjbGFzc149XCJidXR0b25cIl0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgY29udGFpbnMoJGxpZ2h0LWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRncmFkaWVudCwgJGJncmFkIGluICRncmFkaWVudHMge1xuICAgICAgICAmLS0jeyRncmFkaWVudH0ge1xuICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRncmFkaWVudCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRiZ3JhZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBjb250YWlucygkbGlnaHQtY29sb3VycywgJGdyYWRpZW50KSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGJncmFkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogU1ZHIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc3ZnaWNvbiB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6MjRweDtcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEF2YXRhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hdmF0YXIge1xuXHRib3JkZXItcmFkaXVzOjEwMCU7XG5cdGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG5cdGJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgjMDAwLDAuNSk7XG5cdHdpZHRoOiAkbGgqMyFpbXBvcnRhbnQ7XG5cdGhlaWdodDogJGxoKjM7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBHcmF2aXR5IEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSB7XG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGgvMiAkbGg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdmaWVsZC1jaG9pY2UtaW5wdXQgKyBsYWJlbCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmb3JtX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIGxlZ2VuZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgIC5nZm9ybV93cmFwcGVyIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdICsgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGFiZWwgKyBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGNvbG9yOiAjZmY0NjQ2O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmRlc2NyaXB0aW9uLFxuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nc2VjdGlvbl9kZXNjcmlwdGlvbixcbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5pbnN0cnVjdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjYwMDAwO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLyohIExpdHkgLSB2Mi40LjEgLSAyMDIwLTA0LTI2XG4qIGh0dHA6Ly9zb3JnYWxsYS5jb20vbGl0eS9cbiogQ29weXJpZ2h0IChjKSAyMDE1LTIwMjAgSmFuIFNvcmdhbGxhOyBMaWNlbnNlZCBNSVQgKi9cbi5saXR5IHtcbiAgICB6LWluZGV4OiA5OTkwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG4gIC5saXR5LmxpdHktb3BlbmVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5saXR5LmxpdHktY2xvc2VkIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5saXR5ICoge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5saXR5LXdyYXAge1xuICAgIHotaW5kZXg6IDk5OTA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5saXR5LXdyYXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICB9XG4gIC5saXR5LWxvYWRlciB7XG4gICAgei1pbmRleDogOTk5MTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG4gIC5saXR5LWxvYWRpbmcgLmxpdHktbG9hZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5saXR5LWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogOTk5MjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubGl0eS1jb250ZW50IHtcbiAgICB6LWluZGV4OiA5OTkzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZSwgLW8tdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgfVxuICAubGl0eS1sb2FkaW5nIC5saXR5LWNvbnRlbnQsXG4gIC5saXR5LWNsb3NlZCAubGl0eS1jb250ZW50IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgfVxuICAubGl0eS1jb250ZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAtMTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIH1cbiAgLmxpdHktY2xvc2Uge1xuICAgIHotaW5kZXg6IDk5OTQ7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5saXR5LWNsb3NlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAubGl0eS1jbG9zZTpob3ZlcixcbiAgLmxpdHktY2xvc2U6Zm9jdXMsXG4gIC5saXR5LWNsb3NlOmFjdGl2ZSxcbiAgLmxpdHktY2xvc2U6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAubGl0eS1jbG9zZTphY3RpdmUge1xuICAgIHRvcDogMXB4O1xuICB9XG4gIC8qIEltYWdlICovXG4gIC5saXR5LWltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuICAvKiBpRnJhbWUgKi9cbiAgLmxpdHktaWZyYW1lIC5saXR5LWNvbnRhaW5lcixcbiAgLmxpdHkteW91dHViZSAubGl0eS1jb250YWluZXIsXG4gIC5saXR5LXZpbWVvIC5saXR5LWNvbnRhaW5lcixcbiAgLmxpdHktZmFjZWJvb2t2aWRlbyAubGl0eS1jb250YWluZXIsXG4gIC5saXR5LWdvb2dsZW1hcHMgLmxpdHktY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDk2NHB4O1xuICB9XG4gIC5saXR5LWlmcmFtZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAubGl0eS1pZnJhbWUtY29udGFpbmVyIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgfVxuICAubGl0eS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogUG9zdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wb3N0IHtcbiAgICAmX19pbnRybyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplcyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGgyLFxuICAgICAgICAuaDIge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29uZS1jb2x1bW4ge1xuICAgICAgICBoMixcbiAgICAgICAgLmgyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190d28tY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgY29sdW1uLXdpZHRoOiAyODBweDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRsaDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpbmdsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNlcnZpY2UgQmxvY2sgTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYmxvY2stbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5zbGljay1zbGlkZSB7XG4gICAgICAgIG1hcmdpbjogMCAkbGgvNDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJGxoLzQ7XG4gICAgYm90dG9tOiAtJGxoICogMS41O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogJGxoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cblxuLy8gQ3VzdG9tIFNsaWRlciBTdHlsZXNcblxuLnNsaWNrLXNsaWRlciB7XG4gICAgJi0tcHJvZHVjdC1jYXJvdXNlbCB7XG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6ICRsaDtcbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcm91c2VsX19pdGVtLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBJY29uIEJ1bGxldCBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmljb24tYnVsbGV0LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcblxuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGgvNDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFBvc3QgU2hhcmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnBvc3Qtc2hhcmUge1xuXG5cdGZsb2F0OmxlZnQ7XG5cblx0PiAqIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuXHRcdHBhZGRpbmc6ICRsaC8yO1xuXHR9XG5cblxuXHQmX19rZXkge1xuXHRcdFxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkbGgvNDtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkbGgvMjtcblx0XHRcdG1hcmdpbi1yaWdodDogJGxoLzI7XG5cdFx0XHRmb250LXNpemU6ICRmejtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OicnO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDowO1xuXHRcdFx0XHR0b3A6MTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19zb2NpYWwge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdG1hcmdpbjowIDNweDtcblx0XHR3aWR0aDogJGxoICsgM3B4O1xuXHRcdGhlaWdodDogJGxoICsgM3B4O1xuXHRcdGJvcmRlci1yYWRpdXM6MTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdGZpbGw6I2ZmZjtcblx0XHR9XG5cblx0XHQmLS1mYWNlYm9vayB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1mYWNlYm9vaztcblx0XHR9XG5cblx0XHQmLS10d2l0dGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjLXR3aXR0ZXI7XG5cdFx0fVxuXG5cdFx0Ji0tbGlua2VkaW4ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtbGlua2VkaW47XG5cdFx0fVxuXHR9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBQb3N0IExpc3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucG9zdC1saXN0IHtcbiAgICAuYmxvZyAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLS1yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJi0tcG9zdCB7XG4gICAgICAgIC5wb3N0LWxpc3Qge1xuICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAucG9zdC1saXN0X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBvc3QtbGlzdF9fc3ViaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wb3N0LWxpc3RfX2NhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaC8yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsaCAqIDM7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL2Fycm93LXJpZ2h0LS13aGl0ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkbGg7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkbGgvMjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkbGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm90dG9tLWdyYWQtc2hhZG93KDAuOSwgMTAwJSwgJGMtZGJsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcG9zdHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvbWUgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoICogNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAkbGg7XG4gICAgICAgIHBhZGRpbmc6ICRsaC8yIDAgJGxoIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZ2FwOiAkbGggKiAzO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjcwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmLS1wYWRkZWQge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoLzQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlubGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRjLXhsZ3JleSwgNSUpO1xuXG4gICAgICAgICAgICAucG9zdC1saXN0X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LWxpc3RfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoIC8gMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEyMHB4IDFmcjtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxODBweCAxZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWxpbmsge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcG9zdHMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAkbGg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2Fyb3VzZWwsXG4gICAgICAgICYtLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTJjb2wge1xuICAgICAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICAgICAgLy9tYXgtaGVpZ2h0OjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kYXRlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC43NTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgICAgIH1cblxuICAgICAgICAubW9udGgge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogJGxoLzI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaC8yO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGgvNDtcbiAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBjb2xvciAwLjNzO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kbGgvMik7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZXhjZXJwdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZ6IC0gMnB4O1xuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAgICAgICBnYXA6ICRsaDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBnYXA6ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkc21hbGwgLSAxcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAmX19zdWJoZWFkaW5nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgfVxuXG4gICAgJl9fYzJhIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBGZWF0dXJlcyBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZlYXR1cmVzLWxpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxOHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICBwYWRkaW5nOiAkbGgvMiAkbGg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWFyZ2luOiAtJGxoIGF1dG8gMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgZ2FwOiAkbGggKiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGxoLzI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgZmlsbDogI2ZmZjtcbiAgICB9XG5cbiAgICAmX192YWx1ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEJyZWFkY3J1bWJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJyZWFkY3J1bWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LWZhbWlseTogJGZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1ncmV5O1xuICAgIHBhZGRpbmc6ICRsaC8yIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxoICogMjtcblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAmLS1kYXJrIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzX19zZXBhcmF0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy9zdmcvYW5nbGUtcmlnaHQtLWRhcmsuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBXaWRnZXQgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLndpZGdldCB7XG4gICAgPiAqIHtcbiAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoLzI7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemVzKTtcbiAgICB9XG5cbiAgICAmLWFyZWEge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGMteGxncmV5LCAxMCUpO1xuICAgICAgICBwYWRkaW5nOiAkbGgvMiAwO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMCAkbGggKiAwLjc1O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoLzI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLndwLWJsb2NrLXNlYXJjaCB7XG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS13aWRnZXQtbGF5ZXJlZC1uYXYtbGlzdCAud29vY29tbWVyY2Utd2lkZ2V0LWxheWVyZWQtbmF2LWxpc3RfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgJGxoICogMC43NTtcbn1cblxuYm9keS53b29jb21tZXJjZSAud2lkZ2V0X3ByaWNlX2ZpbHRlciB7XG4gICAgLnByaWNlX3NsaWRlciB7XG4gICAgICAgICZfYW1vdW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNzZWNvbmRhcnkge1xuICAgICYud2lkZ2V0LWFyZWEge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC53aWRnZXQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRjLXhsZ3JleSwgNSUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoLzI7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cC1ibG9jay1sYXRlc3QtcG9zdHNfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbGgvMjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndwLWJsb2NrLWxhdGVzdC1wb3N0c19fbGlzdCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aWRnZXRfYmxvY2s6aGFzKC53cC1ibG9jay1oZWFkaW5nKSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLndpZGdldCAud3AtYmxvY2stc2VhcmNoX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogUGFnaW5hdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qIFBhZ2luYXRpb24gKi9cbi5wYWdpbmF0aW9uIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJGxoIDA7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX2NvdW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGxoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgJi5wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxoLzI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbGgvMjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICAmLnBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGxoLzI7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMtZGJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6ICRsaCAqIDIgMDtcbiAgICB9XG59XG5cbi5wYWdpbmF0aW9uIHNwYW4sXG4ucGFnaW5hdGlvbiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGMtZGJsdWU7IC8qIFBhZ2luYXRpb24gdGV4dCBjb2xvciAqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGMtZGJsdWU7XG5cbiAgICBtYXJnaW46IDAgJGxoLzg7XG5cbiAgICAmLnBhZ2luYXRpb25fX2hlbGlwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICBtYXJnaW46IDAgJGxoLzY7XG4gICAgfVxufVxuXG4ucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1kYmx1ZTsgLyogUGFnaW5hdGlvbiBiYWNrZ3JvdW5kIG9uIGhvdmVyICovXG59XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1kYmx1ZTsgLyogQ3VycmVudCBwYWdlIGJhY2tncm91bmQgKi9cbiAgICBib3JkZXItY29sb3I6ICRjLWRibHVlO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBUb3AgQmFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRvcGJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMXB4KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaTpub3QoLnNvY2lhbC1saW5rc19faXRlbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkbGgvMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtdG9wLWxpbmtzLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDFweCkge1xuICAgICAgICAgICAgLm1lbnUtaXRlbS1vYmplY3QtcGFnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saW5rcyB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDFweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemVzKTtcbiAgICAgICAgJi0tbXktYWNjb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbGgvMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGxoLzI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxvZ2dlZC1vdXQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tdHJhZGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGgvMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9nb3V0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxoLzI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFVTUHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udXNwcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGxoLzIgJGxoO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ncmV5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGZmO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDFweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRsaCAqIDEuNTtcbiAgICAgICAgaGVpZ2h0OiAkbGggKiAxLjU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAuc3ZnaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogV1AgR29vZ2xlIFJldmlld3MgT3ZlcnJpZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgLndwLWdyIHtcbiAgICAgICAgJi53cGFjIHtcbiAgICAgICAgICAgIGEud3AtZ29vZ2xlLW5hbWUge1xuICAgICAgICAgICAgICAgLy8gY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53cC1nb29nbGUtdGltZSB7XG4gICAgICAgICAgICAvL2NvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAud3AtZ29vZ2xlLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3J3LXJldmlldy1pbm5lciA+IHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6ICRsaCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAkbGggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBHb29nbGUgUmV2aWV3c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5nb29nbGUtcmV2aWV3cyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEhvbWUgRmVhdHVyZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaG9tZS1mZWF0dXJlcyB7XG4gICAgLndyYXAge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgLy8gJjpiZWZvcmUge1xuICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyAgICAgdG9wOiAwO1xuICAgICAgICAvLyAgICAgYm90dG9tOiAwO1xuICAgICAgICAvLyAgICAgbGVmdDogMDtcbiAgICAgICAgLy8gICAgIHJpZ2h0OiAwO1xuICAgICAgICAvLyAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGMtYmxhY2ssIDAuMik7XG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgIC8vICAgICB6LWluZGV4OiAxO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAvLyAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYy1kYmx1ZSwgMC40KTtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJvdHRvbTogJGxoLzI7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAvLyBIaWRlIHRoZSB0aXRsZSBmb3Igbm93LiBNRCBhc2tlZCB0byByZXZlcnQgdG8gb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGVzZSBibG9jayBsaW5rcy5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEhvbWUgQmFubmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmhvbWUtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC8vICY6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGMtZGJsdWUsIDAuNCk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogUHJvZHVjdCBDYXJkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3QtY2FyZCB7XG4gICAgLnByaWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNpYmxpbmcgUGFnZSBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zaWJsaW5nLXBhZ2UtbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBSZXF1ZXN0IENhdGFsb2d1ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5yZXF1ZXN0LWNhdGFsb2d1ZSB7XG4gICAgLndyYXAge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgICAgICAgICAgIGdhcDogJGxoICogNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogQWR2YW5jZWQgV29vIFNlYXJjaCBwbHVnaW4gb3ZlcnJpZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmF3cyB7XG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICYtc2VhcmNoLWZpZWxkIHtcbiAgICAgICAgICAgICNoZWFkZXItc2VhcmNoICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNlYXJjaC1yZXN1bHQge1xuICAgICAgICAgICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMTAwJSArIDE2MHB4KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNwYWNlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zcGFjZXIge1xuICAgIC0tbXVsdGlwbGllcjogMTtcbiAgICAtLWxoOiAjeyRsaH07XG5cbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgICZfX2RpdiB7XG4gICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1saCkgKiB2YXIoLS1tdWx0aXBsaWVyKSAvIDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1saCkgKiB2YXIoLS1tdWx0aXBsaWVyKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNlY3Rpb24gSGVhZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpub3QoLnBsYWluX19oZWFkZXIpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZzogJGxoLzIgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMjtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemVzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGxoLzI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgLmFsaWduLWNlbnRlciAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY3MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBQcm9kdWN0IENhcm91c2VsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3QtY2Fyb3VzZWwge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy14bGdyZXk7XG5cbiAgICAmX19jYXQtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6ICRsaC8yO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwICRsaC8yO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogSW1hZ2UgKyBUZXh0IFJvd1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5pbWFnZS10ZXh0LXJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5ob21lICYge1xuICAgICAgICAuaW1hZ2UtdGV4dC1yb3dfX2ltYWdlIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWNrZ3JvdW5kICsgLndyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6ICRsaCAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZ2FwOiAkbGg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvL2ZsZXg6IDE7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaCAqIDM7XG4gICAgICAgIH1cblxuICAgICAgICBhW2NsYXNzXj1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbWFnZS1zdGlja3kge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW1hZ2UtZmlyc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGxoICogMztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBDYXNlIFN0dWRpZXMgU2xpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhc2Utc3R1ZGllcy1zbGlkZXIge1xuXG5cdCZfX2hlYWRlciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGxoO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogNjUwcHg7XG5cdFx0bWFyZ2luOjAgYXV0bztcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiRsaDtcblx0XHRiYWNrZ3JvdW5kOiAkYy1ibGFjaztcblx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXG5cdFx0QGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX19oZWFkaW5nIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkbGg7XG5cblx0XHRAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0taGVhZGluZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGxoLzI7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXG5cdCZfX2ltYWdlIHtcblx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcblx0XHRcdHdpZHRoOjgwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyMCU7XG5cdFx0XHRvcGFjaXR5OjA7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cblx0XHRcdC5vd2wtaXRlbS5hY3RpdmUgJiB7XG5cdFx0XHRcdG9wYWNpdHk6MTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX190ZXh0IHtcblx0XHRmbGV4OjE7XG5cblx0XHRzdmcge1xuXHRcdFx0ZmlsbDogJGMtcmVkO1xuXHRcdFx0d2lkdGg6IDEzN3B4O1xuXHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdH1cblx0fVxuXG5cdCZfX3RleHRib3gge1xuXHRcdHBhZGRpbmc6ICRsaC8yIDA7XG5cdFx0ZmxleDoxO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG5cdFx0Y29sb3I6I2ZmZjtcblx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXG5cdFx0QGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzogJGxoLzIgJGxoO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOjA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6JGxoKjIgJGxoICoxLjU7XG5cdFx0XHR0b3A6NTAlO1xuXHRcdFx0bGVmdDozMHB4O1xuXHRcdFx0Ym90dG9tOmF1dG87XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMCUsIC01MCUpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgjMDAwLDAuMyk7XG5cdFx0XHR3aWR0aDogNDYwcHg7XG5cdFx0XHRvcGFjaXR5OjA7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyAwLjNzLCBvcGFjaXR5IDAuM3MgMC4zcyBjdWJpYy1iZXppZXIoMC4wNiwgMC41MSwgMC4yNCwgMC45Nyk7XG5cblx0XHRcdC5vd2wtaXRlbS5hY3RpdmUgJiB7XG5cdFx0XHRcdG9wYWNpdHk6MTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRyb2xzIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkbGg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBDMmEgU2VjdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jMmEtc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29sdW1uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYuaGFzLWNvbnRhY3QtbGlua3MsXG4gICAgICAgICYuaGFzLWJ1dHRvbiB7XG4gICAgICAgICAgICAuYzJhLXNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXJvdyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYzJhLXNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaCAqIDI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYzJhLXNlY3Rpb25fX3RleHQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICAmLS1uby1zdWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViaGVhZC1mb250LXNpemVzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoO1xuXG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhY3QtbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogRm9ybSBTZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZvcm0tc2VjdGlvbiB7XG5cdC53cmFwIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMjtcblx0fVxuXG5cdCZfX21haW4ge1xuXHRcdG1heC13aWR0aDogNjUwcHg7XG5cdFx0bWFyZ2luOjAgYXV0bztcblx0fVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0IDogT25lIENvbHVtblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5vbmVjb2wge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Ji0tc2VhcmNoIHtcblx0XHRwYWRkaW5nLXRvcDogJGxoO1xuXG5cdFx0QGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogJGxoKjU7XG5cdFx0fVxuXHR9XG5cdFxuXHQub25lY29sX19oZWFkZXIge1xuXHRcdG1hcmdpbi1ib3R0b206ICRsaDtcblx0fVxuXG5cdCYtLWhhcy1iZyB7XG5cdFx0Lm9uZWNvbF9fdGV4dCB7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG5cblx0XHRcdEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuXHRcdFx0XHRwYWRkaW5nOiAwICRsaDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1oYXMtYmctaW1nIHtcblx0XHQub25lY29sX190ZXh0IHtcblx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Ji0tbmFycm93IHtcblx0XHRcblx0XHRAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcblx0XHRcdC5vbmVjb2xfX2hlYWRlciB7XG5cdFx0XHRcdG1hcmdpbjowIGF1dG87XG5cdFx0XHRcdG1heC13aWR0aDogODAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2hlYWRpbmcge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5hbGlnbi1jZW50ZXIgJiB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cblx0XHQ6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0fVxuXG5cdFx0Ji0tbmFycm93IHtcblx0XHRcdEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW46MCBhdXRvO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDgwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCA6IENvbnRhY3QgTWFpblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jb250YWN0LW1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogJGxoO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAwcHggMWZyO1xuICAgICAgICAgICAgZ2FwOiAkbGggKiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZnogKyAycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEljb24gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaWNvbi1saW5rcyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLXhsZ3JleTtcblxuICAgIC53cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLy9mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgLndyYXAge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxpbmtzX19pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBQcm9kdWN0IENhdGVnb3J5IExpbmsgR3JpZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wcm9kdWN0LWNhdGVnb3J5LWxpbmstZ3JpZCB7XG4gICAgJl9fZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRsaC8yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBDaGlsZCBQYWdlIExpbmsgR3JpZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wYWdlLWxpbmstZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogJGxoLzI7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1zbWFsbCkge1xuICAgICAgICAmLS0zY29sIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTJjb2wge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg0NTBweCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAkbGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLS0zY29sIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAmLS0yY29sIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoNTUwcHgsIDFmcikpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgOiBEcm9wZG93biBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmRyb3Bkb3duLWxpc3Qge1xuICAgICYtLXNpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggKiAwLjc1ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXhsZ3JleTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JleTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgcGFkZGluZzogJGxoLzIgJGxoLzIgMXB4ICRsaCAqIDI7XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyZXk7XG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZXk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlzLW9wZW4ge1xuICAgICAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbGlzdF9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kcm9wZG93bi1saXN0X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGxoLzI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjVzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KTtcbiAgICAgICAgLy9tYXgtaGVpZ2h0OjBweDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXhsZ3JleTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxlZnQ6ICRsaC8yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuXG4gICAgICAgIC5kcm9wZG93bi1saXN0X19pdGVtLS1pcy1vcGVuICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JleTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JleTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGdyZXk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gICAgICAgICAgICAuZHJvcGRvd24tbGlzdF9faXRlbS0taXMtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRncmV5O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40NiwgMC45NiwgMC40MywgMC45NCksIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2l0ZW0tLWlzLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEFjY3JlZGl0YXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmFjY3JlZGl0YXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctbGVmdDogJGxoO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsaDtcblxuICAgICZfX2xvZ29zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBncmlkLWdhcDogJGxoO1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOmNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDoxMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoIGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub3dsLWNhcm91c2VsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgOiBUd28gQ29sdW1uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnR3b2NvbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmX19yb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhcy1pbWFnZS1jb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJG1lZGl1bSAtIDFweCkge1xuICAgICAgICAgICAgICAgIC50d29jb2xfX2NvbC0taGFzLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICRsaDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6ICRsaDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGxofSogMik7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50d29jb2xfX2NvbC0tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC4ycywgdHJhbnNmb3JtIDAuNXMgMC4ycztcblxuICAgICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbDEge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbDIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdGV4dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgICAgICAudHdvY29sX19yb3ctLWhhcy1pbWFnZS1jb2wgJiB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDYwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxoICogMiAkbGggKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgIC50d29jb2xfX3Jvdy0taGFzLWltYWdlLWNvbCAmIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1NDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogJGxoICogMiAkbGggJGxoICRsaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEdhbGxlcnlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZ2FsbGVyeSB7XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRsaCk7XG4gICAgICAgIC8vb3BhY2l0eTowO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMS41cztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skbGgvMn0pO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAjeyRsaC8zfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJHN1YmhlYWQtZm9udC1zaXplcyk7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAkbGggKiAxLjU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaCAqIDEuNTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9jaXJjbGUtcGx1cy0td2hpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBzd3BfX2J1dHRvbi0tc2hhcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRsaDtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm0tc2l6ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGxoLzJ9KTtcblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzJSAtICN7JGxoLzN9KTtcbiAgICB9XG59XG5cbi5tLWd1dHRlciB7XG4gICAgd2lkdGg6ICRsaC8yO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAkbGgvMjtcbiAgICB9XG59XG5cbi5wc3dwX19jYXB0aW9uIC5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFRhYmJlZCBQYW5lbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udGFiYmVkLXBhbmVscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYtc2VjdGlvbiB7XG4gICAgICAgIC50YWJiZWQtcGFuZWxzLXNlY3Rpb25fX2hlYWRpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhbmVsLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAud3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX190YWJzIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW46ICRsaCAwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWxpZ24tbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGxoO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaDtcbiAgICB9XG5cbiAgICAmX190YWIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbGgvMjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaC8yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGNvbG9yIDAuMnM7XG4gICAgICAgIGNvbG9yOiAkYy1ncmV5O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYy14bGdyZXk7XG5cbiAgICAgICAgJjpub3QoLnRhYmJlZC1wYW5lbHNfX3RhYi0tYWN0aXZlKTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy14bGdyZXk7XG4gICAgICAgICAgICBjb2xvcjogJGMtZ3JleTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXhsZ3JleTtcbiAgICAgICAgcGFkZGluZzogJGxoICogMjtcblxuICAgICAgICAmLS0yY29sIHtcbiAgICAgICAgICAgICYudGFiYmVkLXBhbmVsc19faXRlbS0tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogJGxoO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBnYXA6ICRsaCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFiYmVkLXBhbmVscyB7XG4gICAgICAgICAgICAgICAgJl9fcGFuZWwtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19wYW5lbC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMS4ycywgZmFkZUluUmlnaHRTbWFsbCwgMSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuMjgsIDEpKTtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgxLjJzLCBmYWRlSW5VcFNtYWxsLCAxLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC4yOCwgMSkpO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3BhbmVsLXRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICRsaCAqIDIgYXV0bztcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCA6IEludGVybmFsIFNsaWRlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5pbnRlcm5hbC1zbGlkZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0xMDRweCAkbGggLTEwNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHdpZHRoOiAkbGggKiAyO1xuICAgICAgICBoZWlnaHQ6ICRsaCAqIDI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgfVxuXG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAkbGgvMjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogJGxoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy9zdmcvYXJyb3ctbGVmdC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01cHgsIC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogJGxoLzI7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgICAgIGhlaWdodDogJGxoO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL2Fycm93LXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJHgtc21hbGwgLSAxcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoICogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzdXBlcikge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIGJvdHRvbTogJGxoICogMC43NTtcbiAgICAgICAgbGVmdDogJGxoO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBtYXgtd2lkdGg6IDMxNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoIzAwMCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtc21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHN1cGVyKSB7XG4gICAgICAgICAgICBib3R0b206ICRsaDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjksIDAuNzQsIDAuNDEsIDAuOTEpLCBvcGFjaXR5IDAuM3M7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxoLzIgJGxoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stY3VycmVudCAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBJbWFnZSBUZXh0IENvbHVtbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaW1hZ2UtdGV4dC1jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXRvcDogJGxoO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIC0tY29sczogMztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1zbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICA+IC5pbWFnZS10ZXh0LWNvbHVtbnNfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gdmFyKC0tY29scykgLSAyMHB4KSk7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgLmlzLXZpc2libGUgJiB7XG4gICAgICAgICAgICAkdGltZU9mZnNldDogMC4yNXM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMXMsIGZhZGVJblVwU21hbGwsIDEsIGN1YmljLWJlemllcigwLjQsIDAuMTIsIDAuMSwgMS4zNSkpO1xuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA4IHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB1bml0cyBhcmUgaW4gdGhlIHZhcmlhYmxlIHNvIFNDU1MganVzdCBkb2VzIG1hdGhcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkaSAqICR0aW1lT2Zmc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0taGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAvIDI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRwLWZvbnQtc2l6ZXMpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjRweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJoZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jMmEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLSRsaCAqIDEuNTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogJGMtYmxhY2s7XG4gICAgICAgICAgICB3aWR0aDogJGxoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaCAvIDI7XG5cbiAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxoLzI7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEljb24gVGV4dCBDb2x1bW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmljb24tdGV4dC1jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXRvcDogJGxoICogMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGxoICogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaCAqIDM7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGggKiAzO1xuICAgIH1cblxuICAgICYtLWhhcy1iZyB7XG4gICAgICAgIC5pY29uLXRleHQtY29sdW1ucyB7XG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6ICRsaCAqIDM7XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtc21hbGwpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTNjb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAkbGggLyAyO1xuXG4gICAgICAgIC5iZy0tbm9uZSAmLFxuICAgICAgICAuYmctLXdoaXRlICYsXG4gICAgICAgIC5iZy0tbGdyZXktMjAwICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaCAqIDIgJGxoICRsaCAkbGg7XG4gICAgICAgICAgICAvL21pbi1oZWlnaHQ6IDIzNHB4O1xuXG4gICAgICAgICAgICAmLS1oYXMtdGV4dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS10ZXh0IHtcbiAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0taGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAvIDQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuXG4gICAgICAgICYuc3ViaGVhZGluZyB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjQ1cyBjdWJpYy1iZXppZXIoMC40LCAwLjEyLCAwLjEsIDEuMzUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAkbGg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxoICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1lZGl1bSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbGg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkbGggKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxhcmdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYzJhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0kbGggKiAxLjU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgICAgIGhlaWdodDogJGxoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGgvMjtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV29vY29tbWVyY2UgOiBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgJi53b29jb21tZXJjZSxcbiAgICAmLndvb2NvbW1lcmNlLWpzLFxuICAgIC53b29jb21tZXJjZSB7XG4gICAgICAgICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsXG4gICAgICAgIGEuYnV0dG9uLmFsdCxcbiAgICAgICAgYnV0dG9uLmJ1dHRvbi5hbHQsXG4gICAgICAgIGlucHV0LmJ1dHRvbi5hbHQsXG4gICAgICAgIGEuYnV0dG9uLFxuICAgICAgICBidXR0b24uYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYy1ncmVlbiwgJGMtZ3JlZW4sICNmZmYpO1xuICAgICAgICAgICAgLy9ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxoO1xuICAgICAgICAgICAgLy93aWR0aDoxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWRncmV5O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtZGdyZXk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWRkZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtZ3JlZW47XG4gICAgfVxuXG4gICAgYS5hZGRlZF90b19jYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCRjLWdyZWVuLCAkYy1ncmVlbiwgI2ZmZik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWRibHVlO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIFRvIENhcnQgU3Bpbm5lclxuICAgICYud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmxvYWRpbmc6OmFmdGVyLFxuICAgICYud29vY29tbWVyY2UgYS5idXR0b24ubG9hZGluZzo6YWZ0ZXIsXG4gICAgJi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmxvYWRpbmc6OmFmdGVyLFxuICAgICYud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmxvYWRpbmc6OmFmdGVyIHtcbiAgICAgICAgLy90cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdDpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAud29vY29tbWVyY2UgYS5idXR0b24uZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkLFxuICAgIC53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIC53b29jb21tZXJjZSBpbnB1dC5idXR0b24uZGlzYWJsZWQsXG4gICAgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSB7XG4gICAgICAgIHBhZGRpbmc6ICRsaC80ICRsaDtcbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5jb3Vwb24gLmlucHV0LXRleHQge1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBQcm9kdWN0IC8gQ2F0ZWdvcnkgTG9vcFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmJvZHkge1xuICAgIC8vIFByb2R1Y3QgQXJjaGl2ZSBzdWJjYXRlZ29yaWVzXG4gICAgJi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LnByb2R1Y3QtY2F0ZWdvcnksXG4gICAgJi53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QucHJvZHVjdC1jYXRlZ29yeSB7XG4gICAgICAgIC8vIHdpZHRoOiBhdXRvO1xuICAgICAgICAvLyBmbG9hdDogbm9uZTtcbiAgICAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC8vICBwYWRkaW5nOiAkbGggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlOm5vdCgud29vY29tbWVyY2UtY2FydCkgdWwucHJvZHVjdHMgbGkucHJvZHVjdCxcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2U6bm90KC53b29jb21tZXJjZS1jYXJ0KSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICAgICAgLy8gZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgLy8gd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAvLyBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IGFyY2hpdmUgcHJvZHVjdHNcbiAgICAmLnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QsXG4gICAgJi5zZWFyY2gtcmVzdWx0cyxcbiAgICAmLnRheC1wcm9kdWN0X2NhdCB7XG4gICAgICAgIC5wcm9kdWN0cy5jb2x1bW5zLTMge1xuICAgICAgICAgICAgLy8gZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIC8vIGdyaWQtZ2FwOiAkbGg7XG4gICAgICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAkbGggKiAyO1xuICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDogJGMtYm9yZGVyIDFweCBzb2xpZDtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgLy8gICAgIC8vIERpc2FibGVkIGFzIGJyZWFraW5nIHByb2R1Y3QgZ3JpZFxuICAgICAgICAgICAgLy8gICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg0MDBweCwgMWZyKSk7XG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMjtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgLy8gJjphZnRlcixcbiAgICAgICAgICAgIC8vICY6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0Lndvb2NvbW1lcmNlLXNob3Age1xuICAgICAgICAucHJvZHVjdHMuY29sdW1ucy0zIHtcbiAgICAgICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICBwYWRkaW5nOiAkbGgvMiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggLyAyO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6ICRsaC8yIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAvIDI7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5vbnNhbGUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogJGxoLzI7XG4gICAgICAgIHRvcDogJGxoLzI7XG4gICAgICAgIHBhZGRpbmc6ICRsaC80ICRsaC8yO1xuICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAkbGg7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1zbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLWdhcDogJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgMTAyNHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdF9fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfX2lubmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cyB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IgMC40cywgY29sb3IgMC40cywgYm9yZGVyLWNvbG9yIDAuNHM7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuICAgICYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZXMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGMtbWdyZXksIDAuOCk7XG4gICAgICAgIHBhZGRpbmc6ICRsaC80O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJl9fYzJhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemVzKTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGgvNCAkbGgvMjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UsXG4gICAgJi53b29jb21tZXJjZS1jYXJ0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJGMtZ3JlZW47XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplcyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0Om5vdCgucHJvZHVjdC1jYXRlZ29yeSkgYSBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuc3Rhci1yYXRpbmcge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAmLnRheC1wcm9kdWN0X2NhdCB7XG4gICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzMzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRheC1wd2ItYnJhbmQsXG4gICAgJi50YXgtcHJvZHVjdF9jYXQsXG4gICAgJi5zZWFyY2gtcmVzdWx0cyxcbiAgICAucmVsYXRlZCxcbiAgICAudXBzZWxscyxcbiAgICAmLndvb2NvbW1lcmNlLWNhcnQge1xuICAgICAgICB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0Om5vdCgucHJvZHVjdC1jYXRlZ29yeSkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjM1cztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAucHJvZHVjdF9fZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud29vY29tbWVyY2UtY2FydCB7XG4gICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Q6bm90KC5wcm9kdWN0LWNhdGVnb3J5KSB7XG4gICAgICAgICAgICAucHJvZHVjdF9fZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzdWx0IENvdW50XG4gICAgJi53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0ZXJcbiAgICAmLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbGggYXV0bztcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGxoLzI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAkbGgvMiArIDJweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZmO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaC8yO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS13cHBwLXNlbGVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogJGxoLzIgKyAycHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3BwcC1zZWxlY3Qge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGgvMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBhZ2luYXRpb25cbiAgICAmLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaCAqIDI7XG4gICAgfVxuICAgICYud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZXMpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgICYud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgIH1cbiAgICAmLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sZ3JleTtcbiAgICB9XG4gICAgJi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gICAgJi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhLFxuICAgICYud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhLm5leHQge1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNpbmdsZSBQcm9kdWN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgJi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS11c2VzLWJsb2NrLXRoZW1lKSkgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSB7XG4gICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5IHtcbiAgICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1bW1hcnkge1xuICAgICAgICAmLS1oYXMtcmVsYXRlZCB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAkbGggKiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwdG90YWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbGgvMjtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4ICRjLWdyZXkgc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCAkYy1ncmV5IHNvbGlkO1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggLyAyO1xuICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfbWV0YSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICB9XG5cbiAgICAvLyBWYXJpYXRpb25zXG5cbiAgICAmLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1kYmx1ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1wcmljZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgIH1cblxuICAgIC8vIFRhYnNcblxuICAgICYud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbGg7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMteGxncmV5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sZ3JleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLy8gVXAgU2VsbHNcblxuICAgIHNlY3Rpb24udXAtc2VsbHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogUHJpY2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ib2R5IHtcbiAgICAmLnNpbmdsZS1wcm9kdWN0Lndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS11c2VzLWJsb2NrLXRoZW1lKSkgZGl2LnByb2R1Y3QgLnByaWNlLFxuICAgICYuc2luZ2xlLXByb2R1Y3Qud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLXVzZXMtYmxvY2stdGhlbWUpKSBkaXYucHJvZHVjdCBzcGFuLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICRjLWdyZWVuO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZXMpO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBwOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV29vY29tbWVyY2UgOiBNeSBBY2NvdW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtICsgMSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy14bGdyZXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGxoLzQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvdW50LWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoLzI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBncm9vdmUgI2ZmZmZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2NiU7XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLWFkZHJlc3MtZmllbGRzLFxuICAgICAgICAud29vY29tbWVyY2UtRWRpdEFjY291bnRGb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50LFxuICAgICYud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS1teS1hY2NvdW50IHtcbiAgICAgICAgLndvb2NvbW1lcmNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtLndvb2NvbW1lcmNlLUVkaXRBY2NvdW50Rm9ybSB7XG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLWxvZ2luLFxuICAgICYud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1yZWdpc3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3Mge1xuICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZGJsdWU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaDtcblxuICAgICAgICAgICAgJi0taGFsZi1wYWQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogR2xvYmFsIENvbXBvbmVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ib2R5IHtcbiAgICAud29vY29tbWVyY2Utc3RvcmUtbm90aWNlLFxuICAgIHAuZGVtb19zdG9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGMteGxncmV5LCAwLjkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMC41cywgZmFkZUluRG93blNtYWxsLCAxLCBsaW5lYXIpO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlIGltZy5pbWFnZS1hcy1iZyxcbiAgICAud29vY29tbWVyY2UtcGFnZSBpbWcuaW1hZ2UtYXMtYmcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gTWVzc2FnZXNcbiAgICAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAkbGg7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWVycm9yLFxuICAgIC53b29jb21tZXJjZS1pbmZvLFxuICAgIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMteGxncmV5O1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkc21hbGwgLSAxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1sZ3JleTtcbiAgICB9XG5cbiAgICAvLyBSZXZpZXdzIEZvcm1cblxuICAgICYud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIGltZy5hdmF0YXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmV5O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3NXB4O1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemVzKTtcblxuICAgICAgICBtYXJnaW4tdG9wOiAkbGgvMjtcbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDI7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0ge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICB0b3A6ICRsaDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAubWV0YSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICYud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHRleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgfVxuXG4gICAgLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGNvbG9yOiAkYy1yZWQ7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplcyk7XG4gICAgfVxuXG4gICAgLmNvbW1lbnQtZm9ybS1yYXRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRsaC8yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV29vY29tbWVyY2UgOiBDYXJ0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgJi53b29jb21tZXJjZS1jYXJ0IHtcbiAgICAgICAgLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47IC8qIFJlcGxhY2Ugd2l0aCB5b3VyIGRlc2lyZWQgY29sb3IgKi9cbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1idXR0b246aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7IC8qIEhvdmVyIGNvbG9yICovXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdvb2NvbW1lcmNlIDogQ2hlY2tvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ib2R5IHtcbiAgICAmLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgICAgICAgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtcGxhY2Utb3JkZXItYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuOyAvKiBSZXBsYWNlIHdpdGggeW91ciBkZXNpcmVkIGNvbG9yICovXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LXBsYWNlLW9yZGVyLWJ1dHRvbm46aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7IC8qIEhvdmVyIGNvbG9yICovXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdvb2NvbW1lcmNlIDogVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keSB7XG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUge1xuICAgICAgICB0ci50YXgtcmF0ZSB7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ci5kcGRfdWstc2hpcHBpbmcge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmLndvb2NvbW1lcmNlLW9yZGVycy10YWJsZV9fY2VsbC1vcmRlci1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogJGxoLzI7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRsaC80O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoLzQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscyxcbiAgICAgICAgLmNhcnQtc3VidG90YWwsXG4gICAgICAgIC5vcmRlci10b3RhbCxcbiAgICAgICAgLnJlY3VycmluZy10b3RhbHMsXG4gICAgICAgIC5jYXJ0LWRpc2NvdW50IHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IGlucHV0LmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGdyZXk7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggKiAyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoO1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZSB0YWJsZS53b29jb21tZXJjZS10YWJsZS0tb3JkZXItZGV0YWlscyB7XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB7XG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChvZGQpLFxuICAgIC8vICYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgIC8vIH1cblxuICAgIC8vICYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChldmVuKSxcbiAgICAvLyAmLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTM5Mzk7XG4gICAgLy8gfVxuXG4gICAgJi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB0YWJsZSB0aCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZXMpO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgJi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICB9XG59XG4iLCIvKiEgUGhvdG9Td2lwZSBtYWluIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cbi8qXG5cdFN0eWxlcyBmb3IgYmFzaWMgUGhvdG9Td2lwZSBmdW5jdGlvbmFsaXR5IChzbGlkaW5nIGFyZWEsIG9wZW4vY2xvc2UgdHJhbnNpdGlvbnMpXG4qL1xuLyogcHN3cCA9IHBob3Rvc3dpcGUgKi9cbi5wc3dwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgei1pbmRleDogMTUwMDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiBjcmVhdGUgc2VwYXJhdGUgbGF5ZXIsIHRvIGF2b2lkIHBhaW50IG9uIHdpbmRvdy5vbnNjcm9sbCBpbiB3ZWJraXQvYmxpbmsgKi9cbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnBzd3AgKiB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAucHN3cCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiBzdHlsZSBpcyBhZGRlZCB3aGVuIEpTIG9wdGlvbiBzaG93SGlkZU9wYWNpdHkgaXMgc2V0IHRvIHRydWUgKi9cbi5wc3dwLS1hbmltYXRlX29wYWNpdHkge1xuICAvKiAwLjAwMSwgYmVjYXVzZSBvcGFjaXR5OjAgZG9lc24ndCB0cmlnZ2VyIFBhaW50IGFjdGlvbiwgd2hpY2ggY2F1c2VzIGxhZyBhdCBzdGFydCBvZiB0cmFuc2l0aW9uICovXG4gIG9wYWNpdHk6IDAuMDAxO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZyB7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5wc3dwLS1kcmFnZ2luZyAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuLypcblx0QmFja2dyb3VuZCBpcyBhZGRlZCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQuXG5cdEFzIGFuaW1hdGluZyBvcGFjaXR5IGlzIG11Y2ggZmFzdGVyIHRoYW4gYW5pbWF0aW5nIHJnYmEoKSBiYWNrZ3JvdW5kLWNvbG9yLlxuKi9cbi5wc3dwX19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkYy1ibGFjaztcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7IH1cblxuLnBzd3BfX3Njcm9sbC13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi8qIFByZXZlbnQgc2VsZWN0aW9uIGFuZCB0YXAgaGlnaGxpZ2h0cyAqL1xuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX19pbWcge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpOyB9XG5cbi5wc3dwX19iZyB7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpOyB9XG5cbi5wc3dwLS1hbmltYXRlZC1pbiAucHN3cF9fYmcsXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX3pvb20td3JhcCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ucHN3cF9fY29udGFpbmVyLFxuLnBzd3BfX3pvb20td3JhcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5wc3dwX19pdGVtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBzd3BfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyBcblxufVxuXG4vKlxuXHRzdHJldGNoZWQgdGh1bWJuYWlsIG9yIGRpdiBwbGFjZWhvbGRlciBlbGVtZW50IChzZWUgYmVsb3cpXG5cdHN0eWxlIGlzIGFkZGVkIHRvIGF2b2lkIGZsaWNrZXJpbmcgaW4gd2Via2l0L2JsaW5rIHdoZW4gbGF5ZXJzIG92ZXJsYXBcbiovXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cdGRpdiBlbGVtZW50IHRoYXQgbWF0Y2hlcyBzaXplIG9mIGxhcmdlIGltYWdlXG5cdGxhcmdlIGltYWdlIGxvYWRzIG9uIHRvcCBvZiBpdFxuKi9cbi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLS1ibGFuayB7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cblxuLnBzd3AtLWllIC5wc3dwX19pbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi8qXG5cdEVycm9yIG1lc3NhZ2UgYXBwZWFycyB3aGVuIGltYWdlIGlzIG5vdCBsb2FkZWRcblx0KEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXG4qL1xuLnBzd3BfX2Vycm9yLW1zZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19lcnJvci1tc2cgYSB7XG4gIGNvbG9yOiAjQ0NDO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuIiwiLyohIFBob3RvU3dpcGUgRGVmYXVsdCBVSSBDU1MgYnkgRG1pdHJ5IFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSB8IE1JVCBsaWNlbnNlICovXG4vKlxuXG5cdENvbnRlbnRzOlxuXG5cdDEuIEJ1dHRvbnNcblx0Mi4gU2hhcmUgbW9kYWwgYW5kIGxpbmtzXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXHQ0LiBDYXB0aW9uXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yXG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzIChyb290IGVsZW1lbnQsIHRvcCBiYXIsIGlkbGUgc3RhdGUsIGhpZGRlbiBzdGF0ZSwgZXRjLilcblxuKi9cbi8qXG5cdFxuXHQxLiBCdXR0b25zXG5cbiAqL1xuLyogPGJ1dHRvbj4gY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgJGxoLzIgKyA1IDAgMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgJi0tY2xvc2UsXG4gICAgJi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cbi5wc3dwX19idXR0b246Zm9jdXMsXG4ucHN3cF9fYnV0dG9uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLnBzd3BfX2J1dHRvbjphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3BhY2l0eTogMC45O1xufVxuLnBzd3BfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qIHBzd3BfX3VpLS1vdmVyLWNsb3NlIGNsYXNzIGl0IGFkZGVkIHdoZW4gbW91c2UgaXMgb3ZlciBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIGdhbGxlcnkgKi9cbi5wc3dwX191aS0tb3Zlci1jbG9zZSAucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguL3Bob3Rvc3dpcGUvZGVmYXVsdC1za2luLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNjRweCA4OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4xKSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksIChtaW4tcmVzb2x1dGlvbjogMTA1ZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjFkcHB4KSB7XG4gICAgLyogU2VydmUgU1ZHIHNwcml0ZSBpZiBicm93c2VyIHN1cHBvcnRzIFNWRyBhbmQgcmVzb2x1dGlvbiBpcyBtb3JlIHRoYW4gMTA1ZHBpICovXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguL3Bob3Rvc3dpcGUvZGVmYXVsdC1za2luLnN2Zyk7XG4gICAgfVxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTUxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnBzd3BfX2J1dHRvbi0tc2hhcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC01MXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAtN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU5cHggLTdweDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzOHB4IC03cHg7XG59XG5cbi8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG5cdEFycm93IGJ1dHRvbnMgaGl0IGFyZWFcblx0KGljb24gaXMgYWRkZWQgdG8gOmJlZm9yZSBwc2V1ZG8tZWxlbWVudClcbiovXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQge1xuICAgIGxlZnQ6IDA7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMSk7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0MXB4IC00NHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICByaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDtcbn1cblxuLypcblxuXHQyLiBTaGFyZSBtb2RhbC9wb3B1cCBhbmQgbGlua3NcblxuICovXG4ucHN3cF9fY291bnRlcixcbi5wc3dwX19zaGFyZS1tb2RhbCB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE2MDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICB6LWluZGV4OiAxNjIwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRvcDogNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcmlnaHQ6IDYwcHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbn1cbi5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbn1cbi5wc3dwX19zaGFyZS10b29sdGlwIGE6Zmlyc3QtY2hpbGQge1xuICAgIC8qIHJvdW5kIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3QgbGlzdCBpdGVtICovXG4gICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG59XG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuICAgIG9wYWNpdHk6IDE7XG59XG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4gLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBpbmNyZWFzZSBzaXplIG9mIHNoYXJlIGxpbmtzIG9uIHRvdWNoIGRldmljZXMgKi9cbi5wc3dwLS10b3VjaCAucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgICBwYWRkaW5nOiAxNnB4IDEycHg7XG59XG5cbmEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEycHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICAtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2U1YzlhO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6aG92ZXI6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U1YzlhO1xufVxuXG5hLnBzd3BfX3NoYXJlLS10d2l0dGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTVhY2VlO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1waW50ZXJlc3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICNjZTI3MmQ7XG59XG5cbmEucHN3cF9fc2hhcmUtLWRvd25sb2FkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuXG4vKlxuXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXG4gKi9cbi5wc3dwX19jb3VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMjVweCAxMHB4IDEwcHggMjZweDtcbiAgICBmb250LWZhbWlseTogJGZmO1xufVxuXG4vKlxuXHRcblx0NC4gQ2FwdGlvblxuXG4gKi9cbi5wc3dwX19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDRweDtcbn1cbi5wc3dwX19jYXB0aW9uIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICNiYmI7XG59XG5cbi5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBjb2xvcjogI2NjYztcbn1cblxuLnBzd3BfX2NhcHRpb24tLWVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBGYWtlIGNhcHRpb24gZWxlbWVudCwgdXNlZCB0byBjYWxjdWxhdGUgaGVpZ2h0IG9mIG5leHQvcHJldiBpbWFnZSAqL1xuLnBzd3BfX2NhcHRpb24tLWZha2Uge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblxuXHQ1LiBMb2FkaW5nIGluZGljYXRvciAocHJlbG9hZGVyKVxuXG5cdFlvdSBjYW4gcGxheSB3aXRoIGl0IGhlcmUgLSBodHRwOi8vY29kZXBlbi5pby9kaW1zZW1lbm92L3Blbi95eUJXb1JcblxuICovXG4ucHN3cF9fcHJlbG9hZGVyIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMTJweDtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgLyogV2UgdXNlIC5naWYgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IENTUyBhbmltYXRpb24gKi9cbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi9waG90b3N3aXBlL3ByZWxvYWRlci5naWYpIDAgMCBuby1yZXBlYXQ7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjbG9ja3dpc2UgNTAwbXMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSkgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9fY3V0IHtcbiAgICAvKiBcblx0XHRcdFRoZSBpZGVhIG9mIGFuaW1hdGluZyBpbm5lciBjaXJjbGUgaXMgYmFzZWQgb24gUG9seW1lciAoXCJtYXRlcmlhbFwiKSBsb2FkaW5nIGluZGljYXRvciBcblx0XHRcdCBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcblx0XHQqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogN3B4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5wc3dwX19wcmVsb2FkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxufVxuXG4vKlxuXHRcblx0Ni4gQWRkaXRpb25hbCBzdHlsZXNcblxuICovXG4vKiByb290IGVsZW1lbnQgb2YgVUkgKi9cbi5wc3dwX191aSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTU1MDtcbn1cblxuLyogdG9wIGJsYWNrIGJhciB3aXRoIGJ1dHRvbnMgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yICovXG4ucHN3cF9fdG9wLWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC8vaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRsaDtcbn1cblxuLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdG9wLWJhcixcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi8qIHBzd3AtLWhhc19tb3VzZSBjbGFzcyBpcyBhZGRlZCBvbmx5IHdoZW4gdHdvIHN1YnNlcXVlbnQgbW91c2Vtb3ZlIGV2ZW50cyBvY2N1ciAqL1xuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ucHN3cF9fdG9wLWJhcixcbi5wc3dwX19jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuXG4vKiBwc3dwX191aS0tZml0IGNsYXNzIGlzIGFkZGVkIHdoZW4gbWFpbiBpbWFnZSBcImZpdHNcIiBiZXR3ZWVuIHRvcCBiYXIgYW5kIGJvdHRvbSBiYXIgKGNhcHRpb24pICovXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fdG9wLWJhcixcbi5wc3dwX191aS0tZml0IC5wc3dwX19jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuXG4vKiBwc3dwX191aS0taWRsZSBjbGFzcyBpcyBhZGRlZCB3aGVuIG1vdXNlIGlzbid0IG1vdmluZyBmb3Igc2V2ZXJhbCBzZWNvbmRzIChKUyBvcHRpb24gdGltZVRvSWRsZSkgKi9cbi5wc3dwX191aS0taWRsZSAucHN3cF9fdG9wLWJhciB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLypcblx0cHN3cF9fdWktLWhpZGRlbiBjbGFzcyBpcyBhZGRlZCB3aGVuIGNvbnRyb2xzIGFyZSBoaWRkZW5cblx0ZS5nLiB3aGVuIHVzZXIgdGFwcyB0byB0b2dnbGUgdmlzaWJpbGl0eSBvZiBjb250cm9sc1xuKi9cbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX190b3AtYmFyLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgLyogRm9yY2UgcGFpbnQgJiBjcmVhdGUgY29tcG9zaXRpb24gbGF5ZXIgZm9yIGNvbnRyb2xzLiAqL1xuICAgIG9wYWNpdHk6IDAuMDAxO1xufVxuXG4vKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cF9fZWxlbWVudC0tZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBzd3AtLW1pbmltYWwtLWRhcmsgLnBzd3BfX3RvcC1iYXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG4iXX0= */
