/*
Theme Name: SOGO Child
Theme URI: http://sogo.co.il/
Template:   sogo
Author: Oren Havshush
Author URI: https://sogo.co.il/
Description: SOGO child theme
Version: 1.1
License: Commercial Use only
License URI: Commercial Use only
Text Domain: sogo
*/
/* reset.less */
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
html,
body,
div,
span,
object,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
abbr,
address,
cite,
code,
del,
em,
img,
ins,
small,
strong,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: 'Rubik', sans-serif;
}
body {
  line-height: 1;
}
a:hover {
  text-decoration: none;
}
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
blockquote {
  quotes: none;
}
blockquote:before,
blockquote:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
/* file name fonts.less */
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-regular-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-regular-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-regular-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-regular-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-regular-webfont.svg#open_sans_hebrewregular') format('svg');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-light-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-light-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-light-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-light-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-light-webfont.svg#open_sans_hebrewlight') format('svg');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-lightitalic-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-lightitalic-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-lightitalic-webfont.woff') format('woff'), url('fonts/open_sans_hebrew/opensanshebrew-lightitalic-webfont.ttf') format('truetype'), url('fonts/open_sans_hebrew/opensanshebrew-lightitalic-webfont.svg#open_sans_hebrewlight_italic') format('svg');
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-italic-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-italic-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-italic-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-italic-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-italic-webfont.svg#open_sans_hebrewitalic') format('svg');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-bold-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-bold-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-bold-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-bold-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-bold-webfont.svg#open_sans_hebrewbold') format('svg');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-bolditalic-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-bolditalic-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-bolditalic-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-bolditalic-webfont.svg#open_sans_hebrewbold_italic') format('svg');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-extrabold-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-extrabold-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-extrabold-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-extrabold-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-extrabold-webfont.svg#open_sans_hebrewextra_bold') format('svg');
  font-weight: 800;
  font-style: normal;
}
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on May 4, 2014 */
@font-face {
  font-family: 'Open Sans Hebrew Regular';
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-extrabolditalic-webfont.eot');
  src: url('css/fonts/open_sans_hebrew/opensanshebrew-extrabolditalic-webfont.eot?#iefix') format('embedded-opentype'), url('css/fonts/open_sans_hebrew/opensanshebrew-extrabolditalic-webfont.woff') format('woff'), url('css/fonts/open_sans_hebrew/opensanshebrew-extrabolditalic-webfont.ttf') format('truetype'), url('css/fonts/open_sans_hebrew/opensanshebrew-extrabolditalic-webfont.svg#open_sans_hebrewXBdIt') format('svg');
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: 'icomoon';
  src: url('fonts/icomoon.eot?n2zbtz');
  src: url('fonts/icomoon.eot?n2zbtz#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?n2zbtz') format('truetype'), url('fonts/icomoon.woff?n2zbtz') format('woff'), url('fonts/icomoon.svg?n2zbtz#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-location:before {
  content: "\e900";
}
.icon-contact:before {
  content: "\e901";
}
.icon-settings:before {
  content: "\e902";
}
.icon-computer:before {
  content: "\e903";
}
.icon-calendar:before {
  content: "\e904";
}
.icon-search:before {
  content: "\e905";
}
.icon-clock:before {
  content: "\e906";
}
.icon-dollar:before {
  content: "\e907";
}
.icon-check:before {
  content: "\e908";
}
.icon-arrow_right:before {
  content: "\e909";
}
.icon-arrow_left:before {
  content: "\e90a";
}
/* mixin.less */
/* end mixin.less */
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
  display: block;
  margin: 0 auto 0 auto;
}
.alignright {
  float: right;
  margin: 25px 0 20px 30px;
}
.alignleft {
  float: left;
  margin: 25px 30px 20px 0;
}
a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption {
  background: #fff;
  max-width: 100%;
  /* Image does not overflow the content area */
  padding: 5px 3px 23px;
  text-align: center;
}
.wp-caption-text {
  padding-top: 10px;
  font-size: 18px;
  color: #72767d;
  font-style: italic;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
/*  variables.less  */
/* classes.less */
/* Margins */
.margin-x-xs {
  margin-right: 5px;
  margin-left: 5px;
}
.margin-y-xs {
  margin-top: 5px;
  margin-bottom: 5px;
}
.margin-x-sm {
  margin-right: 10px;
  margin-left: 10px;
}
.margin-y-sm {
  margin-top: 10px;
  margin-bottom: 10px;
}
.margin-x-md {
  margin-right: 15px;
  margin-left: 15px;
}
.margin-y-md {
  margin-top: 15px;
  margin-bottom: 15px;
}
.margin-x-lg {
  margin-right: 30px;
  margin-left: 30px;
}
.margin-y-lg {
  margin-top: 30px;
  margin-bottom: 30px;
}
.margin-x-xl {
  margin-right: 60px;
  margin-left: 60px;
}
.margin-y-xl {
  margin-top: 60px;
  margin-bottom: 60px;
}
.margin-all-0 {
  margin: 0 !important;
}
.margin-top-0 {
  margin-top: 0 !important;
}
.margin-right-0 {
  margin-right: 0 !important;
}
.margin-bottom-0 {
  margin-bottom: 0 !important;
}
.margin-left-0 {
  margin-left: 0 !important;
}
.margin-all-xs {
  margin: 5px !important;
}
.margin-top-xs {
  margin-top: 5px !important;
}
.margin-right-xs {
  margin-right: 5px !important;
}
.margin-bottom-xs {
  margin-bottom: 5px !important;
}
.margin-left-xs {
  margin-left: 5px !important;
}
.margin-all-sm {
  margin: 10px !important;
}
.margin-top-sm {
  margin-top: 10px !important;
}
.margin-right-sm {
  margin-right: 10px !important;
}
.margin-bottom-sm {
  margin-bottom: 10px !important;
}
.margin-left-sm {
  margin-left: 10px !important;
}
.margin-all-md {
  margin: 15px !important;
}
.margin-top-md {
  margin-top: 15px !important;
}
.margin-right-md {
  margin-right: 15px !important;
}
.margin-bottom-md {
  margin-bottom: 15px !important;
}
.margin-left-md {
  margin-left: 15px !important;
}
.margin-all-lg {
  margin: 30px !important;
}
.margin-top-lg {
  margin-top: 30px !important;
}
.margin-right-lg {
  margin-right: 30px !important;
}
.margin-bottom-lg {
  margin-bottom: 30px !important;
}
.margin-left-lg {
  margin-left: 30px !important;
}
.margin-all-xl {
  margin: 60px !important;
}
.margin-top-xl {
  margin-top: 60px !important;
}
.margin-right-xl {
  margin-right: 60px !important;
}
.margin-bottom-xl {
  margin-bottom: 60px !important;
}
.margin-left-xl {
  margin-left: 60px !important;
}
/* Paddings */
.padding-all-xl {
  padding: 60px;
}
.padding-x-xs {
  padding-right: 5px;
  padding-left: 5px;
}
.padding-y-xs {
  padding-top: 5px;
  padding-bottom: 5px;
}
.padding-x-sm {
  padding-right: 10px;
  padding-left: 10px;
}
.padding-y-sm {
  padding-top: 10px;
  padding-bottom: 10px;
}
.padding-x-md {
  padding-right: 15px;
  padding-left: 15px;
}
.padding-y-md {
  padding-top: 15px;
  padding-bottom: 15px;
}
.padding-x-lg {
  padding-right: 30px;
  padding-left: 30px;
}
.padding-y-lg {
  padding-top: 30px;
  padding-bottom: 30px;
}
.padding-x-xl {
  padding-right: 60px;
  padding-left: 60px;
}
.padding-y-xl {
  padding-top: 60px;
  padding-bottom: 60px;
}
.nopad {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.padding-all-0 {
  padding: 0 !important;
}
.padding-top-0 {
  padding-top: 0 !important;
}
.padding-right-0 {
  padding-right: 0 !important;
}
.padding-bottom-0 {
  padding-bottom: 0 !important;
}
.padding-left-0 {
  padding-left: 0 !important;
}
.padding-all-xs {
  padding: 5px !important;
}
.padding-top-xs {
  padding-top: 5px !important;
}
.padding-right-xs {
  padding-right: 5px !important;
}
.padding-bottom-xs {
  padding-bottom: 5px !important;
}
.padding-left-xs {
  padding-left: 5px !important;
}
.padding-all-sm {
  padding: 10px !important;
}
.padding-top-sm {
  padding-top: 10px !important;
}
.padding-right-sm {
  padding-right: 10px !important;
}
.padding-bottom-sm {
  padding-bottom: 10px !important;
}
.padding-left-sm {
  padding-left: 10px !important;
}
.padding-all-md {
  padding: 15px !important;
}
.padding-top-md {
  padding-top: 15px !important;
}
.padding-right-md {
  padding-right: 15px !important;
}
.padding-bottom-md {
  padding-bottom: 15px !important;
}
.padding-left-md {
  padding-left: 15px !important;
}
.padding-all-lg {
  padding: 30px !important;
}
.padding-top-lg {
  padding-top: 30px !important;
}
.padding-right-lg {
  padding-right: 30px !important;
}
.padding-bottom-lg {
  padding-bottom: 30px !important;
}
.padding-left-lg {
  padding-left: 30px !important;
}
.padding-all-xl {
  padding: 60px !important;
}
.padding-top-xl {
  padding-top: 60px !important;
}
.padding-right-xl {
  padding-right: 60px !important;
}
.padding-bottom-xl {
  padding-bottom: 60px !important;
}
.padding-left-xl {
  padding-left: 60px !important;
}
.font-size-small {
  font-size: 0.688em;
}
.font-size-base {
  font-size: 16px;
}
.font-size-18 {
  font-size: 1.125em;
}
.font-size-medium {
  font-size: 16px;
}
@media (min-width: 992px) {
  .font-size-medium {
    font-size: 1.375em;
  }
}
.font-size-large {
  font-size: 3.375em;
}
.line-height-base {
  line-height: 1.3;
}
.line-height-medium {
  line-height: 1.5;
}
.bold {
  font-weight: 700;
}
.light {
  font-weight: 200;
}
.white {
  color: white;
}
.red {
  color: #f59c32;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
.vertical-middle {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.page-title {
  font-size: 2.375em;
}
@media (min-width: 992px) {
  .page-title {
    font-size: 1.5em;
  }
}
.page-title.underlined {
  position: relative;
  padding-bottom: 50px;
  display: inline-block;
}
.page-title.underlined:before {
  content: '';
  height: 8px;
  background: #ffecd6;
  bottom: 30px;
  right: 23%;
  margin-right: 0;
  width: 50%;
}
.page-sub-title {
  font-size: 3em;
  font-weight: bold;
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (max-width: 320px) {
  .page-sub-title {
    font-size: 2.3em;
  }
}
@media (min-width: 992px) {
  .page-sub-title {
    font-size: 5em;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.floor-title {
  font-size: 2em;
  color: #f59c32;
  font-weight: 400;
}
@media (min-width: 768px) {
  .floor-title {
    font-size: 2.5em;
  }
}
@media (min-width: 992px) {
  .floor-title {
    font-size: 2.95em;
  }
}
.underlined {
  position: relative;
  padding-bottom: 50px;
  display: inline-block;
}
.underlined:before {
  content: '';
  width: 140px;
  position: absolute;
  height: 5px;
  background: #ffecd6;
  bottom: 34px;
  right: 50%;
  margin-right: -70px;
}
@media (min-width: 992px) {
  .underlined:before {
    margin-right: -78px;
  }
}
.floor-subtitle {
  font-size: 1.25em;
  color: #373738;
  line-height: 1.6;
  padding-bottom: 30px;
  font-weight: 300;
}
@media (min-width: 992px) {
  .floor-subtitle {
    font-size: 1.25em;
  }
}
.floor-content {
  font-size: 1.05em;
  line-height: 1.55;
  color: #373738;
}
.top-floor {
  padding-top: 107px;
  height: 210px;
  background-repeat: no-repeat;
  max-width: 100%;
  width: 100%;
  background-position: center;
}
@media (max-width: 991px) {
  .top-floor {
    margin-top: 78px;
    padding-top: 60px;
  }
}
@media (min-width: 768px) {
  .top-floor {
    padding-top: 197px;
    height: 400px;
    background-repeat: no-repeat;
    max-width: 100%;
    width: 100%;
    margin-top: 100px;
  }
}
.top-floor .page-title {
  text-shadow: 0 1px 9.7px rgba(0, 0, 0, 0.34);
  font-family: 'Suez One', serif;
  font-weight: normal;
}
@media (min-width: 992px) {
  .top-floor .page-title {
    font-size: 3.65em;
  }
}
.btn-main {
  background: #f59c32;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.25em;
  height: 50px;
  line-height: 50px;
  padding: 0 36px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  transition: all 0.3s;
  font-weight: normal;
}
.btn-main:hover {
  background: #f59c32;
  color: #ffffff;
  font-weight: normal;
}
/* Icon Forward */
.btn-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  padding-right: 2.2em;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.btn-forward:before {
  content: "\f104";
  position: absolute;
  right: 1.5em;
  top: 0;
  padding: 0 1px;
  font-family: FontAwesome;
  -webkit-transform: translateZ(0);
  transform: translateZ(0) rotate(180deg);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.btn-forward:hover:before,
.btn-forward:focus:before,
.btn-forward:active:before {
  right: 1rem;
}
/* Overline From Center */
.overline-effect {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow: hidden;
}
.overline-effect:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  top: 0;
  background: #2098d1;
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.bg-black {
  background: #1c1c1c;
}
.bg-gray {
  background: #8e9298;
}
.bg-light-gray {
  background: #eeeeee;
}
.bg-light-blue {
  background: #daf4fd;
}
.floor-padding {
  padding: 30px 0;
}
@media (min-width: 992px) {
  .floor-padding {
    padding: 90px 0;
  }
}
.vis-hidden {
  visibility: hidden;
}
.bg-white {
  background: white;
}
.bg-yellow {
  background: #ffecd6;
}
.bg-white {
  background: #ffffff;
}
.bg-yellow-main {
  background: #fbc727;
}
.bg-vanile {
  background: #f9f6f3;
}
.position-relative {
  position: relative;
}
.black-main {
  color: #373738;
}
.orange {
  color: #f59c32;
}
.bg-gray-main {
  background: #d2d3da;
}
.no-wrap {
  white-space: nowrap;
}
.z-index-1 {
  z-index: 1;
}
.z-index-2 {
  z-index: 2;
}
.navbar-offcanvas.navbar-offcanvas-right {
  right: auto !important;
  left: -250px !important;
}
.navbar-offcanvas.navbar-offcanvas-right.offcanvas-transform.in {
  -webkit-transform: translateX(250px) !important;
  transform: translateX(250px) !important;
}
.offcanvas-stop-scrolling .navbar-toggle {
  -webkit-transform: translateX(250px) !important;
  transform: translateX(250px) !important;
}
/* base.less */
body {
  font-family: 'Rubik', sans-serif;
  font-size: 16px;
}
@media (min-width: 992px) {
  body {
    font-size: 1.1vw;
  }
}
@media (min-width: 1400px) {
  body {
    font-size: 0.8vw;
  }
}
img {
  max-width: 100%;
  height: auto;
}
a {
  color: #f59c32;
}
a:hover,
a:focus,
a:active {
  color: #f59c32;
  text-decoration: none;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select::-ms-expand {
  /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  /* IE 5-7 */
  filter: alpha(opacity=0);
  /* Good browsers :) */
  opacity: 0;
}
::-webkit-input-placeholder {
  color: #8e9298;
  font-size: 1em;
}
::-moz-placeholder {
  color: #8e9298;
  font-size: 1em;
}
/* Firefox 19+ */
:-moz-placeholder {
  color: #8e9298;
  font-size: 1em;
}
/* Firefox 18- */
:-ms-input-placeholder {
  color: #8e9298;
  font-size: 1em;
}
input:-moz-placeholder {
  color: #8e9298;
  font-size: 1em;
}
input:-ms-input-placeholder {
  color: #8e9298;
  font-size: 1em;
}
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
.infinite {
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.active .fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.active .fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
@-webkit-keyframes bounce_small {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
  }
}
@keyframes bounce_small {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}
.active .grow {
  -webkit-animation-name: grow;
  animation-name: grow;
}
@-webkit-keyframes grow {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes grow {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.active .fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.active .fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.active .slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.active .fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.active .fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  padding-right: 2.2em;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hvr-icon-forward:before {
  content: "\f138";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-forward:hover:before,
.hvr-icon-forward:focus:before,
.hvr-icon-forward:active:before {
  -webkit-transform: translateX(4px);
  -moz-transform: translateX(4px);
  -ms-transform: translateX(4px);
  -o-transform: translateX(4px);
  transform: translateX(4px);
}
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  text-decoration: none;
}
[class^="hvr-"] {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media (min-width: 768px) {
  [class^="hvr-"] {
    padding: 1em;
  }
}
/* animate.less */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  animation-delay: 2s;
}
.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}
.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@-webkit-keyframes bounce_small {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce_small {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}
@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}
@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}
@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}
@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}
@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}
@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}
@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}
@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}
@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}
@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-500%, 0, 0);
    transform: translate3d(-500%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-500%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}
@keyframes cloudsAnimate {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-2500px, 0, 0);
    -ms-transform: translate3d(-2500px, 0, 0);
    transform: translate3d(-2500px, 0, 0);
    -moz-transform: translate3d(-2500px, 0, 0);
    -o-transform: translate3d(-2500px, 0, 0);
  }
}
.cloudsAnimate {
  -webkit-animation-name: cloudsAnimate;
  animation-name: cloudsAnimate;
  -ms-animation-name: cloudsAnimate;
  -moz-animation-name: cloudsAnimate;
  -o-animation-name: cloudsAnimate;
}
@keyframes cloudsAnimate-left {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-700px, 0, 0);
    -ms-transform: translate3d(-700px, 0, 0);
    transform: translate3d(-700px, 0, 0);
    -moz-transform: translate3d(-700px, 0, 0);
    -o-transform: translate3d(-700px, 0, 0);
  }
}
.cloudsAnimate-left {
  -webkit-animation-name: cloudsAnimate-left;
  animation-name: cloudsAnimate-left;
  -ms-animation-name: cloudsAnimate-left;
  -moz-animation-name: cloudsAnimate-left;
  -o-animation-name: cloudsAnimate-left;
}
@keyframes carsAnimate {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(3000px, 0, 0);
    -ms-transform: translate3d(3000px, 0, 0);
    -moz-transform: translate3d(3000px, 0, 0);
    -o-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
}
.carsAnimate {
  -webkit-animation-name: carsAnimate;
  animation-name: carsAnimate;
  -ms-animation-name: carsAnimate;
  -moz-animation-name: carsAnimate;
  -o-animation-name: carsAnimate;
}
@keyframes carsAnimate-right {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-3000px, 0, 0);
    -ms-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
    -moz-transform: translate3d(-3000px, 0, 0);
    -o-transform: translate3d(-3000px, 0, 0);
  }
}
.carsAnimate-right {
  -webkit-animation-name: carsAnimate-right;
  animation-name: carsAnimate-right;
  -ms-animation-name: carsAnimate-right;
  -moz-animation-name: carsAnimate-right;
  -o-animation-name: carsAnimate-right;
}
/* end animate.less */
/* social-menu.less */
@media (min-width: 992px) {
  .social_menu ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
  }
}
.social_menu li {
  display: inline-block;
  width: 45px;
  height: 45px;
  line-height: 45px;
  background: #f59c32;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}
@media (min-width: 992px) {
  .social_menu li {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
}
@media (min-width: 1400px) {
  .social_menu li {
    width: 45px;
    height: 45px;
    line-height: 45px;
  }
}
.social_menu li i {
  font-size: 17px;
  font-style: normal;
  font-weight: normal;
}
.social_menu li a {
  display: block;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-family: fontAwesome;
  padding: 0;
}
.social_menu li:hover,
.social_menu li:active,
.social_menu li:focus {
  background: #f59c32;
  color: #ffffff;
}
.social_menu li:hover i,
.social_menu li:active i,
.social_menu li:focus i {
  color: #ffffff;
}
/* entry-content.less */
.entry-content h1 {
  font-size: 30px;
  text-transform: uppercase;
  padding-bottom: 19px;
  color: #72767d;
}
@media (min-width: 992px) {
  .entry-content h1 {
    font-size: 3.375em;
  }
}
.entry-content h2 {
  font-size: 26px;
  text-transform: uppercase;
  line-height: 1.2;
  padding-bottom: 17px;
  color: #d2d3da;
  font-weight: bold;
}
@media (min-width: 992px) {
  .entry-content h2 {
    font-size: 28px;
  }
}
.entry-content h3 {
  font-size: 23px;
  line-height: 1.2;
  padding-bottom: 19px;
  text-transform: uppercase;
  color: #f59c32;
  font-weight: bold;
}
@media (min-width: 992px) {
  .entry-content h3 {
    font-size: 22px;
  }
}
.entry-content h4 {
  font-size: 23px;
  line-height: 1.2;
  padding-bottom: 19px;
  color: #d2d3da;
  text-transform: uppercase;
  font-weight: bold;
}
@media (min-width: 992px) {
  .entry-content h4 {
    font-size: 20px;
  }
}
.entry-content h5 {
  font-size: 20px;
  line-height: 1.2;
  padding-bottom: 19px;
  color: #2ac4e3;
  text-transform: uppercase;
  font-weight: bold;
}
.entry-content h6 {
  font-size: 18px;
  line-height: 1.2;
  padding-bottom: 19px;
  color: #d2d3da;
  font-weight: bold;
}
.entry-content p {
  line-height: 1.8;
  padding-bottom: 23px;
  color: #72767d;
  font-size: 1.2em;
}
.entry-content a {
  color: #f59c32;
}
.entry-content a:hover {
  color: #2ac4e3;
}
.entry-content a:active {
  color: #f59c32;
  text-decoration: underline;
}
.entry-content ul {
  padding-bottom: 12px;
  list-style: none;
}
@media (min-width: 992px) {
  .entry-content ul {
    padding-right: 40px;
  }
}
.entry-content ul li {
  font-size: 1em;
  line-height: 1.8;
  padding-bottom: 15px;
  position: relative;
  color: #72767d;
  padding-right: 30px;
}
.entry-content ul li:before {
  content: "\f00c";
  font-family: fontAwesome;
  width: 30px;
  height: 30px;
  line-height: 30px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background: #d92e47;
  color: white;
  font-size: 15px;
  text-align: center;
  position: absolute;
  font-weight: bold;
  right: -10px;
}
.entry-content ol {
  padding-bottom: 12px;
  list-style: none;
}
@media (min-width: 992px) {
  .entry-content ol {
    padding-right: 40px;
  }
}
.entry-content ol li {
  counter-increment: step-counter;
  font-size: 1em;
  line-height: 1.8;
  padding-bottom: 6px;
  position: relative;
  color: #72767d;
  padding-right: 30px;
}
.entry-content ol li:before {
  content: counter(step-counter);
  position: absolute;
  right: 0;
  top: -2px;
  font-weight: bold;
  font-size: 18px;
  color: #2ac4e3;
}
.entry-content ol li:after {
  content: '.';
  font-weight: bold;
  position: absolute;
  right: 10px;
  top: 0;
  color: #2ac4e3;
}
.entry-content blockquote {
  padding: 0 10px;
  background: #eeeeee;
  margin-bottom: 23px;
}
.entry-content blockquote p {
  font-size: 28px;
  color: #f59c32;
  position: relative;
  padding: 17px;
  line-height: 1.6;
  text-align: center;
  font-style: italic;
}
.entry-floor-1 {
  height: 319px;
  padding-top: 130px;
}
/* contact.less */
.contact-floor-1 {
  /*height: 312px;
  padding-top: 157px;*/
  background-size: cover;
}
.contact-floor-title {
  font-size: 1.4em;
  color: #373738;
  padding-bottom: 30px !important;
}
.contact-boxes .contact-box {
  background: #f9f6f3;
}
.contact-box-title {
  font-size: 1.45em;
  font-weight: 700;
  color: #373738;
}
.contact-box {
  height: 232px;
  margin-bottom: 30px !important;
}
@media (min-width: 1400px) {
  .contact-box {
    margin-bottom: 60px !important;
  }
}
.contact-box .social_menu ul {
  display: inline-block;
  padding-top: 2px;
}
.contact-box .social_menu ul li {
  background: none;
  height: 35px;
  line-height: 35px;
}
.contact-box .social_menu ul li i {
  color: #72767d;
  font-size: 19px;
}
.contact-icon {
  width: 80px;
  margin: 0 auto;
}
.contact-text {
  position: relative;
  top: 10px;
  color: #373738;
  font-size: 1.05em;
  word-break: break-word;
  font-weight: 400;
}
@media (min-width: 992px) {
  .contact-text.phone {
    pointer-events: none;
  }
}
.contact-form-main {
  margin-bottom: 20px;
  text-align: left;
}
@media (min-width: 992px) {
  .contact-form-main {
    margin-bottom: 0;
  }
}
.contact-form-main label {
  padding-bottom: 5px;
}
.contact-form-main .btn {
  float: right;
  direction: ltr;
}
@media (min-width: 992px) {
  .contact-form-main .btn {
    margin-top: 4.4em;
  }
}
.contact-form-main input[type="text"],
.contact-form-main input[type="tel"],
.contact-form-main input[type="email"],
.contact-form-main textarea {
  background: #ffecd6;
  margin-bottom: 21px;
  width: 100%;
  border: none;
}
.contact-form-main input[type="text"],
.contact-form-main input[type="tel"],
.contact-form-main input[type="email"] {
  height: 40px;
  padding: 0 15px;
}
.contact-form-main textarea {
  height: 120px;
  padding: 15px;
}
.contact-form-main .wpcf7-mail-sent-ok {
  display: none;
  border-color: transparent;
  color: transparent;
}
.contact-form-main span.wpcf7-not-valid-tip {
  position: absolute;
  font-size: 16px;
  bottom: -13px;
  right: 0;
}
.contact-form-main .wpcf7-validation-errors {
  border: 2px solid #f59c32;
  color: #f59c32;
  font-size: 16px;
  padding: 5px;
  position: absolute;
  bottom: 10px;
}
@media (max-width: 320px) {
  .contact-form-main .wpcf7-validation-errors {
    bottom: 32px;
  }
}
.contact-us-left {
  margin-top: 75px;
}
/* file name contact-form.less */
@media (min-width: 992px) {
  .contact-form-footer {
    padding-right: 100px;
    padding-left: 100px;
  }
}
.contact-form-footer input {
  height: 45px;
  background-color: transparent;
  border: none;
  border-bottom: solid 1px #ffffff;
  width: 100%;
  color: #ffffff;
  text-align: left;
}
.contact-form-footer input:focus {
  color: #ffffff;
  outline: 0;
}
.contact-form-footer input[type="submit"] {
  height: 45px;
  background-color: #f59c32;
  text-align: center;
  border: none;
  direction: ltr;
  width: 170px;
  color: #ffffff;
  margin-top: 40px;
  margin-bottom: 20px;
  transition: 0.2s;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  font-size: 1.3em;
  font-weight: 400;
}
.contact-form-footer input[type="submit"]:hover {
  background-color: #f59c32;
  color: #ffffff;
}
.contact-form-footer .wpcf7-mail-sent-ok {
  border: solid 1px transparent;
  color: #2ac4e3;
  padding-bottom: 10px;
}
.wpcf7-not-valid-tip {
  color: #f59c32 !important;
  font-size: 1em !important;
  text-align: right;
  padding-top: 3px;
}
.wpcf7-validation-errors {
  border: 0 solid transparent !important;
  color: #f59c32 !important;
  padding-bottom: 12px !important;
}
label {
  font-size: 1.05em;
  font-weight: 400;
  color: #373738;
  padding-bottom: 10px;
}
/* file name contact-map.less */
.map-container {
  height: 302px;
}
/* file name thank-you.less */
.thanks-floor-1 {
  padding-bottom: 30px;
}
@media (min-width: 1200px) {
  .thanks-floor-1 {
    padding-bottom: 60px;
  }
}
.thanks-floor-1 .thanks-content {
  background: url("images/thanks-bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  padding-top: 70px;
}
@media (min-width: 992px) {
  .thanks-floor-1 .thanks-content {
    height: calc(100vh - 200px);
    height: -moz-calc(100vh - 200px);
    height: -webkit-calc(100vh - 200px);
    height: -o-calc(100vh - 200px);
  }
}
@media (min-height: 800px) {
  .thanks-floor-1 .thanks-content {
    height: calc(100vh - 257px);
    height: -moz-calc(100vh - 257px);
    height: -webkit-calc(100vh - 257px);
    height: -o-calc(100vh - 257px);
    padding-top: 200px;
  }
}
.thanks-floor-1 .floor-subtitle {
  padding: 30px 10px;
}
@media (min-width: 992px) {
  .thanks-floor-1 .floor-subtitle {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.thanks-floor-1 .btn {
  margin-bottom: 140px;
}
@media (min-width: 992px) {
  .thanks-floor-1 .btn {
    margin-bottom: 0;
  }
}
/* file name frontpage.less */
.home-floor-1 {
  position: relative;
}
.home-floor-1 .bx-controls.bx-has-controls-direction {
  top: 40%;
}
.home-floor-1 .bx-controls.bx-has-controls-direction .bx-next {
  right: 0;
  height: 140px;
  background: rgba(255, 255, 255, 0.3);
}
.home-floor-1 .bx-controls.bx-has-controls-direction .bx-next i {
  font-size: 45px;
  color: white;
  position: relative;
  top: 47px;
}
.home-floor-1 .bx-controls.bx-has-controls-direction .bx-prev {
  left: 0;
  height: 140px;
  background: rgba(255, 255, 255, 0.3);
}
.home-floor-1 .bx-controls.bx-has-controls-direction .bx-prev i {
  font-size: 45px;
  color: white;
  position: relative;
  top: 47px;
}
.home-floor-1 .page-sub-title {
  font-size: 2em;
}
@media (min-width: 992px) {
  .home-floor-1 .page-sub-title {
    font-size: 3em;
  }
}
.home-floor-2 {
  position: relative;
  bottom: 0;
  width: 100%;
  background: #ffffff;
  height: 84px;
  z-index: 101;
}
.home-floor-2 .thumbnail-wrapper {
  height: 84px;
}
.home-floor-2 .thumbnail-wrapper img {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  max-width: 135px;
}
.home-floor-3 {
  background: none;
  background-size: contain;
  padding-top: 30px;
  background-position: left bottom;
}
@media (min-width: 992px) {
  .home-floor-3 {
    padding-top: 55px;
  }
}
.home-floor-3 .floor-subtitle {
  padding-bottom: 70px;
}
.home-floor-7 {
  background: url('images/reccomendations.jpg') no-repeat;
  background-size: cover;
  background-position: center;
}
.home-floor-7 .underlined:before {
  margin-right: -72px;
}
.testimonial-content {
  font-size: 1em;
  line-height: 1.3;
  padding: 20px 0;
  position: relative;
  width: 80%;
  margin: 0 auto;
  direction: rtl;
  font-weight: 300;
}
@media (min-width: 1200px) {
  .testimonial-content {
    font-size: 1.25em;
    line-height: 1.5;
    width: 90%;
  }
}
.testimonial-content:before {
  content: "\f10e";
  font-family: 'fontAwesome';
  font-size: 30px;
  position: absolute;
  top: 0;
  right: -30px;
  color: #f59c32;
}
.testimonial-content:after {
  content: "\f10d";
  font-family: 'fontAwesome';
  font-size: 30px;
  position: absolute;
  top: 0;
  left: -30px;
  color: #f59c32;
}
.testimonial-name {
  color: #373738;
  font-size: 1.55em;
  font-weight: 500;
  padding: 10px 0;
  text-transform: uppercase;
}
.testimonial-position {
  direction: rtl;
  font-size: 1.25em;
  font-weight: 300;
}
@media (min-width: 992px) {
  .testimonial-position {
    padding-top: 10px !important;
  }
}
@media (min-width: 992px) {
  .floor-height {
    height: 752px;
    position: relative;
  }
}
.floor-height img {
  position: relative;
  top: 3px;
}
@media (min-width: 992px) {
  .floor-height img {
    position: absolute;
    bottom: 0;
    top: auto;
    width: 90%;
    left: 0;
  }
}
.service-box {
  padding-bottom: 35px;
}
.service-box img {
  float: left;
  width: 80px;
}
.service-box .service-title {
  margin-left: 100px;
  font-weight: bold;
  font-size: 1.3em;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  .service-box .service-title {
    height: 3.9rem;
    overflow: hidden;
  }
}
@media (min-width: 1600px) {
}
.service-box .service-desc {
  margin-left: 100px;
  color: #72767d;
  line-height: 1.6;
  font-size: 16px;
  width: 70%;
  padding-bottom: 15px;
  font-weight: 400;
}
@media (min-width: 992px) {
  .service-box .service-desc {
    height: 77px;
    overflow: hidden;
  }
}
@media (min-width: 1400px) {
  .service-box .service-desc {
    height: 130px;
  }
}
@media (min-width: 1600px) {
  .service-box .service-desc {
    height: 79px;
  }
}
.service-box .service-desc p {
  font-weight: 400;
}
.service-box .service-link {
  margin-right: 25px;
  color: #f59c32;
  padding-bottom: 15px;
  margin-top: 0;
  font-weight: 500;
  font-size: 1.05em;
  float: right;
}
.service-box .service-link:hover,
.service-box .service-link:focus,
.service-box .service-link:active {
  color: #f59c32;
}
@media (min-width: 992px) {
}
.client-story {
  display: block;
  margin-right: -15px;
  margin-left: -15px;
}
.client-story-big {
  height: 634px;
}
.client-story-front img {
  margin: 0 auto;
}
.client-name {
  color: #2ac4e3;
  font-size: 1.4em;
  font-weight: bold;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .clients-logo-wrapper {
    padding: 0 0 50px;
  }
}
.slider-blue {
  color: #ffffff;
}
.our-services-picone {
  z-index: 0;
}
.our-services-pictwo {
  z-index: 1;
}
.header-left {
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: flex-end;
  -webkit-flex-wrap: nowrap;
  -webkit-justify-content: flex-end;
  -webkit-align-items: flex-end;
}
.header-left .menus-tel {
  display: none;
}
@media (min-width: 992px) {
  .header-left .menus-tel {
    color: #f59c32;
    font-size: 1.3em;
    font-weight: bold;
    margin-left: 20px;
    display: block;
  }
}
#mains_slider .page-title.underlined-slider {
  font-size: 1.8em;
  line-height: 1.6em;
  position: relative;
  display: inline-block;
  font-family: 'Suez One', serif;
  font-weight: normal;
}
@media (min-width: 992px) {
  #mains_slider .page-title.underlined-slider {
    font-size: 3.65em;
    line-height: 1.5em;
  }
}
#mains_slider .page-title.underlined-slider:before {
  content: "";
}
@media (min-width: 992px) {
  #mains_slider .page-title.underlined-slider:before {
    content: "''";
    font-size: 1.25em;
    position: absolute;
    top: 0;
    left: -0.7em;
    font-weight: 400;
  }
}
#mains_slider .page-title.underlined-slider:after {
  content: "";
}
@media (min-width: 992px) {
  #mains_slider .page-title.underlined-slider:after {
    content: "''";
    font-size: 1.25em;
    position: absolute;
    top: 1.45em;
    font-weight: 400;
    right: 2.5em;
  }
}
#mains_slider .page-sub-title {
  font-size: 1.95em;
  font-weight: 700;
  line-height: 3em;
  padding: 0;
  margin: 0;
  position: relative;
}
#mains_slider .page-sub-title:before {
  content: '';
  height: 5px;
  background: #ffecd6;
  top: 10px;
  left: 0;
  margin-right: 20px;
  width: 27%;
  position: absolute;
}
.home-floor-1 .arrow-down {
  position: absolute;
  bottom: 25px;
  width: 100%;
  text-align: center;
}
@media (min-width: 992px) {
  .home-floor-1 .arrow-down {
    bottom: 50px;
  }
}
.home-floor-1 .arrow-down i {
  color: #ffffff;
  border: 3px solid white;
  border-radius: 100%;
  font-size: 1.3em;
  font-weight: normal;
  height: 2em;
  width: 2em;
}
@media (min-width: 992px) {
  .home-floor-1 .arrow-down i {
    font-size: 1.2em;
    height: 3em;
    width: 3em;
  }
}
.home-floor-1 .arrow-down i:before {
  font-size: 2em;
}
@media (min-width: 992px) {
  .home-floor-1 .arrow-down i:before {
    font-size: 3em;
  }
}
.floor-height .our-services-picone {
  display: none;
}
@media (min-width: 992px) {
  .floor-height .our-services-picone {
    display: block;
    position: absolute;
    bottom: 0;
    top: auto;
    width: 70%;
    left: 0;
    z-index: -1;
  }
}
.floor-height .our-services-pictwo {
  display: none;
}
@media (min-width: 992px) {
  .floor-height .our-services-pictwo {
    display: block;
    position: absolute;
    bottom: 0;
    top: auto;
    width: 90%;
    left: 0;
    z-index: 1;
  }
}
/* services.less */
.services-floor-2 .bx-pager-item a {
  background: rgba(63, 67, 74, 0.5);
}
.services-floor-2 .bx-pager-item a.active {
  background: #3f434a;
}
.main-service-box {
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.35);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.35);
  margin-bottom: 60px !important;
  padding: 20px 13px 30px;
  background: #f9f6f3;
}
@media (min-width: 992px) {
  .main-service-box {
    padding: 50px 0 30px;
  }
}
@media (min-width: 1200px) {
  .main-service-box {
    width: 100%;
    margin: 0 auto;
  }
}
.main-service-box img {
  width: 80px;
}
@media (min-width: 992px) {
  .main-service-box img {
    width: 140px;
    margin-top: 25px;
  }
}
.main-service-box .service-title {
  font-size: 1.4em;
  color: #373738;
  font-weight: 700;
  padding-top: 0;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .main-service-box .service-title {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.main-service-box .service-desc {
  font-size: 1em;
  line-height: 1.3;
  color: #373738;
  text-align: left;
  margin-bottom: 10px;
  font-weight: 400;
}
@media (min-width: 992px) {
  .main-service-box .service-desc {
    font-size: 1.1em;
    height: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 30px;
  }
}
.main-service-box .service-desc p {
  font-weight: 400;
  line-height: 1.6em;
  color: #373738;
  font-size: 0.95em;
  direction: rtl;
}
.main-service-box .for-details {
  font-size: 0.85em;
  color: #373738;
  border-bottom: 3px solid #f59c32;
  padding-bottom: 8px;
  display: inline-block;
}
.main-service-box .for-details:hover,
.main-service-box .for-details:active,
.main-service-box .for-details:focus {
  color: #f59c32;
}
.main-service-box:hover {
  box-shadow: 0 2px 9px 0 rgba(0, 0, 0, 0.14);
}
.main-service-box:hover .service-title {
  color: #373738;
}
.main-service-box:hover .for-details {
  color: #f59c32;
}
@media (max-width: 992px) {
  .single-service-floor-1 {
    background-size: cover;
  }
}
.page-template-page-services .main-services {
  margin-top: 90px;
}
.page-template-page-services .service-box .service-desc {
  width: 70%;
}
@media (min-width: 991px) {
  .page-template-page-services .service-box .service-desc {
    width: 70%;
  }
}
@media (min-width: 1280px) {
  .page-template-page-services .service-box .service-desc {
    width: 60%;
  }
}
@media (min-width: 1441px) {
  .page-template-page-services .service-box .service-desc {
    width: 70%;
  }
}
/* bx-slider.less */
.bx-wrapper {
  position: relative;
}
.bx-controls.bx-has-controls-direction {
  position: absolute;
  width: 100%;
  top: 50%;
  z-index: 1000;
  margin-top: -20px;
  display: none;
}
@media (min-width: 992px) {
  .bx-controls.bx-has-controls-direction {
    display: block;
  }
}
.bx-controls.bx-has-controls-direction .bx-prev {
  display: block;
  position: absolute;
  left: 15px;
}
.bx-controls.bx-has-controls-direction .bx-prev i {
  color: white;
  font-size: 45px;
}
.bx-controls.bx-has-controls-direction .bx-prev:hover i {
  color: #2ac4e3;
}
.bx-controls.bx-has-controls-direction .bx-next {
  display: block;
  position: absolute;
  right: 15px;
}
.bx-controls.bx-has-controls-direction .bx-next i {
  font-size: 45px;
  color: white;
}
.bx-controls.bx-has-controls-direction .bx-next:hover i {
  color: #2ac4e3;
}
.bx-pager-item {
  display: inline-block;
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .bx-pager-item {
    margin: 15px 0 35px;
  }
}
@media (min-width: 992px) {
  .bx-pager-item {
    margin: 35px 0;
  }
}
.bx-pager-item a {
  background: rgba(255, 255, 255, 0.5);
  text-indent: -9999px;
  display: block;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}
.bx-pager-item a.active {
  background: #ffffff;
}
.bx-pager.bx-default-pager {
  text-align: center;
  margin-top: 10px;
}
.bx-wrapper {
  margin: auto;
}
/* end bx-slider.less */
/* home-slider.less */
.home-slide {
  background-size: cover;
  background-position: left;
  padding: 13.5vh 0;
}
.home-slide:not(:first-child) {
  display: none;
}
@media (min-width: 992px) {
  .home-slide {
    background-position: center;
    padding: 49.5vh 0;
    height: 980px;
    max-height: 980px;
    background-repeat: no-repeat;
  }
}
@media (min-width: 1200px) {
  .home-slide {
    background-attachment: fixed;
  }
}
.home-slide .btn-main {
  direction: rtl;
}
.eitan {
  font-size: 100rem;
}
/* file name single-service.less */
@media (min-width: 992px) {
  .single-service-floor-2 .floor-title {
    font-size: 3.3em;
  }
}
.single-service-floor-2 .floor-img {
  text-align: center;
  margin-top: 20px;
}
@media (min-width: 992px) {
  .single-service-floor-2 .floor-img {
    margin-top: 0;
    text-align: inherit;
  }
}
.floor-entry-content ul {
  list-style: none;
}
.floor-entry-content ul li {
  width: 80%;
  font-size: 1em;
  line-height: 1.5;
  color: #373738;
  float: right;
  text-align: left;
  position: relative;
  right: 60px;
  margin-left: 8%;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .floor-entry-content ul li {
    width: 40%;
    font-size: 1.05em;
    right: 80px;
    margin-left: 10%;
  }
}
@media (min-width: 1200px) {
  .floor-entry-content ul li {
    margin-left: 8%;
  }
}
.floor-entry-content ul li:before {
  content: "\e908";
  font-family: 'icomoon' !important;
  width: 40px;
  height: 40px;
  line-height: 40px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background: #f59c32;
  color: white;
  font-size: 20px;
  text-align: center;
  position: absolute;
  right: -60px;
}
@media (min-width: 768px) {
  .floor-entry-content ul li:before {
    width: 50px;
    height: 50px;
    line-height: 50px;
    left: -70px;
  }
}
.form-wrapper {
  text-align: center;
}
.form-wrapper form {
  position: relative;
  height: 160px;
}
.form-wrapper form .wpcf7-validation-errors {
  position: absolute;
  bottom: 0;
  right: 4%;
}
.form-wrapper .group {
  float: left;
  width: 100%;
  text-align: left;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .form-wrapper .group {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .form-wrapper .group {
    width: 20%;
  }
}
.form-wrapper .group.group-submit {
  width: 10%;
}
@media (min-width: 992px) {
  .form-wrapper .group.group-margin {
    margin-left: 5%;
  }
}
.form-wrapper input {
  height: 40px;
  border: none;
  width: 100%;
  padding: 0 10px;
}
@media (min-width: 768px) {
  .form-wrapper input {
    width: 96%;
  }
}
@media (min-width: 992px) {
  .form-wrapper input {
    width: 90%;
  }
}
.form-wrapper input[type="submit"] {
  width: auto;
  padding: 0 50px;
  line-height: 44px;
  margin-top: 23px;
  direction: ltr;
}
@media (min-width: 1200px) {
  .form-wrapper input[type="submit"] {
    margin-top: 26px;
  }
}
.form-wrapper .wpcf7-mail-sent-ok {
  display: none;
  border-color: transparent;
  color: transparent;
}
.single-service-floor-5 .bx-controls.bx-has-controls-direction {
  position: relative;
  width: 30%;
  margin: 0 auto 35px;
  display: block;
}
@media (min-width: 768px) {
  .single-service-floor-5 .bx-controls.bx-has-controls-direction {
    width: auto;
  }
}
@media (min-width: 992px) {
  .single-service-floor-5 .bx-controls.bx-has-controls-direction {
    width: auto;
  }
}
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-prev i,
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-next i {
  color: #d2d3da;
  font-size: 45px;
}
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-prev i:hover,
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-next i:hover,
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-prev i:active,
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-next i:active,
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-prev i:focus,
.single-service-floor-5 .bx-controls.bx-has-controls-direction .bx-next i:focus {
  color: #7dd9fa;
}
@media (min-width: 992px) {
  .to-client-text {
    font-size: 16px;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .to-client-text {
    font-size: 1.375em;
  }
}
@media (min-width: 1200px) {
  .to-client-text {
    font-size: 16px;
  }
}
@media (min-width: 992px) {
  .services_slider {
    padding-top: 40px;
  }
}
.single-service-floor-5 .bx-pager-item a {
  opacity: 0.6;
  color: #f59c32;
  width: 18px;
  height: 18px;
  background-color: #f59c32;
}
.single-service-floor-5 .bx-pager-item a.active {
  background: #f59c32;
  width: 18px;
  height: 18px;
  opacity: 1;
}
.single-service-floor-5 .bx-controls-direction {
  display: none;
}
.services_slider .service-box img {
  width: 105px;
}
.single-service .services_slider .service-box img {
  width: 110px;
  max-width: 110px;
}
.single-service .services_slider .service-box .service-desc {
  width: auto;
  direction: rtl;
  text-align: left;
  padding-left: 0;
  margin-right: 0;
}
/* file name single-client.less */
.col-md-2-custom {
  float: right;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  width: 50%;
}
@media (min-width: 992px) {
  .col-md-2-custom {
    width: 20%;
  }
}
.single-client-floor-1 {
  padding-top: 117px;
  height: 312px;
}
@media (min-width: 992px) {
  .single-client-floor-1 {
    padding-top: 157px;
  }
}
.single-client-floor-1 .thumbnail-wrapper {
  background: white;
  padding: 5px;
  display: inline-block;
  width: 121px;
  height: 71px;
}
@media (min-width: 768px) {
  .single-client-floor-1 .thumbnail-wrapper {
    position: relative;
    top: 26px;
  }
}
.single-client-floor-1 .page-title {
  padding-top: 10px;
}
@media (min-width: 768px) {
  .single-client-floor-1 .page-title {
    margin-right: 20px;
  }
}
.single-client-floor-2 {
  background: url('images/success-bg.jpg') no-repeat;
  background-size: contain;
  padding-top: 30px;
  background-position: left bottom;
}
@media (min-width: 992px) {
  .single-client-floor-2 .floor-title {
    font-size: 3.3em;
  }
}
.single-client-floor-2 .floor-img {
  text-align: center;
  margin-top: 20px;
}
@media (min-width: 992px) {
  .single-client-floor-2 .floor-img {
    margin-top: 0;
    text-align: inherit;
  }
}
.single-client-floor-2 .bx-pager-item a {
  background: rgba(63, 67, 74, 0.5);
}
.single-client-floor-2 .bx-pager-item a.active {
  background: #3f434a;
}
.status-details {
  padding-top: 15px !important;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  .status-details {
    padding-top: 60px !important;
    padding-bottom: 0;
  }
}
.single-client-floor-3 .floor-entry-content ul {
  list-style: none;
}
.single-client-floor-3 .floor-entry-content ul li:before {
  content: "";
}
.single-client-floor-3 .floor-entry-content ul li span.icon {
  width: 40px;
  height: 40px;
  line-height: 40px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background: #f59c32;
  color: white;
  font-size: 28px;
  text-align: center;
  position: absolute;
  right: -60px;
}
@media (min-width: 768px) {
  .single-client-floor-3 .floor-entry-content ul li span.icon {
    width: 50px;
    height: 50px;
    line-height: 50px;
    right: -70px;
  }
}
.client-info-box {
  padding: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .client-info-box {
    margin-bottom: 0;
  }
}
.client-info-box img {
  width: 65px;
}
.client-info-box-title {
  font-size: 1.2em;
  direction: rtl;
}
@media (min-width: 992px) {
  .client-info-box-title {
    min-height: 50px;
  }
}
@media (min-width: 1200px) {
  .client-info-box-title {
    min-height: 60px;
  }
}
@media (min-width: 1400px) {
  .client-info-box-title {
    min-height: inherit;
  }
}
a.client-info-box-text {
  border-bottom: 3px solid #f59c32;
  padding-bottom: 3px;
  margin-bottom: 15px;
}
a.client-info-box-text:hover,
a.client-info-box-text:active,
a.client-info-box-text:focus {
  color: #f59c32;
}
.client-info-box-text {
  font-size: 1.1em;
  color: #72767d;
  display: inline-block;
  padding-bottom: 15px;
}
.numbers-wrapper > div:first-child .numbers-box {
  background: #2ac4e3;
  color: #dcf4fc;
}
.numbers-wrapper > div:nth-child(2) .numbers-box {
  background: #baebfd;
  color: #80ddff;
}
.numbers-wrapper > div:nth-child(3) .numbers-box {
  background: #dcf4fc;
  color: #80ddff;
}
.num-wrapper {
  font-size: 3em;
  position: relative;
}
@media (min-width: 1400px) {
  .num-wrapper {
    font-size: 4em;
  }
}
.num-wrapper .icon {
  display: inline-block;
  font-size: 1.3em;
  position: absolute;
  left: 70%;
}
@media (min-width: 1681px) {
  .num-wrapper .icon {
    left: 65%;
  }
}
.numbers-box {
  margin-right: -15px;
  margin-left: -15px;
  height: 152px;
}
.num-text {
  font-weight: bold;
  font-size: 1.2em;
}
.num-symbol,
.num-plus {
  letter-spacing: -11px;
}
.single-client-floor-6 .testimonial-content:before,
.single-client-floor-6 .testimonial-content:after {
  color: #f59c32;
}
.single-client-floor-6 .bx-controls.bx-has-pager {
  display: none;
}
.single-client-floor-7 .bx-controls.bx-has-controls-direction {
  position: relative;
  width: 30%;
  margin: 0 auto 35px;
  display: block;
}
@media (min-width: 768px) {
  .single-client-floor-7 .bx-controls.bx-has-controls-direction {
    margin: 15px auto 35px;
  }
}
@media (min-width: 992px) {
  .single-client-floor-7 .bx-controls.bx-has-controls-direction {
    width: 11%;
  }
}
@media (min-width: 1200px) {
  .single-client-floor-7 .bx-controls.bx-has-controls-direction {
    width: 8%;
  }
}
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-prev i,
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-next i {
  color: #d2d3da;
  font-size: 45px;
}
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-prev i:hover,
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-next i:hover,
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-prev i:active,
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-next i:active,
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-prev i:focus,
.single-client-floor-7 .bx-controls.bx-has-controls-direction .bx-next i:focus {
  color: #7dd9fa;
}
@media (min-width: 992px) {
  .clients_slider {
    padding-top: 40px;
  }
}
.clients_slider .main-client-box .client-title {
  direction: rtl;
}
/* about.less */
.about-floor-2 .floor-subtitle {
  padding-bottom: 30px;
}
.about-floor-3 .bx-pager-item a {
  background: rgba(63, 67, 74, 0.5);
}
.about-floor-3 .bx-pager-item a.active {
  background: #3f434a;
}
.about-floor-4 {
  padding-bottom: 30px;
}
@media (min-width: 992px) {
  .about-floor-4 {
    padding-bottom: 90px;
  }
}
.about-floor-4 .bx-pager-item a {
  background: rgba(63, 67, 74, 0.5);
}
.about-floor-4 .bx-pager-item a.active {
  background: #3f434a;
}
.reason-desc {
  color: #8e9298;
  line-height: 1.6;
  font-size: 1.1em;
  padding-top: 20px;
  min-height: 90px;
  font-weight: normal;
}
@media (min-width: 1200px) {
  .reason-desc {
    min-height: 60px;
  }
}
.reason-box {
  padding-bottom: 50px;
}
.people-box {
  margin-right: -15px;
  margin-left: -15px;
}
.people-name,
.people-position {
  font-size: 1.3em;
}
.people-img,
.people-overlay {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.people-img img,
.people-overlay img {
  display: block;
  position: relative;
  max-width: 100%;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin: 0 auto;
}
.people-img {
  position: relative;
}
.people-overlay {
  top: 0;
  left: 0;
  position: absolute;
}
.people-overlay .people-content {
  display: block;
  text-align: center;
  top: 50%;
  position: relative;
  margin-top: -40px;
}
.person-wrapper {
  display: block;
  overflow: hidden;
  position: relative;
  -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);
}
.person-wrapper .people-img,
.person-wrapper .people-overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.person-wrapper .people-img {
  z-index: 0;
  position: relative;
}
.person-wrapper .people-overlay {
  z-index: 1;
  -webkit-transform: translateZ(0) scale(2, 2);
  -moz-transform: translateZ(0) scale(2, 2);
  -ms-transform: translateZ(0) scale(2, 2);
  -o-transform: translateZ(0) scale(2, 2);
  transform: translateZ(0) scale(2, 2);
  filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
}
.person-wrapper:hover .people-overlay {
  -webkit-transform: translateZ(0) scale(1, 1);
  -moz-transform: translateZ(0) scale(1, 1);
  -ms-transform: translateZ(0) scale(1, 1);
  -o-transform: translateZ(0) scale(1, 1);
  transform: translateZ(0) scale(1, 1);
  filter: alpha(opacity=100);
  -wekbit-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  background: rgba(0, 0, 0, 0.5);
}
.person-wrapper:hover .overline-effect:before {
  left: 0;
  right: 0;
}
.about-picone {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.reasons-slider {
  margin-top: 45px;
}
@media (min-width: 992px) {
  .reasons-slider {
    margin-top: 90px;
  }
}
.page-template-page-about .top-floor {
  background-position: left;
}
/* clients. less */
.client-box {
  height: 185px;
  background: #eeeeee;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .client-box {
    height: 185px;
  }
}
@media (min-width: 1400px) {
  .client-box {
    height: 285px;
  }
}
.client-img,
.client-overlay {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.client-img img,
.client-overlay img {
  display: block;
  position: relative;
  max-width: 100%;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin: 0 auto;
}
.client-img-wrapper {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.client-overlay {
  top: 0;
  left: 0;
  position: absolute;
}
.client-overlay .to-client-text {
  display: block;
  text-align: center;
  top: 50%;
  position: relative;
  margin-top: -40px;
}
.client-wrapper {
  display: block;
  overflow: hidden;
  position: relative;
  -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);
  /* Underline From Center */
}
.client-wrapper .client-img,
.client-wrapper .client-overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.client-wrapper .client-img {
  z-index: 0;
  position: relative;
}
.client-wrapper .client-overlay {
  z-index: 1;
  -webkit-transform: translateZ(0) scale(0, 0);
  -moz-transform: translateZ(0) scale(0, 0);
  -ms-transform: translateZ(0) scale(0, 0);
  -o-transform: translateZ(0) scale(0, 0);
  transform: translateZ(0) scale(0, 0);
  filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
  transition: all 0.8s;
  background: #f59c32;
  text-align: center;
  margin: 0 auto;
  width: 90%;
  height: 185px;
}
@media (min-width: 992px) {
  .client-wrapper .client-overlay {
    height: 185px;
  }
}
@media (min-width: 1400px) {
  .client-wrapper .client-overlay {
    height: 285px;
  }
}
@media (min-width: 992px) {
  .client-wrapper:hover .client-overlay {
    -webkit-transform: translateZ(0) scale(1, 1);
    -moz-transform: translateZ(0) scale(1, 1);
    -ms-transform: translateZ(0) scale(1, 1);
    -o-transform: translateZ(0) scale(1, 1);
    transform: translateZ(0) scale(1, 1);
    filter: alpha(opacity=100);
    -wekbit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
  }
  .client-wrapper:hover .overline-effect:before {
    left: 0;
    right: 0;
  }
}
.client-wrapper .underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow: hidden;
  padding-bottom: 10px;
}
.client-wrapper .underline-from-center:hover {
  color: white;
}
.client-wrapper .underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  bottom: 0;
  background: white;
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.client-wrapper .underline-from-center:hover:before,
.client-wrapper .underline-from-center:focus:before,
.client-wrapper .underline-from-center:active:before {
  left: 0;
  right: 0;
}
/* 404.less */
.error-section-1 {
  height: 321px;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('images/404.jpg');
  padding-top: 127px;
}
.error-section-2 .floor-subtitle {
  color: #373738;
}
/* end 404.less */
/* primary_nav.less */
@media (min-width: 992px) {
  .primary_menu ul {
    padding-top: 6px;
    padding-right: 4em;
  }
}
.primary_menu ul li {
  list-style: none;
  padding: 0.5em 0;
}
@media (min-width: 1200px) {
  .primary_menu ul li {
    margin-right: 0;
  }
}
.primary_menu ul li a {
  white-space: normal;
}
@media (min-width: 992px) {
  .primary_menu ul li a {
    white-space: nowrap;
  }
}
.nav > li {
  display: inline-block;
}
@media (min-width: 992px) {
  .nav > li {
    display: inline-block;
    text-align: center;
  }
  .nav > li.current-menu-item a {
    color: #464444;
  }
}
.nav > li > a {
  color: #f59c32;
  transition: 0.2s;
  font-weight: bold;
  font-size: 1.3em;
  white-space: nowrap;
}
.nav > li > a:hover,
.nav > li > a:focus,
.nav > li > a:active {
  background-color: transparent;
  color: #d2d3da;
}
.nav > li.current-menu-item a {
  color: #d2d3da;
}
.nav > li .sub-menu {
  right: auto;
  left: 0;
  padding: 0.7em 1.7em;
  border: 0 solid #8e9298;
  background-color: transparent;
  z-index: 2;
}
@media (min-width: 992px) {
  .nav > li .sub-menu {
    background-color: #ffffff;
    top: 54px;
  }
}
.nav > li .sub-menu > li {
  line-height: 1.3;
  padding: 0.4rem 0;
}
.nav > li .sub-menu > li.current-menu-item a {
  color: #d2d3da;
}
.nav > li .sub-menu > li a {
  font-weight: bold;
  font-size: 1em;
  display: block;
  vertical-align: middle;
  color: #f59c32;
  padding-right: 0.5em;
}
@media (min-width: 992px) {
  .nav > li .sub-menu > li a {
    font-size: 1.3em;
    padding-right: 0;
  }
}
.nav > li .sub-menu > li a:hover {
  color: #d2d3da;
}
.nav > li.menu-item-type-custom > a:hover,
.nav > li.menu-item-type-custom > a:focus,
.nav > li.menu-item-type-custom > a:active {
  color: #d2d3da;
}
#menu-primary_menu > li {
  display: block;
  list-style: none;
}
@media (min-width: 992px) {
  #menu-primary_menu > li {
    display: inline-block;
    position: relative;
  }
}
.primary_menu ul li .sub-menu li {
  text-align: left;
}
.primary_menu ul li .sub-menu li a {
  font-size: 1em;
}
@media (min-width: 992px) {
  .primary_menu ul li .sub-menu li a {
    font-size: 1.05em;
  }
}
ul.sub-menu {
  display: block;
  position: relative;
}
@media (min-width: 992px) {
  ul.sub-menu {
    display: none;
    position: absolute;
  }
}
#primary_menu ul#menu-primary_menu li:hover .sub-menu {
  display: block;
}
.scrollActive li:hover > .sub-menu {
  display: block;
}
.scrollActive .menu-item-type-custom > a:hover,
.scrollActive .menu-item-type-custom > a:focus,
.scrollActive .menu-item-type-custom > a:active {
  color: #2ac4e3;
}
.home .nav > li {
  display: inline-block;
}
@media (min-width: 992px) {
  .home .nav > li {
    display: inline-block;
    text-align: center;
  }
}
.home .nav > li > a {
  color: #f59c32;
  transition: 0.2s;
  font-weight: bold;
  font-size: 1.3em;
  white-space: nowrap;
}
.home .nav > li > a:hover,
.home .nav > li > a:focus,
.home .nav > li > a:active {
  background-color: transparent;
  color: #d2d3da;
}
.home .nav > li.current-menu-item a {
  color: #d2d3da;
}
/* easypiechart  */
.total-small {
  font-size: 1.3em;
}
@media (min-width: 768px) {
  .total-small {
    font-size: 1.5em;
  }
}
.diagram-wrapper-first,
.diagram-wrapper-sec {
  position: relative;
  height: 220px;
}
@media (max-width: 768px) {
  .diagram-wrapper-first,
  .diagram-wrapper-sec {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-first,
  .diagram-wrapper-sec {
    height: 200px;
  }
}
.diagram-wrapper-first {
  padding-top: 30px;
}
@media (min-width: 992px) {
  .diagram-wrapper-first {
    padding-top: 60px;
  }
}
@media (min-width: 1400px) {
  .diagram-wrapper-first {
    padding-top: 110px;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-first .chart {
    position: relative;
    right: -80px;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-first .chart canvas {
    position: absolute;
    right: 0;
    float: none;
  }
}
.diagram-wrapper-first .chart .total-small,
.diagram-wrapper-first .chart .chart-number {
  color: #f59c32;
}
.diagram-wrapper-first .chart .total-small {
  position: absolute;
  top: 7px;
}
@media (max-width: 768px) {
  .diagram-wrapper-first .chart .total-small {
    width: 100%;
    left: 0;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-first .chart .total-small {
    top: 67px;
    right: 170px;
  }
}
.diagram-wrapper-first .chart .chart-number {
  font-weight: bold;
  font-size: 34px;
  position: absolute;
  top: 94px;
}
@media (max-width: 768px) {
  .diagram-wrapper-first .chart .chart-number {
    width: 100%;
    left: 0;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-first .chart .chart-number {
    position: absolute;
    top: 67px;
    right: 54px;
  }
}
.diagram-wrapper-sec {
  padding-top: 30px;
}
@media (max-width: 768px) {
  .diagram-wrapper-sec {
    height: 260px;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-sec {
    padding-top: 60px;
  }
}
@media (min-width: 1400px) {
  .diagram-wrapper-sec {
    padding-top: 110px;
  }
}
.diagram-wrapper-sec .chart {
  position: relative;
}
@media (min-width: 992px) {
  .diagram-wrapper-sec .chart canvas {
    position: absolute;
    left: 0;
    float: none;
  }
}
.diagram-wrapper-sec .chart .total-small,
.diagram-wrapper-sec .chart .chart-number {
  color: #2ac4e3;
}
.diagram-wrapper-sec .chart .total-small {
  position: absolute;
  top: -30px;
}
@media (max-width: 768px) {
  .diagram-wrapper-sec .chart .total-small {
    width: 100%;
    left: 0;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-sec .chart .total-small {
    top: 106px;
    left: 260px;
  }
}
.diagram-wrapper-sec .chart .chart-number {
  font-weight: bold;
  font-size: 68px;
  position: absolute;
  top: 92px;
}
@media (max-width: 768px) {
  .diagram-wrapper-sec .chart .chart-number {
    width: 100%;
    left: 0;
  }
}
@media (min-width: 992px) {
  .diagram-wrapper-sec .chart .chart-number {
    position: absolute;
    top: 90px;
    left: 45px;
  }
}
/* file name header.less */
header {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1001;
}
@media (min-width: 992px) {
  header {
    height: 93px;
    background: #ffffff;
    padding-top: 22px;
  }
}
@media (max-width: 991px) {
  header {
    height: 78px;
    background: #ffffff;
    padding-top: 0;
    position: fixed;
  }
}
@media (min-width: 992px) {
  header .social_menu {
    margin-top: 13px;
  }
}
@media (min-width: 1400px) {
  header .social_menu {
    margin-top: 0;
  }
}
@media (min-width: 992px) {
}
.logo {
  position: relative;
  z-index: 999;
  max-width: 220px;
  width: 220px;
  height: 46px;
  max-height: 55px;
  top: 12px;
  right: 0;
  float: left;
}
@media (min-width: 992px) {
  .logo {
    top: 0.1em;
    max-width: 250px;
    width: 250px;
    height: 55px;
    max-height: 55px;
    float: none;
  }
}
.on-image-top-banner {
  background-color: transparent;
  width: 100%;
  height: 400px;
  z-index: 0;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  display: none;
}
@media (min-width: 992px) {
  .on-image-top-banner {
    display: inline-block;
    background-color: transparent;
    width: 100%;
    z-index: 0;
    max-width: 100%;
    max-height: 400px;
    height: 400px;
    position: absolute;
    top: 0;
  }
}
#main-header #menu-social_menu {
  display: none;
}
@media (min-width: 992px) {
  #main-header #menu-social_menu {
    display: block;
  }
}
#main-header #menu-social_menu li:first-child {
  margin-left: 10px;
}
.navbar-toggle {
  background-color: #f59c32 !important;
}
.col-md-push-0 {
  left: auto;
  right: auto;
}
/* fixed_header.less */
#section_fixed_primary_menu {
  min-height: 93px;
  position: fixed;
  border-bottom: 1px solid #8e9298;
  -webkit-transform: translateY(-100px);
  -moz-transform: translateY(-100px);
  -ms-transform: translateY(-100px);
  -o-transform: translateY(-100px);
  transform: translateY(-100px);
  left: 0;
  right: 0;
  top: 0;
  transition: all 0.5s;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
#section_fixed_primary_menu header {
  background-color: #ffffff;
}
#section_fixed_primary_menu header .nav > li > a {
  color: #f59c32;
}
#section_fixed_primary_menu header .nav > li > a:hover {
  color: #f59c32;
}
#section_fixed_primary_menu header .nav > li.current-menu-item a {
  color: #f59c32;
}
#section_fixed_primary_menu header .nav > li.menu-item-type-custom > a {
  color: #f59c32;
}
#section_fixed_primary_menu header .nav > li.menu-item-type-custom > a:hover {
  color: #f59c32;
}
#section_fixed_primary_menu .logo {
  height: 69px;
  top: 0;
}
.scrollActive #section_fixed_primary_menu {
  transform: translateY(0);
  z-index: 999;
  border-bottom: 0 solid #efefef;
}
header .social_menu ul li a {
  color: #ffffff;
  background: #f59c32;
}
header .social_menu ul li a i {
  color: #ffffff;
}
header .social_menu ul li a:hover,
header .social_menu ul li a:focus,
header .social_menu ul li a:active {
  color: #f59c32 !important;
  background: #d2d3da !important;
}
header .social_menu ul li a:hover i,
header .social_menu ul li a:focus i,
header .social_menu ul li a:active i {
  color: #f59c32 !important;
}
/* footer.less */
/* footer top */
footer {
  min-height: 350px;
  z-index: 999;
  width: 100%;
  bottom: 0;
  color: #8e9298;
}
.contact-form-footer {
  margin-bottom: 50px;
}
@media (min-width: 992px) {
  .contact-form-footer {
    margin-bottom: 0;
  }
}
.site-footer .social_menu ul {
  display: inline-block;
  text-align: center;
}
.site-footer .social_menu ul li {
  margin: 15px 10px 20px 10px;
  background: #f59c32;
}
.site-footer .social_menu ul li a {
  color: #ffffff;
}
.site-footer .social_menu ul li:hover,
.site-footer .social_menu ul li:focus,
.site-footer .social_menu ul li:active {
  color: #f59c32;
  background: #d2d3da;
}
.site-footer .social_menu ul li:hover i,
.site-footer .social_menu ul li:focus i,
.site-footer .social_menu ul li:active i {
  color: #f59c32;
}
.site-footer .icons-footer {
  color: #f59c32;
  font-size: 65px;
  border-bottom: 4px solid #ffecd6;
  padding-bottom: 15px !important;
}
.site-footer .footer-subtitle {
  color: #ffffff;
  margin-bottom: 10px !important;
  margin-top: 35px;
}
.site-footer .footer-subtitle.address {
  margin-top: 10px;
  font-size: 1.1em;
  font-weight: 300;
  line-height: 1.2em;
  color: #ffffff;
}
.site-footer .footer-subtitle.main {
  font-size: 1.1em;
  font-weight: 300;
  line-height: 1.2em;
  color: #ffffff;
}
.site-footer .footer-heading {
  margin-bottom: 10px !important;
  margin-bottom: 24px !important;
  font-weight: bold;
  font-size: 22px;
  margin-top: 35px;
  color: #f59c32;
}
.footer-top {
  background: #373738;
  padding-top: 30px;
}
@media (min-width: 992px) {
  .footer-top {
    padding: 70px 0;
    font-size: 16px;
  }
}
.footer-bottom {
  background: #f9f6f3;
}
/* footer rights */
.copyright {
  font-size: 0.750em;
  padding-top: 42px;
  color: #8e9298;
  float: right;
}
@media (min-width: 992px) {
  .copyright {
    padding-right: 10px;
  }
}
/* footer bottom */
.sogo-logo {
  padding-top: 15px;
  padding-bottom: 10px;
}
.sogo-logo a {
  display: block;
}
.sogo-logo a:hover {
  text-decoration: none;
}
.sogo-logo a img {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  height: auto;
  width: 50px;
}
.sogo-logo small {
  font-size: 0.788em;
  color: #373738;
  display: inline-block;
  vertical-align: middle;
}
@media (min-width: 992px) {
  .sogo-logo small {
    font-size: 0.688em;
  }
}
.footer-right {
  border-bottom: solid 1px #ffffff;
}
@media (min-width: 768px) {
  .footer-right {
    border-bottom: solid 1px #ffffff;
  }
}
@media (min-width: 992px) {
  .footer-right {
    border-right: solid 1px #ffffff;
    border-bottom: none;
  }
}
.footer-left {
  padding-top: 15px !important;
  line-height: 1.3;
}
@media (min-width: 992px) {
  .footer-left {
    padding: 0 100px;
  }
}
.footer-number {
  margin-bottom: 10px !important;
  font-size: 1.8em;
  direction: ltr;
  margin-top: 30px !important;
  font-weight: 400;
  color: #f59c32;
}
.footer-number a {
  color: #f59c32;
}
a.scrollup {
  border: 2px solid #f59c32;
  color: #f59c32;
  border-radius: 100%;
  line-height: 35px;
  vertical-align: bottom;
  padding: 4px 14px;
  position: fixed;
  left: 20px;
  bottom: 85px !important;
  background: #fff;
  z-index: 100;
  display: none;
}
a.scrollup .fa-angle-up:before {
  font-size: 25px;
}
a.banner-order-therapist {
  position: fixed;
  right: 0;
  left: auto !important;
  bottom: 10% !important;
  background: transparent;
  z-index: 100;
}
.page-id-13 a.banner-order-therapist {
  display: none;
}
/* zoom-in-effect.less */
/*
 *	html guidelines

    class
    1.zoom-in-effect = main div
    2.img-box = the wrapper of img
    3.info-box = info div wrapper
   4. info-content = the actual info content
 *
 */
.img-box,
.info-box {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.img-box img,
.info-box img {
  display: block;
  position: relative;
  max-width: 100%;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.img-box {
  position: relative;
}
.info-box {
  top: 0;
  left: 0;
  position: absolute;
}
.info-box .info-content {
  display: block;
  text-align: center;
  top: 50%;
  position: relative;
  margin-top: -40px;
}
.zoom-in-effect {
  display: block;
  overflow: hidden;
  position: relative;
  -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);
}
.zoom-in-effect .img-box,
.zoom-in-effect .info-box {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.zoom-in-effect .img-box {
  z-index: 0;
  position: relative;
}
.zoom-in-effect .img-box:after {
  content: '';
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.zoom-in-effect .info-box {
  z-index: 1;
  -webkit-transform: translateZ(0) scale(2, 2);
  -moz-transform: translateZ(0) scale(2, 2);
  -ms-transform: translateZ(0) scale(2, 2);
  -o-transform: translateZ(0) scale(2, 2);
  transform: translateZ(0) scale(2, 2);
  filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
}
.zoom-in-effect:hover .img-box {
  -webkit-transform: translateZ(0) scale(1.1, 1.1);
  -moz-transform: translateZ(0) scale(1.1, 1.1);
  -ms-transform: translateZ(0) scale(1.1, 1.1);
  -o-transform: translateZ(0) scale(1.1, 1.1);
  transform: translateZ(0) scale(1.1, 1.1);
}
.zoom-in-effect:hover .info-box {
  -webkit-transform: translateZ(0) scale(1, 1);
  -moz-transform: translateZ(0) scale(1, 1);
  -ms-transform: translateZ(0) scale(1, 1);
  -o-transform: translateZ(0) scale(1, 1);
  transform: translateZ(0) scale(1, 1);
  filter: alpha(opacity=100);
  -wekbit-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  background: rgba(0, 0, 0, 0.5);
}
/* end zoom-in-effect.less */
/** bootstrap-offcanvas.less **/
@media (max-width: 991px) {
  #social_menu {
    padding-top: 10px;
  }
  .navbar-toggle {
    border: none;
    background-color: transparent;
    color: #ffffff;
    padding-top: 13px;
    transition: transform 0.5s ease-in;
    margin-right: 0;
  }
  .navbar-toggle:focus {
    outline: none;
  }
  .navbar-toggle .icon:before {
    content: "\e939";
    font-family: 'icomoon' !important;
    color: #000000;
    font-size: 43px;
  }
  .navbar-toggle .menu-word {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 13px;
    position: relative;
    top: -5px;
    display: block;
  }
  .offcanvas-stop-scrolling .navbar-toggle {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
  }
  .offcanvas-stop-scrolling .navbar-toggle .icon:before {
    content: "\e93a";
    font-family: 'icomoon' !important;
  }
  .offcanvas-stop-scrolling .main-logo {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
  .offcanvas-stop-scrolling .site:before {
    content: 'q';
    color: transparent;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: #d2d3da;
  }
  .offcanvas-stop-scrolling .logo {
    visibility: hidden;
  }
  .offcanvas-stop-scrolling {
    height: 100%;
    overflow: hidden;
  }
  .navbar-default .navbar-offcanvas {
    background-color: #f8f8f8;
  }
  .navbar-inverse .navbar-offcanvas {
    background-color: #222;
  }
  .navbar-offcanvas {
    position: fixed;
    width: 100%;
    max-width: 250px;
    left: -250px;
    top: 0;
    padding-left: 15px;
    padding-right: 15px;
    z-index: 9999;
    transition: transform 0.5s ease-in;
    background: #1c1c1c;
    overflow: auto;
  }
  .navbar-offcanvas.in {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  }
  .navbar-offcanvas.navbar-offcanvas-fade {
    opacity: 0;
  }
  .navbar-offcanvas.navbar-offcanvas-fade.in {
    opacity: 1;
  }
  .navbar-offcanvas.offcanvas-transform.in {
    -webkit-transform: translateX(250px);
    transform: translateX(250px);
    padding-top: 10px;
  }
  .navbar-offcanvas.offcanvas-position.in {
    left: 0;
  }
  .navbar-offcanvas.navbar-offcanvas-right {
    left: auto;
    right: -250px;
  }
  .navbar-offcanvas.navbar-offcanvas-right.offcanvas-transform.in {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
  }
  .navbar-offcanvas.navbar-offcanvas-right.offcanvas-position.in {
    left: auto;
    right: 0;
  }
  .navbar-offcanvas .dropdown.active .caret {
    border-top: 0;
    border-bottom: 4px solid;
  }
  .navbar-offcanvas .dropdown-menu {
    position: relative;
    width: 100%;
    border: inherit;
    box-shadow: none;
    -webkit-transition: height 0.15s ease-in;
    transition: height 0.15s ease-in;
  }
  .navbar-offcanvas .dropdown-menu.shown {
    display: block;
    margin-bottom: 10px;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .offcanvas-stop-scrolling .navbar-toggle {
    -webkit-transform: translateX(-370px);
    transform: translateX(-370px);
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .offcanvas-stop-scrolling .logo {
    visibility: visible;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .navbar-offcanvas {
    max-width: 370px;
    left: -370px;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .navbar-offcanvas.offcanvas-transform.in {
    -webkit-transform: translateX(370px);
    transform: translateX(370px);
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .navbar-offcanvas.navbar-offcanvas-right {
    right: -370px;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .navbar-offcanvas.navbar-offcanvas-right.offcanvas-transform.in {
    -webkit-transform: translateX(-370px);
    transform: translateX(-370px);
  }
}
.offcanvas-toggle .icon-bar {
  background: #ffffff;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.offcanvas-toggle.is-open .icon-bar:nth-child(1) {
  -webkit-transform: rotate(45deg) translate(5px, 4px);
  transform: rotate(45deg) translate(5px, 4px);
}
.offcanvas-toggle.is-open .icon-bar:nth-child(2) {
  -webkit-transform: rotate(45deg) translate(5px, 4px);
  transform: rotate(45deg) translate(0px, 1px);
}
.offcanvas-toggle.is-open .icon-bar:nth-child(3) {
  -webkit-transform: rotate(-45deg) translate(4px, -4px);
  transform: rotate(-45deg) translate(4px, -4px);
}
@media (min-width: 768px) {
  .navbar-header {
    float: right;
  }
}
.home .offcanvas-toggle .icon-bar {
  /*background: @color-submenu-link !important;*/
}
.navbar-toggle {
  background-color: #f59c32 !important;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc2V0Lmxlc3MiLCJtaXhpbi5sZXNzIiwidmFyaWFibGVzLmxlc3MiLCJmb250cy5sZXNzIiwid29yZHByZXNzLmxlc3MiLCJjbGFzc2VzLmxlc3MiLCJiYXNlLmxlc3MiLCJhbmltYXRpb24ubGVzcyIsImFuaW1hdGUubGVzcyIsInNvY2lhbC1tZW51Lmxlc3MiLCJlbnRyeS1jb250ZW50Lmxlc3MiLCJjb250YWN0LXBhZ2UubGVzcyIsImNvbnRhY3QtZm9ybS5sZXNzIiwiY29udGFjdC1tYXAubGVzcyIsInRoYW5rLXlvdS5sZXNzIiwiZnJvbnRwYWdlLmxlc3MiLCJzZXJ2aWNlcy5sZXNzIiwiYngtc2xpZGVyLmxlc3MiLCJob21lLXNsaWRlci5sZXNzIiwic2luZ2xlLXNlcnZpY2UubGVzcyIsInNpbmdsZS1jbGllbnQubGVzcyIsImFib3V0Lmxlc3MiLCJjbGllbnRzLmxlc3MiLCI0MDQubGVzcyIsInByaW1hcnktbmF2Lmxlc3MiLCJlYXN5cGllY2hhcnQubGVzcyIsImhlYWRlci5sZXNzIiwiZml4ZWQtaGVhZGVyLmxlc3MiLCJmb290ZXIubGVzcyIsInpvb20taW4tZWZmZWN0Lmxlc3MiLCJib290c3RyYXAtb2ZmY2FudmFzLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBO0FBQU07QUFBTTtBQUFLO0FBQU07QUFDdkI7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUk7QUFBRztBQUMzQjtBQUFNO0FBQVM7QUFBTTtBQUNyQjtBQUFLO0FBQUk7QUFBSztBQUNkO0FBQU87QUFBUTtBQUFLO0FBQ3BCO0FBQUk7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUNwQjtBQUFVO0FBQU07QUFBTztBQUN2QjtBQUFPO0FBQVM7QUFBTztBQUFPO0FBQU87QUFBSTtBQUFJO0FBQzdDO0FBQVM7QUFBTztBQUFRO0FBQVE7QUFBUTtBQUN4QztBQUFRO0FBQU07QUFBSztBQUNuQjtBQUFNO0FBQU07QUFBTztFQUNq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LFVBQVMsVUFBVTtFQUMzQyxtQkFBbUIsY0FBYyxtQkFBakM7RUFDQSxXQUFXLGNBQWMsbUJBQXpCOztBQUdGLGlCQUFpQixRQUFTLFVBQVMsVUFBVTtFQUMzQyxtQkFBbUIsZUFBZSxvQkFBbEM7RUFDQSxXQUFXLGVBQWUsb0JBQTFCOztBQUlBLFFBQXlCO0VBYzNCO0lBYkUsWUFBQTs7O0FBR0YsS0FDRSxrQkFDRTs7O0FBS0o7RUFDRSx5QkFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIHJlc2V0Lmxlc3MgKi9cblxuLypcbmh0bWw1ZG9jdG9yLmNvbSBSZXNldCBTdHlsZXNoZWV0XG52MS40XG4yMDA5LTA3LTI3XG5BdXRob3I6IFJpY2hhcmQgQ2xhcmsgLSBodHRwOi8vcmljaGNsYXJrZGVzaWduLmNvbVxuKi9cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSxcbmFiYnIsIGFkZHJlc3MsIGNpdGUsIGNvZGUsXG5kZWwsIGVtLCBpbWcsIGlucyxcbnNtYWxsLCBzdHJvbmcsIHN1Yiwgc3VwLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLFxuaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAuYm94LXNpemluZygpO1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1haW47XG59XG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5hOmhvdmVye1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLFxuaGdyb3VwLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OicnO1xuICBjb250ZW50Om5vbmU7XG59XG5hIHtcbiAgbWFyZ2luOjA7XG4gIHBhZGRpbmc6MDtcbiAgYm9yZGVyOjA7XG4gIGZvbnQtc2l6ZToxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbn1cbmRlbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuYWJiclt0aXRsZV0sXG5kZm5bdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbToxcHggZG90dGVkICMwMDA7XG4gIGN1cnNvcjpoZWxwO1xufVxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOjA7XG59XG5ociB7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGhlaWdodDoxcHg7XG4gIGJvcmRlcjowO1xuICBib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjY2NjO1xuICBtYXJnaW46MWVtIDA7XG4gIHBhZGRpbmc6MDtcbn1cbmlucHV0LFxuc2VsZWN0IHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsIi8qIG1peGluLmxlc3MgKi9cblxuLy8gY29sb3JzIGFuZCBzaGFwZXNcblxuLmJveC1zaGFkb3coQHg6IDApIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAYXJndW1lbnRzO1xuICAtbW96LWJveC1zaGFkb3c6IEBhcmd1bWVudHM7XG4gIGJveC1zaGFkb3c6IEBhcmd1bWVudHM7XG59XG5cbi5jYWxjKEBwcm9wLCBAdmFsKSB7XG4gIEB7cHJvcH06IGNhbGMofidAe3ZhbH0nKTtcbiAgQHtwcm9wfTogLW1vei1jYWxjKH4nQHt2YWx9Jyk7XG4gIEB7cHJvcH06IC13ZWJraXQtY2FsYyh+J0B7dmFsfScpO1xuICBAe3Byb3B9OiAtby1jYWxjKH4nQHt2YWx9Jyk7XG59XG4vLyBjYWxjIHVzYWdlIGV4YW1wbGVcbi8vLnJhbWl7XG4vLyAgLmNhbGMod2lkdGgsICcxMDAlIC0gMTAwcHgnKTtcbi8vfVxuLmJvcmRlci1yYWRpdXMoQHJhZGl1czogNXB4KSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJveC1zaXppbmcgKEB0eXBlOiBib3JkZXItYm94KSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQHR5cGU7XG4gIC1tb3otYm94LXNpemluZzogICAgQHR5cGU7XG4gIGJveC1zaXppbmc6ICAgICAgICAgQHR5cGU7XG59XG5cbi5vcGFjaXR5IChAb3BhY2l0eTogMC41KSB7XG4gIC13ZWJraXQtb3BhY2l0eTogXHRAb3BhY2l0eTtcbiAgLW1vei1vcGFjaXR5OiBcdFx0QG9wYWNpdHk7XG4gIG9wYWNpdHk6IFx0XHRAb3BhY2l0eTtcbn1cbi5ncmFkaWVudCAoQHN0YXJ0Q29sb3I6ICNlZWUsIEBlbmRDb2xvcjogd2hpdGUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHN0YXJ0Q29sb3I7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG59XG4ubGluZWFyLWdyYWRpZW50KEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvciApe1xuICBiYWNrZ3JvdW5kOiBAZmlyc3QtY29sb3I7IC8qIEZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGdyYWRpZW50cyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBGb3IgU2FmYXJpIDUuMSB0byA2LjAgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIEZvciBPcGVyYSAxMS4xIHRvIDEyLjAgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbn1cbi5ib3JkZXJfZ3JhZGllbnQgKEBzdGFydENvbG9yOiAjZWVlLCBAZW5kQ29sb3I6IHdoaXRlKSB7XG4gIGJvcmRlci1pbWFnZTogQHN0YXJ0Q29sb3I7XG4gIGJvcmRlci1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICBib3JkZXItaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICBib3JkZXItaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICBib3JkZXItaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gIGJvcmRlci1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xufVxuLmJhY2tncm91bmQoQHNpemU6Y292ZXIpe1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbn1cbi5yZXNwb25zaXZlLWltZygpIHtcbiAgQHdpZHRoOiAgMTAwJTtcbiAgQGhlaWdodDogYXV0bztcbn1cbi8vIFVzYWdlXG4vL2ltZyB7XG4vLyAgLnJlc3BvbnNpdmUtaW1nKCk7XG4vLyAgbWF4LXdpZHRoOiAgQHdpZHRoO1xuLy8gIGhlaWdodDogQGhlaWdodDtcbi8vfVxuXG4vLyBiYXNpYyBidXR0b24gZGVzaWduXG4uYnV0dG9uIChAYmc6ICNmNWY1ZjUsIEBjb2xvcjogIzkwMCwgQGxpbmUtaGVpZ2h0OiAzMHB4LCBAdmVydGljYWwtYWxpZ246IG1pZGRsZSwgQGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrKSB7XG4gIGJhY2tncm91bmQ6IEBiZztcbiAgY29sb3I6IEBjb2xvcjtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiBAYm9yZGVyO1xuICAuYm9yZGVyLXJhZGl1cyg1cHgpO1xufVxuXG4uYnV0dG9uLWhvdmVyIChAYmc6ICNmNWY1ZjUsIEBjb2xvcjogIzkwMCwgQGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlKXtcbiAgY29sb3I6IGxpZ2h0ZW4oQGNvbG9yLCAxMCUpO1xuICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBiZywgMTAlKTtcbn1cbiAvLyBVc2FnZVxuLy8uYnV0dG9uLWJhc2lje1xuLy8gIC5idXR0b24oKTtcbi8vICAmOmhvdmVye1xuLy8gICAgLmJ1dHRvbi1ob3ZlcigpO1xuLy8gIH1cbi8vfVxuXG4vLyBmbGV4IG9wdGlvbnNcbi5kaXNwbGF5LWZsZXgoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94OyAgICAgIC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gIGRpc3BsYXk6IC1tb3otYm94OyAgICAgICAgIC8qIE9MRCAtIEZpcmVmb3ggMTktIChidWdneSBidXQgbW9zdGx5IHdvcmtzKSAqL1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgICAgICAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAgICAgLyogTkVXIC0gQ2hyb21lICovXG4gIGRpc3BsYXk6IGZsZXg7ICAgICAgICAgICAgIC8qIE5FVywgU3BlYyAtIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG59XG4uYWxpZ24taXRlbXMoQGFsaWduOiBjZW50ZXIpIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogQGFsaWduO1xuICAtbW96LWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gIC1tcy1hbGlnbi1pdGVtczogQGFsaWduO1xuICBhbGlnbi1pdGVtczogQGFsaWduO1xufVxuLy8gVXNhZ2Vcbi8vIGRpdntcbi8vIGRpc3BsYXktZmxleCgpO1xuXG5cbi5mbGV4LWJveChAZmxleDogMSkge1xuICAtd2Via2l0LWJveC1mbGV4OiBAZmxleDsgLyogT0xEIC0gaU9TIDYtLCBTYWZhcmkgMy4xLTYgKi9cbiAgLW1vei1ib3gtZmxleDogQGZsZXg7IC8qIE9MRCAtIEZpcmVmb3ggMTktICovXG4gIHdpZHRoOiAyMCU7IC8qIEZvciBvbGQgc3ludGF4LCBvdGhlcndpc2UgY29sbGFwc2VzLiAqL1xuICAtd2Via2l0LWZsZXg6IEBmbGV4OyAvKiBDaHJvbWUgKi9cbiAgLW1zLWZsZXg6IEBmbGV4OyAvKiBJRSAxMCAqL1xuICBmbGV4OiBAZmxleDtcbn1cblxuLmZsZXgtZGlzcGxheShAZGlzcGxheTogZmxleCkge1xuICBkaXNwbGF5OiB+XCItd2Via2l0LUB7ZGlzcGxheX1cIjtcbiAgZGlzcGxheTogflwiLW1vei1Ae2Rpc3BsYXl9XCI7XG4gIGRpc3BsYXk6IH5cIi1tcy1Ae2Rpc3BsYXl9Ym94XCI7IC8vIElFMTAgdXNlcyAtbXMtZmxleGJveFxuICBkaXNwbGF5OiB+XCItbXMtQHtkaXNwbGF5fVwiOyAvLyBJRTExXG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xufVxuLmZsZXgoQGNvbHVtbnM6IGluaXRpYWwpIHtcbiAgLXdlYmtpdC1mbGV4OiBAY29sdW1ucztcbiAgLW1vei1mbGV4OiBAY29sdW1ucztcbiAgLW1zLWZsZXg6IEBjb2x1bW5zO1xuICBmbGV4OiBAY29sdW1ucztcbn1cbi5mbGV4LWRpcmVjdGlvbihAZGlyZWN0aW9uOiByb3cpIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbiAgLW1vei1mbGV4LWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xuICBmbGV4LWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbn1cbi5mbGV4LXdyYXAoQHdyYXA6IG5vd3JhcCkge1xuICAtd2Via2l0LWZsZXgtd3JhcDogQHdyYXA7XG4gIC1tb3otZmxleC13cmFwOiBAd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogQHdyYXA7XG4gIGZsZXgtd3JhcDogQHdyYXA7XG59XG5cbi8vIGFuaW1hdGlvbnNcblxuLnRyYW5zaXRpb24gKEB0cmFuc2l0aW9uOiBhbGwgMC40cykge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAtbW96LXRyYW5zaXRpb246ICAgIEB0cmFuc2l0aW9uO1xuICAtbXMtdHJhbnNpdGlvbjogICAgIEB0cmFuc2l0aW9uO1xuICAtby10cmFuc2l0aW9uOiAgICAgIEB0cmFuc2l0aW9uO1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2Zvcm0oQHN0cmluZyl7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBAc3RyaW5nO1xuICAtbW96LXRyYW5zZm9ybTogXHQgQHN0cmluZztcbiAgLW1zLXRyYW5zZm9ybTogXHRcdCBAc3RyaW5nO1xuICAtby10cmFuc2Zvcm06IFx0XHQgQHN0cmluZztcbiAgdHJhbnNmb3JtOiBAc3RyaW5nO1xufVxuLnNjYWxlIChAZmFjdG9yKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAZmFjdG9yKTtcbiAgLW1vei10cmFuc2Zvcm06IFx0IHNjYWxlKEBmYWN0b3IpO1xuICAtbXMtdHJhbnNmb3JtOiBcdFx0IHNjYWxlKEBmYWN0b3IpO1xuICAtby10cmFuc2Zvcm06IFx0XHQgc2NhbGUoQGZhY3Rvcik7XG4gIHRyYW5zZm9ybTogc2NhbGUoQGZhY3Rvcik7XG59XG4ucm90YXRlIChAZGVnKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiBcdCByb3RhdGUoQGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IFx0XHQgcm90YXRlKEBkZWcpO1xuICAtby10cmFuc2Zvcm06IFx0XHQgcm90YXRlKEBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVnKTtcbn1cbi50cmFuc2xhdGUzZCAoQHgsIEB5OiAwLCBAejogMCkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogICAgICAgdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gIC1tb3otdHJhbnNmb3JtOiBcdCB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgLW1zLXRyYW5zZm9ybTogXHRcdCB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgLW8tdHJhbnNmb3JtOiBcdFx0IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTs7XG59XG4udHJhbnNsYXRlWSAoQHgpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICAgICAgIHRyYW5zbGF0ZVkoQHgpO1xuICAtbW96LXRyYW5zZm9ybTogXHQgdHJhbnNsYXRlWShAeCk7XG4gIC1tcy10cmFuc2Zvcm06IFx0XHQgdHJhbnNsYXRlWShAeCk7XG4gIC1vLXRyYW5zZm9ybTogXHRcdCB0cmFuc2xhdGVZKEB4KTtcbiAgdHJhbnNmb3JtOiBcdFx0IHRyYW5zbGF0ZVkoQHgpO1xufVxuLnRyYW5zbGF0ZVggKEB4KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgICAgICB0cmFuc2xhdGVYKEB4KTtcbiAgLW1vei10cmFuc2Zvcm06IFx0IHRyYW5zbGF0ZVgoQHgpO1xuICAtbXMtdHJhbnNmb3JtOiBcdFx0IHRyYW5zbGF0ZVgoQHgpO1xuICAtby10cmFuc2Zvcm06IFx0XHQgdHJhbnNsYXRlWChAeCk7XG4gIHRyYW5zZm9ybTogXHRcdCB0cmFuc2xhdGVYKEB4KTtcbn1cbi5za2V3WSAoQGRlZykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogICAgICAgc2tld1koQGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiBcdCBza2V3WShAZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogXHRcdCBza2V3WShAZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiBcdFx0IHNrZXdZKEBkZWcpO1xuICB0cmFuc2Zvcm06IFx0XHQgc2tld1koQGRlZyk7XG59XG4uc2tld1ggKEBkZWcpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICAgICAgIHNrZXdYKEBkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogXHQgc2tld1goQGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IFx0XHQgc2tld1goQGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogXHRcdCBza2V3WChAZGVnKTtcbiAgdHJhbnNmb3JtOiBcdFx0IHNrZXdYKEBkZWcpO1xufVxuLnZlcnRpY2FsLWFsaWduKEBwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgcG9zaXRpb246IEBwb3NpdGlvbjtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vKiBlbmQgbWl4aW4ubGVzcyAqLyIsIi8qICB2YXJpYWJsZXMubGVzcyAgKi9cblxuLy9iYXNlIHNpemVzXG5Ac3BhY2UteHM6IDVweDtcbkBzcGFjZS1zbTogMTBweDtcbkBzcGFjZS1tZDogMTVweDtcbkBzcGFjZS1sZzogMzBweDtcbkBzcGFjZS14bDogNjBweDtcblxuLy9UeXBvZ3JhcGh5XG5AZm9udC1mYW1pbHktbWFpbjogJ1J1YmlrJywgc2Fucy1zZXJpZjtcblxuQGZvbnQtc2l6ZS1iYXNlOiAxNnB4O1xuQGZvbnQtc2l6ZS1oMTogMy4zNzVlbTtcbkBmb250LXNpemUtaDM6IDEuMzc1ZW07XG5AZm9udC1zaXplLXA6IDEuMTI1ZW07XG5AZm9udC1zaXplLXNtYWxsOiAwLjY4OGVtO1xuXG5AbGluZS1oZWlnaHQtYmFzZTogMS4zO1xuQGxpbmUtaGVpZ2h0LW1lZGl1bTogMS41O1xuXG4vL2NvbG9yc1xuQGNvbG9yLW9yYW5nZTogI2Y1OWMzMjtcbkBjb2xvci15ZWxsb3c6ICNmZmVjZDY7XG5AY29sb3ItYmxhY2stbWFpbjogIzM3MzczODtcbkBjb2xvci15ZWxsb3ctbWFpbjogI2ZiYzcyNztcbkBjb2xvci12YW5pbGU6ICNmOWY2ZjM7XG5AY29sb3ItZ3JheS1tYWluOiAjZDJkM2RhO1xuQGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuQGNvbG9yLWJsYWNrOiAjMDAwMDAwO1xuXG4vL2JhY2tncm91bmQgY29sb3JzXG5AY29sb3ItYmcteWVsbG93OiAjZmZlY2Q2O1xuXG5cblxuQGNvbG9yLWxpZ2h0LWdyYXk6ICM4ZTkyOTg7XG5AY29sb3ItZGFyay1ncmF5OiAjNTk1OTY5O1xuQGNvbG9yLXRleHQtZ3JheTogIzcyNzY3ZDtcbkBjb2xvci1zZWMtYmxhY2s6ICMxYzFjMWM7XG5AY29sb3ItYmx1ZTogIzJhYzRlMztcbkBjb2xvci1mYWRlLWJsdWU6ICM4MGRkZmY7XG5AY29sb3ItbGlnaHQtYmx1ZTogIzk2Y2JlNDtcbkBjb2xvci1ncmF5LWJhY2tncm91bmQ6ICNlZWVlZWU7XG5cbkBjb2xvci1tZW51LWxpbmstaW5zaWRlOiBAY29sb3Itd2hpdGU7XG5AY29sb3ItbWVudS1saW5rLWhvbWU6IEBjb2xvci1vcmFuZ2U7XG5AY29sb3ItbWVudS1saW5rOiBAY29sb3ItYmx1ZTtcbkBjb2xvci1zdWJtZW51LWxpbms6ICM0NjQ0NDQ7XG5AY29sb3ItbWVudS1saW5rLWhvdmVyOiBAY29sb3ItYmx1ZTtcbkBtZW51LWxpbmstZm9udC1zaXplOiAxLjNlbTtcblxuQGhlYWRlci1iZy1jb2xvcjogI2ZmZmZmZjtcbkBmb290ZXItYmctY29sb3I6ICMwMDAwMDA7XG5AZm9vdGVyLWxpbmstY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xuQGZvb3Rlci1saW5rLWhvdmVyOiAjZjI0MjQ4O1xuQGZvb3Rlci1saW5rLWZvbnQtc2l6ZTogMWVtO1xuXG4vL0BsaW5rLWNvbG9yOiBAY29sb3ItcmVkLW1haW47XG5AbGluay1ob3ZlcjogQGNvbG9yLWJsdWU7XG5cbkBidXR0b24tdGV4dC1jb2xvcjogIzEzMDQxMTtcbkBidXR0b24tYmctY29sb3I6IEBjb2xvci1ibHVlO1xuQGJ1dHRvbi1ob3Zlci10ZXh0OiMxMzA0MTE7XG5AYnV0dG9uLWhvdmVyLWJnOiAjN2RkOWZhO1xuQGJ1dHRvbi1mb250LXNpemU6IDEuMjUwZW07XG5cbkBwbGFjZWhvbGRlci1jb2xvcjogQGNvbG9yLWxpZ2h0LWdyYXk7XG5AcGxhY2Vob2xkZXItZm9udC1zaXplOiAxZW07XG5cblxuLy8gc2hhZG93c1xuQHRleHQtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuQGJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG5cbi8vIGZvb3RlclxuQGZvb3Rlci1oZWFkaW5nLXNpemU6IDIycHg7XG5cbi8vcGFnZS1jb250ZW50XG5AaDEtZm9udC1zaXplOiBAZm9udC1zaXplLWgxO1xuQGgxLWNvbG9yOiBAY29sb3ItdGV4dC1ncmF5O1xuQGgyLWZvbnQtc2l6ZTogMjhweDtcbkBoMi1jb2xvcjogQGNvbG9yLWdyYXktbWFpbjtcbkBoMy1mb250LXNpemU6IDIycHg7XG5AaDMtY29sb3I6IEBjb2xvci1vcmFuZ2U7XG5AaDQtZm9udC1zaXplOiAyMHB4O1xuQGg0LWNvbG9yOiBAY29sb3ItZ3JheS1tYWluO1xuQGg1LWZvbnQtc2l6ZTogMjBweDtcbkBoNS1jb2xvcjogQGNvbG9yLWJsdWU7XG5AaDYtZm9udC1zaXplOiAxOHB4O1xuQGg2LWNvbG9yOiBAY29sb3ItZ3JheS1tYWluO1xuQGNhcHR1cmUtZm9udC1zaXplOjE3cHg7XG5AY2FwdHVyZS1jb2xvcjogQGNvbG9yLXRleHQtZ3JheTtcbkBxdW90ZS1mb250LXNpemU6IDI4cHg7XG5AcXVvdGUtY29sb3I6IEBjb2xvci1vcmFuZ2U7XG5AY29udGVudC1wLWNvbG9yOiBAY29sb3ItdGV4dC1ncmF5O1xuQGxpLWNvbG9yOiBAY29sb3ItdGV4dC1ncmF5O1xuQGNvbnRlbnQtbGluay1jb2xvcjogQGNvbG9yLW9yYW5nZTtcbkBjb250ZW50LWhvdmVyLWxpbmstY29sb3I6IEBsaW5rLWhvdmVyO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIi8qIGZpbGUgbmFtZSBmb250cy5sZXNzICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgSGVicmV3IFJlZ3VsYXInO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctcmVndWxhci13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1yZWd1bGFyLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LXJlZ3VsYXItd2ViZm9udC5zdmcjb3Blbl9zYW5zX2hlYnJld3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucyBIZWJyZXcgUmVndWxhcic7XG4gIHNyYzogdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1saWdodC13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWxpZ2h0LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWxpZ2h0LXdlYmZvbnQuc3ZnI29wZW5fc2Fuc19oZWJyZXdsaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIEhlYnJldyBSZWd1bGFyJztcbiAgc3JjOiB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWxpZ2h0aXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1saWdodGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1saWdodGl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCdmb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWxpZ2h0aXRhbGljLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc19oZWJyZXdsaWdodF9pdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIEhlYnJldyBSZWd1bGFyJztcbiAgc3JjOiB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWl0YWxpYy13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctaXRhbGljLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWl0YWxpYy13ZWJmb250LnN2ZyNvcGVuX3NhbnNfaGVicmV3aXRhbGljJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucyBIZWJyZXcgUmVndWxhcic7XG4gIHNyYzogdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1ib2xkLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWJvbGQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctYm9sZC13ZWJmb250LnN2ZyNvcGVuX3NhbnNfaGVicmV3Ym9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgSGVicmV3IFJlZ3VsYXInO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctYm9sZGl0YWxpYy13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctYm9sZGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1ib2xkaXRhbGljLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWJvbGRpdGFsaWMtd2ViZm9udC5zdmcjb3Blbl9zYW5zX2hlYnJld2JvbGRfaXRhbGljJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgSGVicmV3IFJlZ3VsYXInO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctZXh0cmFib2xkLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1leHRyYWJvbGQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWV4dHJhYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1leHRyYWJvbGQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctZXh0cmFib2xkLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc19oZWJyZXdleHRyYV9ib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG4vKiBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tKSBvbiBNYXkgNCwgMjAxNCAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgSGVicmV3IFJlZ3VsYXInO1xuICBzcmM6IHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctZXh0cmFib2xkaXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1leHRyYWJvbGRpdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJ2Nzcy9mb250cy9vcGVuX3NhbnNfaGVicmV3L29wZW5zYW5zaGVicmV3LWV4dHJhYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCdjc3MvZm9udHMvb3Blbl9zYW5zX2hlYnJldy9vcGVuc2Fuc2hlYnJldy1leHRyYWJvbGRpdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnY3NzL2ZvbnRzL29wZW5fc2Fuc19oZWJyZXcvb3BlbnNhbnNoZWJyZXctZXh0cmFib2xkaXRhbGljLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc19oZWJyZXdYQmRJdCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6ICAgIHVybCgnZm9udHMvaWNvbW9vbi5lb3Q/bjJ6YnR6Jyk7XG4gIHNyYzogICAgdXJsKCdmb250cy9pY29tb29uLmVvdD9uMnpidHojaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnZm9udHMvaWNvbW9vbi50dGY/bjJ6YnR6JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJ2ZvbnRzL2ljb21vb24ud29mZj9uMnpidHonKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCdmb250cy9pY29tb29uLnN2Zz9uMnpidHojaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1jb21wdXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljb24tY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjtcbn1cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljb24tY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY29uLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwN1wiO1xufVxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cbi5pY29uLWFycm93X3JpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG4uaWNvbi1hcnJvd19sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG5cblxuIiwiLyogPVdvcmRQcmVzcyBDb3JlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuLmFsaWduY2VudGVyLFxuZGl2LmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcbn1cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDI1cHggMCAyMHB4IDMwcHg7XG59XG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjVweCAzMHB4IDIwcHggMDtcbn1cbmEgaW1nLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuYSBpbWcuYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5hIGltZy5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5hIGltZy5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvXG59XG4ud3AtY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1heC13aWR0aDogMTAwJTsgLyogSW1hZ2UgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYSAqL1xuICBwYWRkaW5nOiA1cHggM3B4IDIzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53cC1jYXB0aW9uLXRleHQge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogQGNhcHR1cmUtY29sb3I7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG4ud3AtY2FwdGlvbiBpbWcge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG59XG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG5cblxuIiwiLyogY2xhc3Nlcy5sZXNzICovXG5cbi8qIE1hcmdpbnMgKi9cbi5tYXJnaW4teC14cyB7XG4gIG1hcmdpbi1yaWdodDogQHNwYWNlLXhzO1xuICBtYXJnaW4tbGVmdDogQHNwYWNlLXhzO1xufVxuXG4ubWFyZ2luLXkteHMge1xuICBtYXJnaW4tdG9wOiBAc3BhY2UteHM7XG4gIG1hcmdpbi1ib3R0b206IEBzcGFjZS14cztcbn1cblxuLm1hcmdpbi14LXNtIHtcbiAgbWFyZ2luLXJpZ2h0OiBAc3BhY2Utc207XG4gIG1hcmdpbi1sZWZ0OiBAc3BhY2Utc207XG59XG5cbi5tYXJnaW4teS1zbSB7XG4gIG1hcmdpbi10b3A6IEBzcGFjZS1zbTtcbiAgbWFyZ2luLWJvdHRvbTogQHNwYWNlLXNtO1xufVxuXG4ubWFyZ2luLXgtbWQge1xuICBtYXJnaW4tcmlnaHQ6IEBzcGFjZS1tZDtcbiAgbWFyZ2luLWxlZnQ6IEBzcGFjZS1tZDtcbn1cblxuLm1hcmdpbi15LW1kIHtcbiAgbWFyZ2luLXRvcDogQHNwYWNlLW1kO1xuICBtYXJnaW4tYm90dG9tOiBAc3BhY2UtbWQ7XG59XG5cbi5tYXJnaW4teC1sZyB7XG4gIG1hcmdpbi1yaWdodDogQHNwYWNlLWxnO1xuICBtYXJnaW4tbGVmdDogQHNwYWNlLWxnO1xufVxuXG4ubWFyZ2luLXktbGcge1xuICBtYXJnaW4tdG9wOiBAc3BhY2UtbGc7XG4gIG1hcmdpbi1ib3R0b206IEBzcGFjZS1sZztcbn1cblxuLm1hcmdpbi14LXhsIHtcbiAgbWFyZ2luLXJpZ2h0OiBAc3BhY2UteGw7XG4gIG1hcmdpbi1sZWZ0OiBAc3BhY2UteGw7XG59XG5cbi5tYXJnaW4teS14bCB7XG4gIG1hcmdpbi10b3A6IEBzcGFjZS14bDtcbiAgbWFyZ2luLWJvdHRvbTogQHNwYWNlLXhsO1xufVxuXG4ubWFyZ2luLWFsbC0wIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdG9wLTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYWxsLXhzIHtcbiAgbWFyZ2luOiBAc3BhY2UteHMgIWltcG9ydGFudFxufVxuXG4ubWFyZ2luLXRvcC14cyB7XG4gIG1hcmdpbi10b3A6IEBzcGFjZS14cyAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LXhzIHtcbiAgbWFyZ2luLXJpZ2h0OiBAc3BhY2UteHMgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20teHMge1xuICBtYXJnaW4tYm90dG9tOiBAc3BhY2UteHMgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LXhzIHtcbiAgbWFyZ2luLWxlZnQ6IEBzcGFjZS14cyAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWFsbC1zbSB7XG4gIG1hcmdpbjogQHNwYWNlLXNtICFpbXBvcnRhbnRcbn1cblxuLm1hcmdpbi10b3Atc20ge1xuICBtYXJnaW4tdG9wOiBAc3BhY2Utc20gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC1zbSB7XG4gIG1hcmdpbi1yaWdodDogQHNwYWNlLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLXNtIHtcbiAgbWFyZ2luLWJvdHRvbTogQHNwYWNlLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC1zbSB7XG4gIG1hcmdpbi1sZWZ0OiBAc3BhY2Utc20gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1hbGwtbWQge1xuICBtYXJnaW46IEBzcGFjZS1tZCAhaW1wb3J0YW50XG59XG5cbi5tYXJnaW4tdG9wLW1kIHtcbiAgbWFyZ2luLXRvcDogQHNwYWNlLW1kICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtbWQge1xuICBtYXJnaW4tcmlnaHQ6IEBzcGFjZS1tZCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS1tZCB7XG4gIG1hcmdpbi1ib3R0b206IEBzcGFjZS1tZCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtbWQge1xuICBtYXJnaW4tbGVmdDogQHNwYWNlLW1kICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYWxsLWxnIHtcbiAgbWFyZ2luOiBAc3BhY2UtbGcgIWltcG9ydGFudFxufVxuXG4ubWFyZ2luLXRvcC1sZyB7XG4gIG1hcmdpbi10b3A6IEBzcGFjZS1sZyAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LWxnIHtcbiAgbWFyZ2luLXJpZ2h0OiBAc3BhY2UtbGcgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tbGcge1xuICBtYXJnaW4tYm90dG9tOiBAc3BhY2UtbGcgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LWxnIHtcbiAgbWFyZ2luLWxlZnQ6IEBzcGFjZS1sZyAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWFsbC14bCB7XG4gIG1hcmdpbjogQHNwYWNlLXhsICFpbXBvcnRhbnRcbn1cblxuLm1hcmdpbi10b3AteGwge1xuICBtYXJnaW4tdG9wOiBAc3BhY2UteGwgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC14bCB7XG4gIG1hcmdpbi1yaWdodDogQHNwYWNlLXhsICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLXhsIHtcbiAgbWFyZ2luLWJvdHRvbTogQHNwYWNlLXhsICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC14bCB7XG4gIG1hcmdpbi1sZWZ0OiBAc3BhY2UteGwgIWltcG9ydGFudDtcbn1cblxuLyogUGFkZGluZ3MgKi9cbi5wYWRkaW5nLWFsbC14bCB7XG4gIHBhZGRpbmc6IEBzcGFjZS14bDtcbn1cblxuLnBhZGRpbmcteC14cyB7XG4gIHBhZGRpbmctcmlnaHQ6IEBzcGFjZS14cztcbiAgcGFkZGluZy1sZWZ0OiBAc3BhY2UteHM7XG59XG5cbi5wYWRkaW5nLXkteHMge1xuICBwYWRkaW5nLXRvcDogQHNwYWNlLXhzO1xuICBwYWRkaW5nLWJvdHRvbTogQHNwYWNlLXhzO1xufVxuXG4ucGFkZGluZy14LXNtIHtcbiAgcGFkZGluZy1yaWdodDogQHNwYWNlLXNtO1xuICBwYWRkaW5nLWxlZnQ6IEBzcGFjZS1zbTtcbn1cblxuLnBhZGRpbmcteS1zbSB7XG4gIHBhZGRpbmctdG9wOiBAc3BhY2Utc207XG4gIHBhZGRpbmctYm90dG9tOiBAc3BhY2Utc207XG59XG5cbi5wYWRkaW5nLXgtbWQge1xuICBwYWRkaW5nLXJpZ2h0OiBAc3BhY2UtbWQ7XG4gIHBhZGRpbmctbGVmdDogQHNwYWNlLW1kO1xufVxuXG4ucGFkZGluZy15LW1kIHtcbiAgcGFkZGluZy10b3A6IEBzcGFjZS1tZDtcbiAgcGFkZGluZy1ib3R0b206IEBzcGFjZS1tZDtcbn1cblxuLnBhZGRpbmcteC1sZyB7XG4gIHBhZGRpbmctcmlnaHQ6IEBzcGFjZS1sZztcbiAgcGFkZGluZy1sZWZ0OiBAc3BhY2UtbGc7XG59XG5cbi5wYWRkaW5nLXktbGcge1xuICBwYWRkaW5nLXRvcDogQHNwYWNlLWxnO1xuICBwYWRkaW5nLWJvdHRvbTogQHNwYWNlLWxnO1xufVxuXG4ucGFkZGluZy14LXhsIHtcbiAgcGFkZGluZy1yaWdodDogQHNwYWNlLXhsO1xuICBwYWRkaW5nLWxlZnQ6IEBzcGFjZS14bDtcbn1cblxuLnBhZGRpbmcteS14bCB7XG4gIHBhZGRpbmctdG9wOiBAc3BhY2UteGw7XG4gIHBhZGRpbmctYm90dG9tOiBAc3BhY2UteGw7XG59XG5cbi5ub3BhZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWFsbC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy10b3AtMCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0wIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWFsbC14cyB7XG4gIHBhZGRpbmc6IEBzcGFjZS14cyAhaW1wb3J0YW50XG59XG5cbi5wYWRkaW5nLXRvcC14cyB7XG4gIHBhZGRpbmctdG9wOiBAc3BhY2UteHMgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQteHMge1xuICBwYWRkaW5nLXJpZ2h0OiBAc3BhY2UteHMgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLXhzIHtcbiAgcGFkZGluZy1ib3R0b206IEBzcGFjZS14cyAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LXhzIHtcbiAgcGFkZGluZy1sZWZ0OiBAc3BhY2UteHMgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYWxsLXNtIHtcbiAgcGFkZGluZzogQHNwYWNlLXNtICFpbXBvcnRhbnRcbn1cblxuLnBhZGRpbmctdG9wLXNtIHtcbiAgcGFkZGluZy10b3A6IEBzcGFjZS1zbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC1zbSB7XG4gIHBhZGRpbmctcmlnaHQ6IEBzcGFjZS1zbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tc20ge1xuICBwYWRkaW5nLWJvdHRvbTogQHNwYWNlLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtc20ge1xuICBwYWRkaW5nLWxlZnQ6IEBzcGFjZS1zbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1hbGwtbWQge1xuICBwYWRkaW5nOiBAc3BhY2UtbWQgIWltcG9ydGFudFxufVxuXG4ucGFkZGluZy10b3AtbWQge1xuICBwYWRkaW5nLXRvcDogQHNwYWNlLW1kICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LW1kIHtcbiAgcGFkZGluZy1yaWdodDogQHNwYWNlLW1kICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS1tZCB7XG4gIHBhZGRpbmctYm90dG9tOiBAc3BhY2UtbWQgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC1tZCB7XG4gIHBhZGRpbmctbGVmdDogQHNwYWNlLW1kICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWFsbC1sZyB7XG4gIHBhZGRpbmc6IEBzcGFjZS1sZyAhaW1wb3J0YW50XG59XG5cbi5wYWRkaW5nLXRvcC1sZyB7XG4gIHBhZGRpbmctdG9wOiBAc3BhY2UtbGcgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtbGcge1xuICBwYWRkaW5nLXJpZ2h0OiBAc3BhY2UtbGcgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLWxnIHtcbiAgcGFkZGluZy1ib3R0b206IEBzcGFjZS1sZyAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LWxnIHtcbiAgcGFkZGluZy1sZWZ0OiBAc3BhY2UtbGcgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYWxsLXhsIHtcbiAgcGFkZGluZzogQHNwYWNlLXhsICFpbXBvcnRhbnRcbn1cblxuLnBhZGRpbmctdG9wLXhsIHtcbiAgcGFkZGluZy10b3A6IEBzcGFjZS14bCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC14bCB7XG4gIHBhZGRpbmctcmlnaHQ6IEBzcGFjZS14bCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20teGwge1xuICBwYWRkaW5nLWJvdHRvbTogQHNwYWNlLXhsICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQteGwge1xuICBwYWRkaW5nLWxlZnQ6IEBzcGFjZS14bCAhaW1wb3J0YW50O1xufVxuXG4vL0ZvbnRzXG5cbi5mb250LXNpemUtc21hbGwge1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG59XG5cbi5mb250LXNpemUtYmFzZSB7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xufVxuXG4uZm9udC1zaXplLTE4IHtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXA7XG59XG5cbi5mb250LXNpemUtbWVkaXVtIHtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMztcbiAgfVxufVxuXG4uZm9udC1zaXplLWxhcmdlIHtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWgxO1xufVxuXG4ubGluZS1oZWlnaHQtYmFzZSB7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn1cblxuLmxpbmUtaGVpZ2h0LW1lZGl1bSB7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtbWVkaXVtO1xufVxuXG4vLyBHZW5lcmFsXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG5cbi53aGl0ZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJlZCB7XG4gIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xufVxuXG4udXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLnZlcnRpY2FsLW1pZGRsZSB7XG4gIC52ZXJ0aWNhbC1hbGlnbigpO1xufVxuXG4vLyBUaXRsZXNcbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjM3NWVtO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG4gICYudW5kZXJsaW5lZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogQGNvbG9yLXllbGxvdztcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIHJpZ2h0OiAyMyU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1zdWItdGl0bGUge1xuICBmb250LXNpemU6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIC5wYWRkaW5nLXktbWQ7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgIGZvbnQtc2l6ZTogMi4zZW07XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiA1ZW07XG4gICAgLnBhZGRpbmcteS14bDtcbiAgfVxufVxuXG4uZmxvb3ItdGl0bGUge1xuICBmb250LXNpemU6IDJlbTtcbiAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAyLjk1ZW07XG4gIH1cbn1cblxuLnVuZGVybGluZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci15ZWxsb3c7XG4gICAgYm90dG9tOiAzNHB4O1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNzBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTc4cHg7XG4gICAgfVxuICB9XG59XG5cbi5mbG9vci1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogQGNvbG9yLWJsYWNrLW1haW47XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgfVxufVxuXG4uZmxvb3ItY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS4wNWVtO1xuICBsaW5lLWhlaWdodDogMS41NTtcbiAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xufVxuXG4vL0Zsb29yc1xuLnRvcC1mbG9vciB7XG4gIHBhZGRpbmctdG9wOiAxMDdweDtcbiAgaGVpZ2h0OiAyMTBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBtYXJnaW4tdG9wOiA3OHB4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmctdG9wOiAxOTdweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggOS43cHggcmdiYSgwLCAwLCAwLCAwLjM0KTtcbiAgICBmb250LWZhbWlseTogJ1N1ZXogT25lJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMy42NWVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b25zXG4uYnRuLW1haW4ge1xuICBiYWNrZ3JvdW5kOiBAY29sb3Itb3JhbmdlO1xuICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBAYnV0dG9uLWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMCAzNnB4O1xuICAuYm9yZGVyLXJhZGl1cygycHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLW9yYW5nZTtcbiAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLyogSWNvbiBGb3J3YXJkICovXG4uYnRuLWZvcndhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNWVtO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwIDFweDtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHJvdGF0ZSgxODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIC8vLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG4gICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICB9XG59XG5cbi8qIE92ZXJsaW5lIEZyb20gQ2VudGVyICovXG5cbi5vdmVybGluZS1lZmZlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDk4ZDE7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCByaWdodDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCByaWdodDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbn1cblxuLy8gQmFja2dyb3VuZHNcbi5iZy1ibGFjayB7XG4gIGJhY2tncm91bmQ6IEBjb2xvci1zZWMtYmxhY2s7XG59XG5cbi5iZy1ncmF5IHtcbiAgYmFja2dyb3VuZDogQGNvbG9yLWxpZ2h0LWdyYXk7XG59XG5cbi5iZy1saWdodC1ncmF5IHtcbiAgYmFja2dyb3VuZDogQGNvbG9yLWdyYXktYmFja2dyb3VuZDtcbn1cblxuLmJnLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjZGFmNGZkO1xufVxuXG4uZmxvb3ItcGFkZGluZyB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgcGFkZGluZzogOTBweCAwO1xuICB9XG59XG5cbi52aXMtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLmJnLXllbGxvdyB7XG4gIGJhY2tncm91bmQ6IEBjb2xvci15ZWxsb3c7XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IEBjb2xvci13aGl0ZTtcbn1cblxuLmJnLXllbGxvdy1tYWluIHtcbiAgYmFja2dyb3VuZDogQGNvbG9yLXllbGxvdy1tYWluXG59XG5cbi5iZy12YW5pbGUge1xuICBiYWNrZ3JvdW5kOiBAY29sb3ItdmFuaWxlO1xufVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ibGFjay1tYWluIHtcbiAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xufVxuXG4ub3JhbmdlIHtcbiAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG59XG5cbi5iZy1ncmF5LW1haW4ge1xuICBiYWNrZ3JvdW5kOiBAY29sb3ItZ3JheS1tYWluO1xufVxuXG4ubm8td3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi56LWluZGV4LTEge1xuICB6LWluZGV4OiAxO1xufVxuXG4uei1pbmRleC0yIHtcbiAgei1pbmRleDogMjtcbn1cblxuLy9tb2JpbGUgbmF2XG5cbi5uYXZiYXItb2ZmY2FudmFzLm5hdmJhci1vZmZjYW52YXMtcmlnaHQge1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsZWZ0OiAtMjUwcHggIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci1vZmZjYW52YXMubmF2YmFyLW9mZmNhbnZhcy1yaWdodC5vZmZjYW52YXMtdHJhbnNmb3JtLmluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCkgIWltcG9ydGFudDtcbn1cblxuLm9mZmNhbnZhcy1zdG9wLXNjcm9sbGluZyAubmF2YmFyLXRvZ2dsZXtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCkgIWltcG9ydGFudDtcbn1cblxuXG4vLyNvcGVuX3NvZ29hY2Mge1xuLy9cbi8vICAmLm1pZGRsZWxlZnQge1xuLy8gICAgcmlnaHQ6IDA7XG4vLyAgfVxuLy99XG5cbi8vI29wZW5fc29nb2FjYy5taWRkbGVsZWZ0IHtcbi8vICByaWdodDogMDtcbi8vfVxuXG4iLCIvKiBiYXNlLmxlc3MgKi9cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbjtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogMS4xdnc7XG4gIH1cbiAgQG1lZGlhKG1pbi13aWR0aDogMTQwMHB4KXtcbiAgICBmb250LXNpemU6IDAuOHZ3O1xuICB9XG59XG5pbWd7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuYSB7XG4gIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIC8qIElFIDggKi9cbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAvKiBJRSA1LTcgKi9cbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAvKiBHb29kIGJyb3dzZXJzIDopICovXG4gIG9wYWNpdHk6IDA7XG59XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAcGxhY2Vob2xkZXItY29sb3I7XG4gIGZvbnQtc2l6ZTogQHBsYWNlaG9sZGVyLWZvbnQtc2l6ZTtcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlci1jb2xvcjtcbiAgZm9udC1zaXplOiBAcGxhY2Vob2xkZXItZm9udC1zaXplO1xufVxuXG4vKiBGaXJlZm94IDE5KyAqL1xuOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHBsYWNlaG9sZGVyLWNvbG9yO1xuICBmb250LXNpemU6IEBwbGFjZWhvbGRlci1mb250LXNpemU7XG59XG5cbi8qIEZpcmVmb3ggMTgtICovXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlci1jb2xvcjtcbiAgZm9udC1zaXplOiBAcGxhY2Vob2xkZXItZm9udC1zaXplO1xufVxuXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlci1jb2xvcjtcbiAgZm9udC1zaXplOiBAcGxhY2Vob2xkZXItZm9udC1zaXplO1xufVxuXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHBsYWNlaG9sZGVyLWNvbG9yO1xuICBmb250LXNpemU6IEBwbGFjZWhvbGRlci1mb250LXNpemU7XG59XG5cbiIsIi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbi5pbmZpbml0ZXtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hY3RpdmUgLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hY3RpdmUgLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO31cbiAgNjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxuICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fVxuICA2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZV9zbWFsbCB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO31cbiAgNjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTt9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlX3NtYWxsIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTt9XG4gIDYwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO31cbn1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbn1cbi8vIGVuZCBCb3VuY2VcblxuLy8gZ3Jvd1xuXG4uYWN0aXZlIC5ncm93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZ3JvdztcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3c7XG5cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBncm93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZ3JvdyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuLmFjdGl2ZSAuZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4uYWN0aXZlIC5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmFjdGl2ZSAuc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5hY3RpdmUgLmZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmFjdGl2ZSAuZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG5cbi5odnItaWNvbi1mb3J3YXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMi4yZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbn1cbi5odnItaWNvbi1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFlbTtcbiAgcGFkZGluZzogMCAxcHg7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuLmh2ci1pY29uLWZvcndhcmQ6aG92ZXI6YmVmb3JlLFxuLmh2ci1pY29uLWZvcndhcmQ6Zm9jdXM6YmVmb3JlLFxuLmh2ci1pY29uLWZvcndhcmQ6YWN0aXZlOmJlZm9yZSB7XG4gIC50cmFuc2xhdGVYICg0cHgpO1xuXG59XG4uaHZyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuLmh2ci1ncm93OmhvdmVyLFxuLmh2ci1ncm93OmZvY3VzLFxuLmh2ci1ncm93OmFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbltjbGFzc149XCJodnItXCJdIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpe1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgfVxufVxuLy8gbGVhcm4gbW9yZSBib3JkZXIgaG92ZXJcbi8vLmJ0bi00YzpiZWZvcmUge1xuLy8gIGxlZnQ6IDcwJTtcbi8vICBvcGFjaXR5OiAwO1xuLy8gIHRvcDogMDtcbi8vfVxuLy8uYnRuLTQ6YmVmb3JlIHtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgaGVpZ2h0OiAxMDAlO1xuLy8gIGZvbnQtc2l6ZTogMTI1JTtcbi8vICBsaW5lLWhlaWdodDogMy41O1xuLy8gIGNvbG9yOiAjZmZmO1xuLy8gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4vLyAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcztcbi8vICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbi8vfVxuLy8uYnRuOmFmdGVyIHtcbi8vICBjb250ZW50OiAnJztcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgei1pbmRleDogLTE7XG4vLyAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcbi8vICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzO1xuLy8gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuLy99IiwiLyogYW5pbWF0ZS5sZXNzICovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1kZWxheTogMnM7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuLmFuaW1hdGVkLmJvdW5jZUluLFxuLmFuaW1hdGVkLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZV9zbWFsbCB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgNDAlLCA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlX3NtYWxsIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cbi5ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbi5zaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLCAxMS4xJSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgY2xvdWRzQW5pbWF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1MDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1MDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1MDBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmNsb3Vkc0FuaW1hdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICBhbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZTtcbiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICAtby1hbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZTtcbn1cbkBrZXlmcmFtZXMgY2xvdWRzQW5pbWF0ZS1sZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmNsb3Vkc0FuaW1hdGUtbGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlLWxlZnQ7XG4gIC1tb3otYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgLW8tYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbn1cbkBrZXlmcmFtZXMgY2Fyc0FuaW1hdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG59XG4uY2Fyc0FuaW1hdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xuICAtbXMtYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZTtcbiAgLW8tYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGNhcnNBbmltYXRlLXJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG59XG4uY2Fyc0FuaW1hdGUtcmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZS1yaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xuICAtbXMtYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZS1yaWdodDtcbiAgLW8tYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xufVxuLyogZW5kIGFuaW1hdGUubGVzcyAqLyIsIi8qIHNvY2lhbC1tZW51Lmxlc3MgKi9cbi5zb2NpYWxfbWVudXtcblxuICB1bHtcbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCl7XG4gICAgICAuZmxleC1kaXNwbGF5KCk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci1vcmFuZ2U7XG4gICAgLmJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCl7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIH1cbiAgICBAbWVkaWEobWluLXdpZHRoOiAxNDAwcHgpe1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICB9XG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzO1xuICAgICAgdHJhbnNpdGlvbjogMC41cztcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250QXdlc29tZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1c3tcbiAgICAgIGJhY2tncm91bmQ6IEBjb2xvci1vcmFuZ2U7XG4gICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgaXtcbiAgICAgICAgY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4iLCIvKiBlbnRyeS1jb250ZW50Lmxlc3MgKi9cblxuLmVudHJ5LWNvbnRlbnQge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDE5cHg7XG4gICAgY29sb3I6IEBoMS1jb2xvcjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogQGgxLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZy1ib3R0b206IDE3cHg7XG4gICAgY29sb3I6IEBoMi1jb2xvcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogQGgyLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctYm90dG9tOiAxOXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IEBoMy1jb2xvcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogQGgzLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctYm90dG9tOiAxOXB4O1xuICAgIGNvbG9yOiBAaDQtY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogQGg0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogQGg1LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctYm90dG9tOiAxOXB4O1xuICAgIGNvbG9yOiBAaDUtY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiBAaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZy1ib3R0b206IDE5cHg7XG4gICAgY29sb3I6IEBoNi1jb2xvcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIHBhZGRpbmctYm90dG9tOiAyM3B4O1xuICAgIGNvbG9yOiBAY29udGVudC1wLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IEBjb250ZW50LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQGNvbnRlbnQtaG92ZXItbGluay1jb2xvcjtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpe1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiBAbGktY29sb3I7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICBmb250LWZhbWlseTogZm9udEF3ZXNvbWU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q5MmU0NztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBvbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCl7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1jb3VudGVyO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiBAbGktY29sb3I7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKHN0ZXAtY291bnRlcik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgY29sb3I6IEBjb2xvci1ibHVlO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcuJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6IEBjb2xvci1ibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLWdyYXktYmFja2dyb3VuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBAcXVvdGUtZm9udC1zaXplO1xuICAgICAgY29sb3I6IEBxdW90ZS1jb2xvcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgfVxufVxuXG4uZW50cnktZmxvb3ItMSB7XG4gIGhlaWdodDogMzE5cHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbn0iLCIvKiBjb250YWN0Lmxlc3MgKi9cblxuLmNvbnRhY3QtZmxvb3ItMSB7XG4gIC8qaGVpZ2h0OiAzMTJweDtcbiAgcGFkZGluZy10b3A6IDE1N3B4OyovXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5jb250YWN0LWZsb29yLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xuICAucGFkZGluZy1ib3R0b20tbGc7XG59XG5cbi5jb250YWN0LWJveGVzIHtcbiAgLmNvbnRhY3QtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItdmFuaWxlO1xuICB9XG59XG5cbi5jb250YWN0LWJveC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS40NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogQGNvbG9yLWJsYWNrLW1haW47XG59XG5cbi5jb250YWN0LWJveCB7XG4gIC8vaGVpZ2h0OiAyMDNweDtcbiAgaGVpZ2h0OiAyMzJweDtcbiAgLm1hcmdpbi1ib3R0b20tbGc7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAubWFyZ2luLWJvdHRvbS14bDtcbiAgfVxuICAuc29jaWFsX21lbnUge1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItdGV4dC1ncmF5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC1pY29uIHtcbiAgd2lkdGg6IDgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY29udGFjdC10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IEBzcGFjZS1zbTtcbiAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xuICBmb250LXNpemU6IDEuMDVlbTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgJi5waG9uZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtZm9ybS1tYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBsYWJlbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgfVxuICAuYnRuIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiA0LjRlbTtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci15ZWxsb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgQHNwYWNlLW1kO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgcGFkZGluZzogQHNwYWNlLW1kO1xuICB9XG4gIC53cGNmNy1tYWlsLXNlbnQtb2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgYm90dG9tOiAtMTNweDtcbiAgICByaWdodDogMDtcbiAgfVxuICAud3BjZjctdmFsaWRhdGlvbi1lcnJvcnMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBjb2xvci1vcmFuZ2U7XG4gICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICBib3R0b206IDMycHg7XG4gICAgfVxuICB9XG59XG4uY29udGFjdC11cy1sZWZ0IHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbn1cblxuIiwiLyogZmlsZSBuYW1lIGNvbnRhY3QtZm9ybS5sZXNzICovXG5cbi5jb250YWN0LWZvcm0tZm9vdGVyIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgfVxuICBpbnB1dCB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGNvbG9yLXdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIHdpZHRoOiAxNzBweDtcbiAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgIC5ib3JkZXItcmFkaXVzKDJweCk7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG4gIC53cGNmNy1tYWlsLXNlbnQtb2sge1xuICAgIGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBAY29sb3ItYmx1ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIGNvbG9yOiBAY29sb3Itb3JhbmdlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXRvcDogM3B4O1xufVxuXG4ud3BjZjctdmFsaWRhdGlvbi1lcnJvcnMge1xuICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBjb2xvci1vcmFuZ2UgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbn1cblxubGFiZWwge1xuICBmb250LXNpemU6IDEuMDVlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuXG5cblxuXG4iLCIvKiBmaWxlIG5hbWUgY29udGFjdC1tYXAubGVzcyAqL1xuXG4ubWFwLWNvbnRhaW5lcntcbiAgaGVpZ2h0OiAzMDJweDtcbn0iLCIvKiBmaWxlIG5hbWUgdGhhbmsteW91Lmxlc3MgKi9cblxuLnRoYW5rcy1mbG9vci0xIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCl7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbiAgLnRoYW5rcy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWFnZXMvdGhhbmtzLWJnLmpwZ1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAgIC5jYWxjKGhlaWdodCwgJzEwMHZoIC0gMjAwcHgnKTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4taGVpZ2h0OiA4MDBweCkge1xuICAgICAgLmNhbGMoaGVpZ2h0LCAnMTAwdmggLSAyNTdweCcpO1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIH1cbiAgfVxuICAuZmxvb3Itc3VidGl0bGV7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuICB9XG4gIC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4O1xuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLyogZmlsZSBuYW1lIGZyb250cGFnZS5sZXNzICovXG5cbi5ob21lLWZsb29yLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5ieC1jb250cm9scy5ieC1oYXMtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgICB0b3A6IDQwJTtcbiAgICAuYngtbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA0N3B4O1xuICAgICAgfVxuICAgIH1cbiAgICAuYngtcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDQ3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlLXN1Yi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDNlbTtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtZmxvb3ItMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogQGNvbG9yLXdoaXRlO1xuICBoZWlnaHQ6IDg0cHg7XG4gIHotaW5kZXg6IDEwMTtcbiAgLnRodW1ibmFpbC13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDg0cHg7XG4gICAgaW1nIHtcbiAgICAgIC52ZXJ0aWNhbC1hbGlnbigpO1xuICAgICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtZmxvb3ItMyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxuICAuZmxvb3Itc3VidGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuXG4gIH1cbn1cblxuLmhvbWUtZmxvb3ItNyB7XG4gIGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL3JlY2NvbWVuZGF0aW9ucy5qcGcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgLnVuZGVybGluZWQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTcycHg7XG4gICAgfVxuICB9XG59XG5cbi50ZXN0aW1vbmlhbC1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlyZWN0aW9uOiBydGw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgZm9udC1mYW1pbHk6ICdmb250QXdlc29tZSc7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTBkXCI7XG4gICAgZm9udC1mYW1pbHk6ICdmb250QXdlc29tZSc7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTMwcHg7XG4gICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFsLW5hbWUge1xuICBjb2xvcjogQGNvbG9yLWJsYWNrLW1haW47XG4gIGZvbnQtc2l6ZTogMS41NWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ZXN0aW1vbmlhbC1wb3NpdGlvbiB7XG4gIGRpcmVjdGlvbjogcnRsO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnBhZGRpbmctdG9wLXNtO1xuICB9XG59XG5cbi5mbG9vci1oZWlnaHQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBoZWlnaHQ6IDc1MnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uc2VydmljZS1ib3gge1xuICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgaW1nIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuICAuc2VydmljZS10aXRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAvL2hlaWdodDogNDBweDtcbiAgICAgIGhlaWdodDogMy45cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgLy9oZWlnaHQ6IDQ0cHg7XG4gICAgfVxuICB9XG4gIC5zZXJ2aWNlLWRlc2Mge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICBjb2xvcjogQGNvbG9yLXRleHQtZ3JheTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB3aWR0aDogNzAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBoZWlnaHQ6IDc3cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDc5cHg7XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cbiAgLnNlcnZpY2UtbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuMDVlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLy9tYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY2xpZW50LXN0b3J5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLmNsaWVudC1zdG9yeS1iaWcge1xuICBoZWlnaHQ6IDYzNHB4O1xufVxuXG4uY2xpZW50LXN0b3J5LWZyb250IHtcbiAgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4uY2xpZW50LW5hbWUge1xuICBjb2xvcjogQGNvbG9yLWJsdWU7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2xpZW50cy1sb2dvLXdyYXBwZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgfVxufVxuXG4uc2xpZGVyLWJsdWUge1xuICBjb2xvcjogQGNvbG9yLXdoaXRlO1xufVxuXG4ub3VyLXNlcnZpY2VzLXBpY29uZSB7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5vdXItc2VydmljZXMtcGljdHdvIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmhlYWRlci1sZWZ0IHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAubWVudXMtdGVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4jbWFpbnNfc2xpZGVyIHtcbiAgLnBhZ2UtdGl0bGUge1xuICAgICYudW5kZXJsaW5lZC1zbGlkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAnU3VleiBPbmUnLCBzZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjY1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgY29udGVudDogXCInJ1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTAuN2VtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBjb250ZW50OiBcIicnXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMS40NWVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgcmlnaHQ6IDIuNWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlLXN1Yi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjk1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogM2VtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZlY2Q2O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyNyU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG59XG5cbi5ob21lLWZsb29yLTEge1xuICAuYXJyb3ctZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBib3R0b206IDUwcHg7XG4gICAgfVxuICAgIGkge1xuICAgICAgY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICB3aWR0aDogM2VtO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZsb29yLWhlaWdodCB7XG4gIC5vdXItc2VydmljZXMtcGljb25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuICAub3VyLXNlcnZpY2VzLXBpY3R3byB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLyogc2VydmljZXMubGVzcyAqL1xuXG4uc2VydmljZXMtZmxvb3ItMiB7XG4gIC5ieC1wYWdlci1pdGVtIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjMsIDY3LCA3NCwgMC41KTtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2MywgNjcsIDc0LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1haW4tc2VydmljZS1ib3gge1xuICAuYm94LXNoYWRvdyhAYm94LXNoYWRvdyk7XG4gIC5tYXJnaW4tYm90dG9tLXhsO1xuICBwYWRkaW5nOiAyMHB4IDEzcHggMzBweDtcbiAgYmFja2dyb3VuZDogQGNvbG9yLXZhbmlsZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgcGFkZGluZzogNTBweCAwIDMwcHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIGltZyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIH1cbiAgfVxuICAuc2VydmljZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBjb2xvcjogQGNvbG9yLWJsYWNrLW1haW47XG4gICAgLmJvbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIC8vbWluLWhlaWdodDogMTIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgfVxuICAuc2VydmljZS1kZXNjIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiBAY29sb3ItYmxhY2stbWFpbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xuICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG4gIH1cbiAgLmZvci1kZXRhaWxzIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBjb2xvcjogQGNvbG9yLWJsYWNrLW1haW47XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIEBjb2xvci1vcmFuZ2U7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA5cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgIC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItYmxhY2stbWFpbjtcbiAgICB9XG4gICAgLmZvci1kZXRhaWxzIHtcbiAgICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLXNlcnZpY2UtZmxvb3ItMSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbn1cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMge1xuICAubWFpbi1zZXJ2aWNlcyB7XG4gICAgbWFyZ2luLXRvcDogOTBweDtcbiAgfVxufVxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1zZXJ2aWNlcyB7XG4gIC5zZXJ2aWNlLWJveCB7XG4gICAgLnNlcnZpY2UtZGVzYyB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4iLCIvKiBieC1zbGlkZXIubGVzcyAqL1xuLmJ4LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYngtY29udHJvbHMuYngtaGFzLWNvbnRyb2xzLWRpcmVjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB6LWluZGV4OiAxMDAwO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYngtcHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgaXtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcblxuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgaXtcbiAgICAgICAgY29sb3I6IEBjb2xvci1ibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYngtbmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGl7XG4gICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgICY6aG92ZXJ7XG4gICAgICBpe1xuICAgICAgICBjb2xvcjogQGNvbG9yLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uYngtcGFnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMzVweDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpe1xuICAgIG1hcmdpbjogMzVweCAwO1xuICB9XG4gIGF7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIG91dGxpbmU6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICYuYWN0aXZle1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICB9XG4gIH1cbn1cbi5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYngtd3JhcHBlciB7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuXG5cbi8qIGVuZCBieC1zbGlkZXIubGVzcyAqLyIsIi8qIGhvbWUtc2xpZGVyLmxlc3MgKi9cblxuLmhvbWUtc2xpZGUge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHBhZGRpbmc6IDEzLjV2aCAwO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDkuNXZoIDA7XG4gICAgaGVpZ2h0OiA5ODBweDtcbiAgICBtYXgtaGVpZ2h0OiA5ODBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cbiAgfVxuICAudGV4dC13cmFwcGVyIHtcblxuICB9XG4gIC5idG4tbWFpbiB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cblxuLmVpdGFuIHtcbiAgZm9udC1zaXplOiAxMDByZW07XG59IiwiLyogZmlsZSBuYW1lIHNpbmdsZS1zZXJ2aWNlLmxlc3MgKi9cbi5zaW5nbGUtc2VydmljZS1mbG9vci0yIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmZsb29yLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4zZW07XG4gICAgfVxuICB9XG4gIC5mbG9vci1pbWcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi5mbG9vci1lbnRyeS1jb250ZW50IHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgLmxpbmUtaGVpZ2h0LW1lZGl1bTtcbiAgICAgIGNvbG9yOiBAY29sb3ItYmxhY2stbWFpbjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgZm9udC1zaXplOiAxLjA1ZW07XG4gICAgICAgIHJpZ2h0OiA4MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogOCU7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIC5ib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci1vcmFuZ2U7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbGVmdDogLTcwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29udGFjdCBGb3JtXG5cbi5mb3JtLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIC53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogNCU7XG4gICAgfVxuICB9XG4gIC5ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gICAgJi5ncm91cC1zdWJtaXQge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICB9XG4gICAgJi5ncm91cC1tYXJnaW4ge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaW5wdXQge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cbiAgfVxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgbWFyZ2luLXRvcDogMjNweDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIH1cbiAgfVxuICAud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgU2VydmljZXNcbi5zaW5nbGUtc2VydmljZS1mbG9vci01IHtcbiAgLmJ4LWNvbnRyb2xzLmJ4LWhhcy1jb250cm9scy1kaXJlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDM1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgLmJ4LXByZXYsXG4gICAgLmJ4LW5leHQge1xuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItZ3JheS1tYWluO1xuICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogQGJ1dHRvbi1ob3Zlci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udG8tY2xpZW50LXRleHQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZm9udC1zaXplLW1lZGl1bTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmZvbnQtc2l6ZS1iYXNlO1xuICB9XG59XG5cbi5zZXJ2aWNlc19zbGlkZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxuICAubWFpbi1zZXJ2aWNlLWJveCB7XG4gICAgLnNlcnZpY2UtdGl0bGUge1xuICAgICAgLy9kaXJlY3Rpb246IHJ0bDtcbiAgICB9XG4gIH1cbn1cblxuLnNpbmdsZS1zZXJ2aWNlLWZsb29yLTUge1xuICAuYngtcGFnZXItaXRlbSB7XG4gICAgYSB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW9yYW5nZTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2VydmljZXNfc2xpZGVyIHtcbiAgLnNlcnZpY2UtYm94IHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLXNlcnZpY2Uge1xuICAuc2VydmljZXNfc2xpZGVyIHtcbiAgICAuc2VydmljZS1ib3gge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgfVxuICAgICAgLnNlcnZpY2UtZGVzYyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogZmlsZSBuYW1lIHNpbmdsZS1jbGllbnQubGVzcyAqL1xuLmNvbC1tZC0yLWN1c3RvbSB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgd2lkdGg6IDUwJTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxufVxuXG4uc2luZ2xlLWNsaWVudC1mbG9vci0xIHtcbiAgcGFkZGluZy10b3A6IDExN3B4O1xuICBoZWlnaHQ6IDMxMnB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMTU3cHg7XG4gIH1cbiAgLnRodW1ibmFpbC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMjFweDtcbiAgICBoZWlnaHQ6IDcxcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDI2cHg7XG4gICAgfVxuICB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLWNsaWVudC1mbG9vci0yIHtcbiAgYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvc3VjY2Vzcy1iZy5qcGcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZmxvb3ItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzLjNlbTtcbiAgICB9XG4gIH1cbiAgLmZsb29yLWltZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbiAgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg2MywgNjcsIDc0LCAwLjUpO1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCA2NywgNzQsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3RhdHVzLWRldGFpbHMge1xuICAucGFkZGluZy10b3AtbWQ7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAucGFkZGluZy10b3AteGw7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLnNpbmdsZS1jbGllbnQtZmxvb3ItMyB7XG4gIC5mbG9vci1lbnRyeS1jb250ZW50IHtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBzcGFuLmljb24ge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAuYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAtNjBweDtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICByaWdodDogLTcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jbGllbnQtaW5mby1ib3gge1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGltZyB7XG4gICAgd2lkdGg6IDY1cHg7XG4gIH1cbn1cblxuLmNsaWVudC1pbmZvLWJveC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGRpcmVjdGlvbjogcnRsO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbmEuY2xpZW50LWluZm8tYm94LXRleHQge1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgQGNvbG9yLW9yYW5nZTtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICB9XG59XG5cbi5jbGllbnQtaW5mby1ib3gtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGNvbG9yOiBAY29sb3ItdGV4dC1ncmF5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4ubnVtYmVycy13cmFwcGVyIHtcbiAgJiA+IGRpdiB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAubnVtYmVycy1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItYmx1ZTtcbiAgICAgICAgY29sb3I6ICNkY2Y0ZmM7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIC5udW1iZXJzLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNiYWViZmQ7XG4gICAgICAgIGNvbG9yOiAjODBkZGZmO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAubnVtYmVycy1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZGNmNGZjO1xuICAgICAgICBjb2xvcjogIzgwZGRmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm51bS13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAzZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIGZvbnQtc2l6ZTogNGVtO1xuICB9XG4gIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNzAlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjgxcHgpIHtcbiAgICAgIGxlZnQ6IDY1JTtcbiAgICB9XG4gIH1cbn1cblxuLm51bWJlcnMtYm94IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBoZWlnaHQ6IDE1MnB4O1xufVxuXG4ubnVtLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLm51bS1zeW1ib2wsXG4ubnVtLXBsdXMge1xuICBsZXR0ZXItc3BhY2luZzogLTExcHg7XG59XG5cbi5zaW5nbGUtY2xpZW50LWZsb29yLTYge1xuICAudGVzdGltb25pYWwtY29udGVudCB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICB9XG4gIH1cbiAgLmJ4LWNvbnRyb2xzLmJ4LWhhcy1wYWdlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIENsaWVudHNcbi5zaW5nbGUtY2xpZW50LWZsb29yLTcge1xuICAuYngtY29udHJvbHMuYngtaGFzLWNvbnRyb2xzLWRpcmVjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIG1hcmdpbjogMTVweCBhdXRvIDM1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgd2lkdGg6IDExJTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgd2lkdGg6IDglO1xuICAgIH1cbiAgICAuYngtcHJldixcbiAgICAuYngtbmV4dCB7XG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci1ncmF5LW1haW47XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBAYnV0dG9uLWhvdmVyLWJnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jbGllbnRzX3NsaWRlciB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gIC5tYWluLWNsaWVudC1ib3gge1xuICAgIC5jbGllbnQtdGl0bGUge1xuICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuICB9XG59IiwiLyogYWJvdXQubGVzcyAqL1xuLmFib3V0LWZsb29yLTIge1xuICAuZmxvb3Itc3VidGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG59XG4uYWJvdXQtZmxvb3ItM3tcbiAgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgIGF7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCA2NywgNzQsIDAuNSk7XG4gICAgICAmLmFjdGl2ZXtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2MywgNjcsIDc0LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5hYm91dC1mbG9vci00IHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICB9XG4gIC5ieC1wYWdlci1pdGVtIHtcbiAgICBhe1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg2MywgNjcsIDc0LCAwLjUpO1xuICAgICAgJi5hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjMsIDY3LCA3NCwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucmVhc29uLWRlc2Mge1xuICBjb2xvcjogQGNvbG9yLWxpZ2h0LWdyYXk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtaW4taGVpZ2h0OiA5MHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpe1xuICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIH1cbn1cbi5yZWFzb24tYm94IHtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4ucGVvcGxlLWJveCB7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLnBlb3BsZS1uYW1lLFxuLnBlb3BsZS1wb3NpdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG5cbi5wZW9wbGUtaW1nLFxuLnBlb3BsZS1vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5wZW9wbGUtaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGVvcGxlLW92ZXJsYXkge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLnBlb3BsZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICB9XG59XG5cbi5wZXJzb24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLnBlb3BsZS1pbWcsXG4gIC5wZW9wbGUtb3ZlcmxheSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5wZW9wbGUtaW1nIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucGVvcGxlLW92ZXJsYXkge1xuICAgIHotaW5kZXg6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMiwgMik7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMiwgMik7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgyLCAyKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMiwgMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDIsIDIpO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAtbXMtZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIC1raHRtbC1vcGFjaXR5OiAwO1xuICAgIC1tb3otb3BhY2l0eTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5wZW9wbGUtb3ZlcmxheSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgICAgLXdla2JpdC1vcGFjaXR5OiAxO1xuICAgICAgLW1vei1vcGFjaXR5OiAxO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG4gICAgLm92ZXJsaW5lLWVmZmVjdCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmFib3V0LXBpY29uZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi5yZWFzb25zLXNsaWRlciB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gIH1cbn1cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtYWJvdXQge1xuICAudG9wLWZsb29yIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICB9XG59XG5cbiIsIi8qIGNsaWVudHMuIGxlc3MgKi9cblxuLmNsaWVudC1ib3gge1xuICBoZWlnaHQ6IDE4NXB4O1xuICBiYWNrZ3JvdW5kOiBAY29sb3ItZ3JheS1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCl7XG4gICAgaGVpZ2h0OiAxODVweDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgaGVpZ2h0OiAyODVweDtcbiAgfVxufVxuXG4uY2xpZW50LWltZyxcbi5jbGllbnQtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4uY2xpZW50LWltZy13cmFwcGVyIHtcbiAgLnZlcnRpY2FsLWFsaWduKCk7XG59XG5cbi5jbGllbnQtb3ZlcmxheSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAudG8tY2xpZW50LXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIH1cbn1cblxuLmNsaWVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAuY2xpZW50LWltZyxcbiAgLmNsaWVudC1vdmVybGF5IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmNsaWVudC1pbWcge1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jbGllbnQtb3ZlcmxheSB7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMCwgMCk7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIC1tcy1maWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgLWtodG1sLW9wYWNpdHk6IDA7XG4gICAgLW1vei1vcGFjaXR5OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLW9yYW5nZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IDE4NXB4O1xuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAgIGhlaWdodDogMTg1cHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgIGhlaWdodDogMjg1cHg7XG4gICAgfVxuXG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpe1xuICAgICAgLmNsaWVudC1vdmVybGF5IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgICAgIC13ZWtiaXQtb3BhY2l0eTogMTtcbiAgICAgICAgLW1vei1vcGFjaXR5OiAxO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICB9XG4gICAgICAub3ZlcmxpbmUtZWZmZWN0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAvKiBVbmRlcmxpbmUgRnJvbSBDZW50ZXIgKi9cbiAgLnVuZGVybGluZS1mcm9tLWNlbnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbiAgLnVuZGVybGluZS1mcm9tLWNlbnRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICAudW5kZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZSxcbiAgLnVuZGVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsXG4gIC51bmRlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuIiwiLyogNDA0Lmxlc3MgKi9cblxuLmVycm9yLXNlY3Rpb24tMXtcbiAgaGVpZ2h0OiAzMjFweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvNDA0LmpwZycpO1xuICBwYWRkaW5nLXRvcDogMTI3cHg7XG5cbn1cbi5lcnJvci1zZWN0aW9uLTJ7XG4gIC5mbG9vci1zdWJ0aXRsZXtcbiAgICBjb2xvcjogQGNvbG9yLWJsYWNrLW1haW47XG4gIH1cbn1cblxuLyogZW5kIDQwNC5sZXNzICovIiwiLyogcHJpbWFyeV9uYXYubGVzcyAqL1xuXG4ucHJpbWFyeV9tZW51e1xuICB1bHtcbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCl7XG4gICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIH1cbiAgICBsaXtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjVlbSAwO1xuICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5uYXYge1xuXG4gICYgPiBsaSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci1zdWJtZW51LWxpbms7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJiA+IGEge1xuICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IEBtZW51LWxpbmstZm9udC1zaXplO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2QyZDNkYTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5jdXJyZW50LW1lbnUtaXRlbXtcbiAgICAgIGF7XG4gICAgICAgIGNvbG9yOiAjZDJkM2RhO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3ViLW1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMC43ZW0gMS43ZW07XG4gICAgICBib3JkZXI6IDAgc29saWQgQGNvbG9yLWxpZ2h0LWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICB0b3A6IDU0cHg7XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMDtcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2QyZDNkYTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZDJkM2RhO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmID4gbGkge1xuICAgICYubWVudS1pdGVtLXR5cGUtY3VzdG9tIHtcbiAgICAgICYgPiBhIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZDJkM2RhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNtZW51LXByaW1hcnlfbWVudXtcbiAgJiA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4ucHJpbWFyeV9tZW51IHtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG51bC5zdWItbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG4jcHJpbWFyeV9tZW51IHtcbiAgdWwjbWVudS1wcmltYXJ5X21lbnUge1xuICAgIGxpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uc2Nyb2xsQWN0aXZlIHtcbiAgbGkge1xuICAgICY6aG92ZXIge1xuICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1lbnUtaXRlbS10eXBlLWN1c3RvbSB7XG4gICAgJiA+IGEge1xuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogQGNvbG9yLW1lbnUtbGluaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5ob21lIHtcbiAgLm5hdiB7XG4gICAgJiA+IGxpIHtcblxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgJiA+IGEge1xuICAgICAgICBjb2xvcjogQGNvbG9yLW1lbnUtbGluay1ob21lO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiBAbWVudS1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiAjZDJkM2RhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICNkMmQzZGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBlYXN5cGllY2hhcnQgICovXG5cbi50b3RhbC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cbn1cblxuLmRpYWdyYW0td3JhcHBlci1maXJzdCxcbi5kaWFncmFtLXdyYXBwZXItc2VjIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDIyMHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxufVxuXG4uZGlhZ3JhbS13cmFwcGVyLWZpcnN0IHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIH1cbiAgLmNoYXJ0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiAtODBweDtcbiAgICB9XG4gICAgY2FudmFzIHtcbiAgICAgIC8vd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAvL2hlaWdodDogMTYwcHggIWltcG9ydGFudDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvdGFsLXNtYWxsLFxuICAgIC5jaGFydC1udW1iZXIge1xuICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgfVxuICAgIC50b3RhbC1zbWFsbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDdweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICB0b3A6IDY3cHg7XG4gICAgICAgIHJpZ2h0OiAxNzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNoYXJ0LW51bWJlciB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOTRweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjdweDtcbiAgICAgICAgcmlnaHQ6IDU0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kaWFncmFtLXdyYXBwZXItc2VjIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2OHB4KXtcbiAgICBoZWlnaHQ6IDI2MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIH1cbiAgLmNoYXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY2FudmFzIHtcbiAgICAgIC8vd2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAvL2hlaWdodDogMjQwcHggIWltcG9ydGFudDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAudG90YWwtc21hbGwsXG4gICAgLmNoYXJ0LW51bWJlciB7XG4gICAgICBjb2xvcjogQGNvbG9yLWJsdWU7XG4gICAgfVxuICAgIC50b3RhbC1zbWFsbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIHRvcDogMTA2cHg7XG4gICAgICAgIGxlZnQ6IDI2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuY2hhcnQtbnVtYmVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiA2OHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5MnB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA5MHB4O1xuICAgICAgICBsZWZ0OiA0NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIGZpbGUgbmFtZSBoZWFkZXIubGVzcyAqL1xuXG5oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGhlaWdodDogOTNweDtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3Itd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDIycHg7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIGhlaWdodDogNzhweDtcbiAgYmFja2dyb3VuZDogQGNvbG9yLXdoaXRlO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIC5zb2NpYWxfbWVudSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubWVudXMtd3JhcHBlciB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLmxvZ28ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcbiAgLy9iYWNrZ3JvdW5kOiB1cmwoJ2ltYWdlcy9sb2dvLWFza2VkaW5pYS1lbi5wbmcnKSBuby1yZXBlYXQ7XG4gIC8vYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBtYXgtd2lkdGg6IDIyMHB4O1xuICB3aWR0aDogMjIwcHg7XG4gIGhlaWdodDogNDZweDtcbiAgbWF4LWhlaWdodDogNTVweDtcbiAgdG9wOiAxMnB4O1xuICByaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgdG9wOiAwLjFlbTtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgbWF4LWhlaWdodDogNTVweDtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4ub24taW1hZ2UtdG9wLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgei1pbmRleDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgZGlzcGxheTpub25lO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbiNtYWluLWhlYWRlciB7XG4gICNtZW51LXNvY2lhbF9tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itb3JhbmdlICFpbXBvcnRhbnQ7XG59XG5cbi5jb2wtbWQtcHVzaC0wIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59IiwiLyogZml4ZWRfaGVhZGVyLmxlc3MgKi9cblxuI3NlY3Rpb25fZml4ZWRfcHJpbWFyeV9tZW51IHtcbiAgbWluLWhlaWdodDogOTNweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGNvbG9yLWxpZ2h0LWdyYXk7XG4gIC50cmFuc2xhdGVZICgtMTAwcHgpO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgLmJveC1zaGFkb3cobm9uZSk7XG4gIGhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIC5uYXYge1xuICAgICAgJiA+IGxpIHtcbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubWVudS1pdGVtLXR5cGUtY3VzdG9tIHtcbiAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxvZ28ge1xuICAgIC8vYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvbG9nby1hc2tlZGluaWEtZW4ucG5nJykgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogNjlweDtcbiAgICB0b3A6IDA7XG4gICAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbn1cblxuLnNjcm9sbEFjdGl2ZSB7XG4gICNzZWN0aW9uX2ZpeGVkX3ByaW1hcnlfbWVudSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkICNlZmVmZWY7XG4gIH1cbn1cblxuaGVhZGVyIHtcbiAgLnNvY2lhbF9tZW51IHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLW9yYW5nZTtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2QyZDNkYSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4iLCIvKiBmb290ZXIubGVzcyAqL1xuXG4vKiBmb290ZXIgdG9wICovXG5mb290ZXIge1xuICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogQGNvbG9yLWxpZ2h0LWdyYXk7XG59XG5cbi5jb250YWN0LWZvcm0tZm9vdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIge1xuICAuc29jaWFsX21lbnUge1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDEwcHggMjBweCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3Itb3JhbmdlO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDJkM2RhO1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pY29ucy1mb290ZXIge1xuICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLXllbGxvdztcbiAgICAucGFkZGluZy1ib3R0b20tbWQ7XG4gIH1cblxuICAuZm9vdGVyLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIC5tYXJnaW4tYm90dG9tLXNtO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgJi5hZGRyZXNzIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgfVxuICAgICYubWFpbiB7XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci1oZWFkaW5nIHtcbiAgICAubWFyZ2luLWJvdHRvbS1zbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiBAZm9vdGVyLWhlYWRpbmctc2l6ZTtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIGNvbG9yOiBAY29sb3Itb3JhbmdlO1xuICB9XG59XG5cbi5mb290ZXItdG9wIHtcbiAgYmFja2dyb3VuZDogQGNvbG9yLWJsYWNrLW1haW47XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nOiA3MHB4IDA7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIH1cbn1cblxuLmZvb3Rlci1ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiBAY29sb3ItdmFuaWxlO1xufVxuXG4vKiBmb290ZXIgcmlnaHRzICovXG4uY29weXJpZ2h0IHtcbiAgZm9udC1zaXplOiAwLjc1MGVtO1xuICBwYWRkaW5nLXRvcDogNDJweDtcbiAgY29sb3I6IEBjb2xvci1saWdodC1ncmF5O1xuICBmbG9hdDogcmlnaHQ7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLyogZm9vdGVyIGJvdHRvbSAqL1xuLnNvZ28tbG9nbyB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgfVxuICB9XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzg4ZW07XG4gICAgY29sb3I6IEBjb2xvci1ibGFjay1tYWluO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IEBjb2xvci13aGl0ZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IEBjb2xvci13aGl0ZTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBAY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuXG4uZm9vdGVyLWxlZnQge1xuICAucGFkZGluZy10b3AtbWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBhZGRpbmc6IDAgMTAwcHg7XG4gIH1cbn1cblxuLmZvb3Rlci1udW1iZXIge1xuICAubWFyZ2luLWJvdHRvbS1zbTtcbiAgZm9udC1zaXplOiAxLjhlbTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC5tYXJnaW4tdG9wLWxnO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogQGNvbG9yLW9yYW5nZTtcbiAgYSB7XG4gICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gIH1cbn1cblxuYSB7XG4gICYuc2Nyb2xsdXAge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBjb2xvci1vcmFuZ2U7XG4gICAgY29sb3I6IEBjb2xvci1vcmFuZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIGJvdHRvbTogODVweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLmZhLWFuZ2xlLXVwIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hIHtcbiAgJi5iYW5uZXItb3JkZXItdGhlcmFwaXN0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMTAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMTAwO1xuICB9XG59XG5cbi5wYWdlLWlkLTEzIHtcbiAgYSB7XG4gICAgJi5iYW5uZXItb3JkZXItdGhlcmFwaXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLyogem9vbS1pbi1lZmZlY3QubGVzcyAqL1xuLypcbiAqXHRodG1sIGd1aWRlbGluZXNcblxuICAgIGNsYXNzXG4gICAgMS56b29tLWluLWVmZmVjdCA9IG1haW4gZGl2XG4gICAgMi5pbWctYm94ID0gdGhlIHdyYXBwZXIgb2YgaW1nXG4gICAgMy5pbmZvLWJveCA9IGluZm8gZGl2IHdyYXBwZXJcbiAgIDQuIGluZm8tY29udGVudCA9IHRoZSBhY3R1YWwgaW5mbyBjb250ZW50XG4gKlxuICovXG4uaW1nLWJveCxcbi5pbmZvLWJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgfVxufVxuLmltZy1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW5mby1ib3gge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLmluZm8tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8td2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC8vLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAvLy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAvLy1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgfVxufVxuLnpvb20taW4tZWZmZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAuaW1nLWJveCxcbiAgLmluZm8tYm94IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmltZy1ib3gge1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXJ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgLmluZm8tYm94IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMiwgMik7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMiwgMik7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgyLCAyKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMiwgMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDIsIDIpO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAtbXMtZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIC1raHRtbC1vcGFjaXR5OiAwO1xuICAgIC1tb3otb3BhY2l0eTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gICY6aG92ZXJ7XG4gICAgLmltZy1ib3gge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4xLCAxLjEpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4xLCAxLjEpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLjEsIDEuMSk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4xLCAxLjEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMSwgMS4xKTtcbiAgICB9XG4gICAgLmluZm8tYm94IHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgICAtd2VrYml0LW9wYWNpdHk6IDE7XG4gICAgICAtbW96LW9wYWNpdHk6IDE7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cbiAgfVxufVxuLyogZW5kIHpvb20taW4tZWZmZWN0Lmxlc3MgKi8iLCIvKiogYm9vdHN0cmFwLW9mZmNhbnZhcy5sZXNzICoqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI3NvY2lhbF9tZW51IHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuaWNvbiB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1lbnUtd29yZCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5vZmZjYW52YXMtc3RvcC1zY3JvbGxpbmcge1xuICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzcwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM3MHB4KTtcbiAgICAgIH1cbiAgICAgIC5pY29uIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgLm1haW4tbG9nbyB7XG4gICAgICAub3BhY2l0eSgwKTtcbiAgICB9XG4gICAgLnNpdGUge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAncSc7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci1ncmF5LW1haW47XG4gICAgICB9XG4gICAgfVxuICAgIC5sb2dvIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vZmZjYW52YXMtc3RvcC1zY3JvbGxpbmcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItb2ZmY2FudmFzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICB9XG5cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItb2ZmY2FudmFzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICB9XG5cbiAgLm5hdmJhci1vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIGxlZnQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICAvLy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluO1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci1zZWMtYmxhY2s7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDM3MHB4O1xuICAgICAgbGVmdDogLTM3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItb2ZmY2FudmFzLmluIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcy5uYXZiYXItb2ZmY2FudmFzLWZhZGUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcy5uYXZiYXItb2ZmY2FudmFzLWZhZGUuaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcy5vZmZjYW52YXMtdHJhbnNmb3JtLmluIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM3MHB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNzBweCk7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1vZmZjYW52YXMub2ZmY2FudmFzLXBvc2l0aW9uLmluIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLm5hdmJhci1vZmZjYW52YXMubmF2YmFyLW9mZmNhbnZhcy1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1MHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgcmlnaHQ6IC0zNzBweDtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcy5uYXZiYXItb2ZmY2FudmFzLXJpZ2h0Lm9mZmNhbnZhcy10cmFuc2Zvcm0uaW4ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzcwcHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zNzBweCk7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1vZmZjYW52YXMubmF2YmFyLW9mZmNhbnZhcy1yaWdodC5vZmZjYW52YXMtcG9zaXRpb24uaW4ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcyAuZHJvcGRvd24uYWN0aXZlIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQ7XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcyAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogaW5oZXJpdDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMTVzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMTVzIGVhc2UtaW47XG4gIH1cblxuICAubmF2YmFyLW9mZmNhbnZhcyAuZHJvcGRvd24tbWVudS5zaG93biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4ub2ZmY2FudmFzLXRvZ2dsZSAuaWNvbi1iYXIge1xuICBiYWNrZ3JvdW5kOiBAY29sb3Itd2hpdGU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG4ub2ZmY2FudmFzLXRvZ2dsZS5pcy1vcGVuIC5pY29uLWJhcjpudGgtY2hpbGQoMSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCA0cHgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDVweCwgNHB4KTtcbn1cblxuLm9mZmNhbnZhcy10b2dnbGUuaXMtb3BlbiAuaWNvbi1iYXI6bnRoLWNoaWxkKDIpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDVweCwgNHB4KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgwcHgsIDFweCk7XG59XG5cbi5vZmZjYW52YXMtdG9nZ2xlLmlzLW9wZW4gLmljb24tYmFyOm50aC1jaGlsZCgzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoNHB4LCAtNHB4KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoNHB4LCAtNHB4KTtcbn1cblxuLm5hdmJhci1oZWFkZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpe1xuICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi5ob21lIHtcbiAgLm9mZmNhbnZhcy10b2dnbGUge1xuICAgIC5pY29uLWJhciB7XG4gICAgIC8qYmFja2dyb3VuZDogQGNvbG9yLXN1Ym1lbnUtbGluayAhaW1wb3J0YW50OyovXG4gICAgfVxuICB9XG59XG4ubmF2YmFyLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1vcmFuZ2UgIWltcG9ydGFudDtcbn1cbiJdfQ== */