@charset "UTF-8";
/**
 * Featherlight – ultra slim jQuery lightbox
 * Version 1.7.9 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
@import url("//hello.myfonts.net/count/34c4af");
@media all {
  html.with-featherlight {
    /* disable global scrolling when featherlights are visible */
    overflow: hidden; }
  .featherlight {
    display: none;
    /* dimensions: spanning the background from edge to edge */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2147483647;
    /* z-index needs to be >= elements on the site. */
    /* position: centering content */
    text-align: center;
    /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
    white-space: nowrap;
    /* styling */
    cursor: pointer;
    background: #333;
    /* IE8 "hack" for nested featherlights */
    background: transparent; }
  /* support for nested featherlights. Does not work in IE8 (use JS to fix) */
  .featherlight:last-of-type {
    background: rgba(0, 0, 0, 0.8); }
  .featherlight:before {
    /* position: trick to center content vertically */
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }
  .featherlight .featherlight-content {
    /* make content container for positioned elements (close button) */
    position: relative;
    /* position: centering vertical and horizontal */
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    /* dimensions: cut off images */
    overflow: auto;
    padding: 25px 25px 0;
    border-bottom: 25px solid transparent;
    /* dimensions: handling large content */
    margin-left: 5%;
    margin-right: 5%;
    max-height: 95%;
    /* styling */
    background: #fff;
    cursor: auto;
    /* reset white-space wrapping */
    white-space: normal; }
  /* contains the content */
  .featherlight .featherlight-inner {
    /* make sure its visible */
    display: block; }
  /* don't show these though */
  .featherlight script.featherlight-inner,
  .featherlight link.featherlight-inner,
  .featherlight style.featherlight-inner {
    display: none; }
  .featherlight .featherlight-close-icon {
    /* position: centering vertical and horizontal */
    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;
    /* dimensions: 25px x 25px */
    line-height: 25px;
    width: 25px;
    /* styling */
    cursor: pointer;
    text-align: center;
    font-family: Arial, sans-serif;
    background: #fff;
    /* Set the background in case it overlaps the content */
    background: rgba(255, 255, 255, 0.3);
    color: #000;
    border: none;
    padding: 0; }
  /* See http://stackoverflow.com/questions/16077341/how-to-reset-all-default-styles-of-the-html5-button-element */
  .featherlight .featherlight-close-icon::-moz-focus-inner {
    border: 0;
    padding: 0; }
  .featherlight .featherlight-image {
    /* styling */
    width: 100%; }
  .featherlight-iframe .featherlight-content {
    /* removed the border for image croping since iframe is edge to edge */
    border-bottom: 0;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll; }
  .featherlight iframe {
    /* styling */
    border: none; }
  .featherlight * {
    /* See https://github.com/noelboss/featherlight/issues/42 */
    -webkit-box-sizing: border-box;
    box-sizing: border-box; } }

/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
  .featherlight .featherlight-content {
    /* dimensions: maximize lightbox with for small screens */
    margin-left: 0;
    margin-right: 0;
    max-height: 98%;
    padding: 10px 10px 0;
    border-bottom: 10px solid transparent; } }

/* hide non featherlight items when printing */
@media print {
  @page {
    size: landscape; }
  html.with-featherlight > * > :not(.featherlight) {
    display: none; } }

/**
 * Featherlight Gallery – an extension for the ultra slim jQuery lightbox
 * Version 1.7.9 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
@media all {
  .featherlight-next,
  .featherlight-previous {
    display: block;
    position: absolute;
    top: 25px;
    right: 25px;
    bottom: 0;
    left: 80%;
    cursor: pointer;
    /* preventing text selection */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* IE9 hack, otherwise navigation doesn't appear */
    background: transparent; }
  .featherlight-previous {
    left: 25px;
    right: 80%; }
  .featherlight-next:hover,
  .featherlight-previous:hover {
    background: rgba(255, 255, 255, 0.25); }
  .featherlight-next span,
  .featherlight-previous span {
    display: none;
    position: absolute;
    top: 50%;
    left: 5%;
    width: 82%;
    /* center horizontally */
    text-align: center;
    font-size: 80px;
    line-height: 80px;
    /* center vertically */
    margin-top: -40px;
    text-shadow: 0px 0px 5px #fff;
    color: #fff;
    font-style: normal;
    font-weight: normal; }
  .featherlight-next span {
    right: 5%;
    left: auto; }
  .featherlight-next:hover span,
  .featherlight-previous:hover span {
    display: inline-block; }
  .featherlight-swipe-aware .featherlight-next,
  .featherlight-swipe-aware .featherlight-previous {
    display: none; }
  /* Hide navigation while loading */
  .featherlight-loading .featherlight-previous, .featherlight-loading .featherlight-next {
    display: none; }
  /* Hide navigation in case of single image */
  .featherlight-first-slide.featherlight-last-slide .featherlight-previous,
  .featherlight-first-slide.featherlight-last-slide .featherlight-next {
    display: none; } }

/* Always display arrows on touch devices */
@media only screen and (max-device-width: 1024px) {
  .featherlight-next:hover,
  .featherlight-previous:hover {
    background: none; }
  .featherlight-next span,
  .featherlight-previous span {
    display: block; } }

/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
  .featherlight-next,
  .featherlight-previous {
    top: 10px;
    right: 10px;
    left: 85%; }
  .featherlight-previous {
    left: 10px;
    right: 85%; }
  .featherlight-next span,
  .featherlight-previous span {
    margin-top: -30px;
    font-size: 40px; } }

/* Variables
   --------------------------------------------- */
/* Breakpoints
   --------------------------------------------- */
/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

body {
  line-height: 1; }

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-weight: normal; }

ol, ul {
  list-style: none; }

blockquote {
  quotes: none; }
  blockquote:before, blockquote:after {
    content: '';
    content: none; }

del {
  text-decoration: line-through; }

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

a img {
  border: none; }

/* WordPress Core */
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter, div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 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;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center; }
  .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: 98.5%;
    padding: 0;
    width: auto; }
  .wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px; }

.icon-google {
  width: 16px;
  height: 18px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: -55px -58px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-google {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

.icon-youtube {
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: -55px -83px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-youtube {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

.icon-mail {
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: -55px -33px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-mail {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

.icon-search, .image-gallery .image a:after {
  width: 23px;
  height: 24px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: -73px -2px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-search, .image-gallery .image a:after {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

.icon-phone {
  width: 13px;
  height: 29px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: -55px 0px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-phone {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

.icon-left, .section-products .bx-controls a.bx-prev {
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: 0px 0px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-left, .section-products .bx-controls a.bx-prev {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

.icon-right, .section-products .bx-controls a {
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-image: url(../images/sprite.png);
  background-position: 0px -51px; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .icon-right, .section-products .bx-controls a {
      background-image: url(../images/sprite@2.png);
      background-size: 115px 101px; } }

/* Layout
   --------------------------------------------- */
.full-row {
  width: calc(100% - 80px);
  float: left;
  margin-left: 40px; }
  @media (max-width: 960px) {
    .full-row {
      width: calc(100% - 80px);
      float: left;
      margin-left: 40px; } }
  @media (max-width: 440px) {
    .full-row {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; } }

.inner-content::after {
  clear: both;
  content: "";
  display: block; }

@media only screen and (max-width: 960px) {
  .inner-content {
    width: 100%; } }

@font-face {
  font-family: 'NeoSansPro-Medium';
  src: url("../fonts/34C4AF_0_0.eot");
  src: url("../fonts/34C4AF_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/34C4AF_0_0.woff2") format("woff2"), url("../fonts/34C4AF_0_0.woff") format("woff"), url("../fonts/34C4AF_0_0.ttf") format("truetype"); }

body {
  background: #fff;
  color: #474A53;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5 {
  color: #1F3F90;
  font-family: NeoSansPro-Medium, sans;
  font-weight: normal;
  font-style: normal;
  margin: 0;
  line-height: 1.2; }

h1 {
  font-size: 24px;
  margin: 0 0 15px 0; }

h2 {
  font-size: 20px;
  margin: 0 0 25px 0; }

h3 {
  font-size: 18px;
  margin: 15px 0 4px 0; }
  h3 a {
    color: #283926; }

a {
  color: #1F3F90;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

p {
  margin: 0 0 20px 0;
  line-height: 28px; }

ul {
  list-style: disc;
  margin: 0 0 20px 30px; }

ol {
  list-style: decimal;
  margin: 0 0 20px 30px; }

hr {
  color: #EEEEEE;
  background-color: #EEEEEE;
  height: 3px;
  border: none;
  margin: 0 0 15px 0;
  clear: both; }

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

strong {
  font-weight: 600; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

.entry ul {
  line-height: 30px; }

.entry h2 {
  margin-bottom: 10px;
  margin-top: 30px; }

@-webkit-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes slideDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); } }

@keyframes slideDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); } }

@-webkit-keyframes slideUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); } }

@keyframes slideUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); } }

/* Buttons
   --------------------------------------------- */
a.btn {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  border-bottom: 2px solid #70C23B;
  padding: 0 0 3px 0;
  font-weight: 600; }
  a.btn:hover {
    text-decoration: none;
    border-color: #1F3F90; }

.btn-fill, .gform_wrapper .gform_button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #70C23B;
  line-height: 1;
  color: #fff;
  font-size: 20px;
  padding: 14px 25px 14px 25px;
  font-weight: 600;
  display: inline-block;
  border: 0 !important; }
  .btn-fill:hover, .gform_wrapper .gform_button:hover {
    background: #1F3F90;
    text-decoration: none; }

/* Sections
   --------------------------------------------- */
.section-row-center {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px; }
  .section-row-center::after {
    clear: both;
    content: "";
    display: block; }

.section-content .text-left {
  width: calc(66.6666666667% - 66.6666666667px);
  float: left;
  margin-left: 40px; }
  @media (max-width: 960px) {
    .section-content .text-left {
      width: calc(100% - 80px);
      float: left;
      margin-left: 40px; } }
  @media (max-width: 440px) {
    .section-content .text-left {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; } }

.section-content .content-right {
  width: calc(33.3333333333% - 53.3333333333px);
  float: left;
  margin-left: 40px; }
  @media (max-width: 960px) {
    .section-content .content-right {
      width: calc(100% - 80px);
      float: left;
      margin-left: 40px; } }
  @media (max-width: 440px) {
    .section-content .content-right {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; } }

.section-content .column-1-2 {
  width: calc(50% - 60px);
  float: left;
  margin-left: 40px; }
  @media (max-width: 960px) {
    .section-content .column-1-2 {
      width: calc(100% - 80px);
      float: left;
      margin-left: 40px; } }
  @media (max-width: 440px) {
    .section-content .column-1-2 {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; } }

.section-text .text-left {
  width: calc(58.3333333333% - 63.3333333333px);
  float: left;
  margin-left: 40px; }
  @media (max-width: 960px) {
    .section-text .text-left {
      width: calc(100% - 80px);
      float: left;
      margin-left: 40px; } }
  @media (max-width: 440px) {
    .section-text .text-left {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; } }
  .section-text .text-left h4 {
    color: #70C23B;
    margin-bottom: 7px; }

.section-text .video-right {
  padding-top: 50px; }
  .section-text .video-right .btn {
    margin-top: 15px;
    display: inline-block;
    float: right; }

.section-text .content-right {
  width: calc(41.6666666667% - 56.6666666667px);
  float: left;
  margin-left: 40px; }
  @media (max-width: 960px) {
    .section-text .content-right {
      width: calc(100% - 80px);
      float: left;
      margin-left: 40px; } }
  @media (max-width: 440px) {
    .section-text .content-right {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; } }

.section-text .image-right {
  text-align: center; }

@media only screen and (max-width: 440px) {
  .section-text .video-right {
    padding-top: 0; }
  .section-text .content-right {
    margin-top: 20px; } }

.section-padding {
  padding: 50px 0 70px 0; }

.section-padding-top {
  padding: 70px 0 0 0; }

.section-products {
  background: url("../images/bg-assortiment.jpg") no-repeat;
  background-size: cover;
  position: relative;
  padding: 60px 0 50px 40px; }
  .section-products h3 {
    color: #fff;
    position: absolute;
    left: 40px;
    top: 18px; }
  .section-products .bx-controls {
    position: absolute;
    right: 40px;
    bottom: -23px; }
    .section-products .bx-controls a {
      background-color: #1F3F90;
      color: #fff;
      display: block;
      height: 50px;
      float: left;
      -webkit-transition: all 0.2s;
      transition: all 0.2s;
      text-indent: -999999px;
      margin-left: 3px;
      width: 50px; }
      .section-products .bx-controls a:hover {
        background-color: #162d66; }
  @media only screen and (max-width: 440px) {
    .section-products {
      padding-left: 20px; }
      .section-products h3 {
        left: 20px; } }

.section-products-grid {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 10px 0 70px 0; }
  .section-products-grid::after {
    clear: both;
    content: "";
    display: block; }
  .section-products-grid .products-grid {
    margin-left: -40px;
    margin-right: -40px;
    width: calc(100% + 80px);
    background: url("../images/bg-assortiment.jpg") no-repeat;
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 40px; }
    .section-products-grid .products-grid::after {
      clear: both;
      content: "";
      display: block; }
    .section-products-grid .products-grid .product {
      width: calc(33.3333333333% - 53.3333333333px);
      float: left;
      margin-left: 40px;
      background: #fff;
      padding: 20px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      text-align: center;
      margin-bottom: 40px; }
      .section-products-grid .products-grid .product:nth-of-type(3n) {
        margin-right: 40px; }
      .section-products-grid .products-grid .product:nth-of-type(3n+1) {
        clear: left; }
      .section-products-grid .products-grid .product:last-child {
        margin-right: 40px; }
      .section-products-grid .products-grid .product img {
        max-width: 164px; }
      .section-products-grid .products-grid .product .product-text {
        margin: 10px 0 20px 0; }
        .section-products-grid .products-grid .product .product-text h2 {
          margin-bottom: 15px; }
  @media only screen and (max-width: 960px) {
    .section-products-grid .products-grid {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding: 20px;
      margin-left: -20px;
      margin-right: -20px;
      width: calc(100% + 40px); }
      .section-products-grid .products-grid .product {
        margin: 0 0 40px 0 !important;
        width: 100%; } }
  @media only screen and (max-width: 440px) {
    .section-products-grid {
      padding-bottom: 0; }
      .section-products-grid .product:last-child {
        margin-bottom: 0 !important; } }

.products-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .products-slider::after {
    clear: both;
    content: "";
    display: block; }
  .products-slider .product {
    background: #fff;
    width: 500px;
    min-width: 500px;
    float: left;
    font-size: 14px;
    line-height: 24px; }
    .products-slider .product .product-inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 40px; }
    .products-slider .product .product-image {
      -ms-flex-item-align: center;
          align-self: center;
      float: left;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 200px;
              flex: 0 0 200px; }
      .products-slider .product .product-image img {
        max-width: 164px; }
    .products-slider .product .product-text {
      padding-top: 20px; }
      .products-slider .product .product-text h2 {
        margin-bottom: 10px;
        font-size: 18px; }
  @media only screen and (max-width: 440px) {
    .products-slider .product {
      min-width: 300px;
      text-align: center; }
      .products-slider .product .product-inner {
        display: block;
        padding: 20px; }
      .products-slider .product .product-image {
        float: none; } }

/* Widget
   --------------------------------------------- */
.widget {
  margin-bottom: 30px; }
  .widget h2 {
    margin-bottom: 10px; }

.widget-blue {
  background: #1F3F90 url("../images/contact.png") no-repeat bottom right 15px;
  color: #fff;
  padding: 40px 20px 40px 20px;
  text-align: center;
  line-height: 28px; }
  .widget-blue h2 {
    color: #fff;
    margin: 0 0 15px 0; }
  .widget-blue a {
    color: #fff; }
  .widget-blue .btn {
    display: inline-block;
    margin-top: 15px; }

.widget-green {
  background: #70C23B;
  color: #fff;
  padding: 20px 20px 20px 20px; }
  .widget-green h2 {
    color: #fff;
    margin: 0 0 15px 0; }
  .widget-green .list-images {
    list-style: none;
    margin: 0; }
    .widget-green .list-images li {
      background: #fff;
      margin-bottom: 10px;
      padding: 6px; }
      .widget-green .list-images li a {
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        line-height: 24px; }
      .widget-green .list-images li img {
        max-width: 50px;
        margin-right: 20px; }

/* Table
   --------------------------------------------- */
table {
  width: 100%;
  line-height: 26px;
  margin: 0 0 20px 0; }
  table thead td {
    border-bottom: 2px solid #70C23B;
    font-weight: 600;
    padding: 0 0 5px 0;
    text-align: left; }
  table tbody tr:first-child td {
    padding-top: 5px; }
  table table {
    width: 100%; }
    table table td {
      background: none !important; }

/* Image gallery
   --------------------------------------------- */
.image-gallery {
  margin-left: -2px;
  margin-right: -2px;
  width: calc(100% + 4px); }
  .image-gallery::after {
    clear: both;
    content: "";
    display: block; }
  .image-gallery .image {
    width: calc(33.3333333333% - 2.6666666667px);
    float: left;
    margin-left: 2px;
    position: relative;
    margin-bottom: 2px;
    text-align: center; }
    .image-gallery .image a {
      display: inline-block;
      position: relative; }
      .image-gallery .image a:hover:before {
        -webkit-animation: fadein 0.3s;
                animation: fadein 0.3s;
        display: block; }
      .image-gallery .image a:hover:after {
        -webkit-animation: fadeInUp 0.4s;
                animation: fadeInUp 0.4s;
        display: block; }
      .image-gallery .image a img {
        display: block; }
      .image-gallery .image a:before {
        background: rgba(31, 63, 144, 0.7);
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        display: none;
        content: ""; }
      .image-gallery .image a:after {
        content: "";
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        bottom: 0;
        margin: 0 auto;
        margin-top: -12px; }
  @media only screen and (max-width: 780px) {
    .image-gallery .image a:before, .image-gallery .image a:after {
      content: none; } }

/* Loader
   --------------------------------------------- */
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.pace-inactive {
  display: none; }

.pace .pace-progress {
  background: #70C23B;
  position: fixed;
  z-index: 2000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 3px; }

/* Form
   --------------------------------------------- */
.gform_wrapper input[type="text"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

.gform_wrapper input[type="text"], .gform_wrapper textarea, .gform_wrapper select {
  border: 1px solid #1F3F90;
  padding: 9px !important;
  border-radius: 0; }
  .gform_wrapper input[type="text"]:focus, .gform_wrapper textarea:focus, .gform_wrapper select:focus {
    border-color: #70C23B; }

.gform_wrapper .gform_button {
  border-radius: 0; }

.gform_wrapper .gform_footer {
  margin-top: 0 !important; }

/* Header
   --------------------------------------------- */
#header {
  position: relative;
  z-index: 10;
  /* Responsive
   --------------------------------------------- */ }
  .pace-done #header .header-top {
    border-top: 3px solid #70C23B; }
  #header .header-top {
    border-bottom: 2px solid rgba(112, 194, 59, 0.1);
    border-top: 3px solid #fff;
    background: #fff;
    z-index: 2;
    position: relative; }
    #header .header-top .header-top-inner {
      margin-left: auto;
      margin-right: auto;
      max-width: 1200px; }
      #header .header-top .header-top-inner::after {
        clear: both;
        content: "";
        display: block; }
    #header .header-top .mobile-menu {
      float: left;
      display: none;
      position: absolute;
      top: 18px;
      left: 0; }
    #header .header-top .logo {
      float: left;
      width: 200px;
      margin: 22px 0 20px 0; }
    #header .header-top .service-menu {
      float: right; }
      #header .header-top .service-menu a {
        color: #474A53; }
    #header .header-top .lang-switch {
      float: left;
      margin: 0 0 0 0;
      padding: 0 20px 0 0;
      position: relative;
      z-index: 1; }
      #header .header-top .lang-switch:after {
        content: "";
        height: 28px;
        width: 2px;
        background: #f1f9ec;
        right: 0;
        position: absolute;
        top: 24px; }
      #header .header-top .lang-switch > ul {
        list-style: none;
        margin: 0; }
        #header .header-top .lang-switch > ul > li {
          display: block;
          line-height: 77px; }
          #header .header-top .lang-switch > ul > li:hover ul {
            display: block; }
          #header .header-top .lang-switch > ul > li img {
            margin-right: 10px; }
      #header .header-top .lang-switch .lang-collapse {
        -webkit-box-shadow: 4px 4px 13px 0 rgba(0, 0, 0, 0.1);
                box-shadow: 4px 4px 13px 0 rgba(0, 0, 0, 0.1);
        background: #fff;
        border-top: 3px solid #70C23B;
        padding: 10px;
        margin: 0px 0 0 -10px;
        display: none;
        list-style: none;
        position: absolute;
        width: 120px; }
        #header .header-top .lang-switch .lang-collapse li {
          line-height: 30px; }
          #header .header-top .lang-switch .lang-collapse li span {
            margin: 0 !important; }
    #header .header-top .menu {
      float: left; }
      #header .header-top .menu li {
        line-height: 77px;
        margin-left: 20px;
        float: left; }
  #header .header-main {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px; }
    #header .header-main::after {
      clear: both;
      content: "";
      display: block; }
    #header .header-main .mobile-service-menu {
      display: none;
      padding: 5px 0 5px 0;
      border-top: 1px solid #7181a7;
      border-bottom: 1px solid #7181a7; }
      #header .header-main .mobile-service-menu ul {
        line-height: 40px; }
        #header .header-main .mobile-service-menu ul a {
          color: #fff; }
    #header .header-main .mobile-lang-switch {
      display: none;
      padding: 10px 0 20px 0; }
      #header .header-main .mobile-lang-switch ul {
        list-style: none;
        margin: 0;
        overflow: hidden; }
        #header .header-main .mobile-lang-switch ul li {
          float: left; }
          #header .header-main .mobile-lang-switch ul li a {
            background: #516eb5;
            display: inline-block;
            padding: 10px;
            margin-right: 10px; }
            #header .header-main .mobile-lang-switch ul li a:hover, #header .header-main .mobile-lang-switch ul li a.current-lang {
              background: #70C23B; }
  @media only screen and (max-width: 960px) {
    #header .header-top .full-row {
      position: relative;
      text-align: center; }
    #header .header-top .mobile-menu {
      display: block; }
    #header .header-top .logo {
      float: none;
      margin: 14px auto; }
    #header .header-top .service-menu {
      position: absolute;
      right: 0;
      top: 0; }
    #header .header-top .lang-switch {
      padding: 0;
      text-align: left; }
      #header .header-top .lang-switch:after {
        display: none; }
      #header .header-top .lang-switch > ul > li {
        line-height: 60px; }
    #header .header-top .menu {
      display: none; }
    #header .header-main {
      background: #1F3F90;
      position: absolute;
      width: 100%;
      -webkit-transform: translateY(-100%);
              transform: translateY(-100%);
      opacity: 0;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
      #header .header-main.mobile-open {
        -webkit-animation-name: slideDown;
                animation-name: slideDown;
        -webkit-animation-duration: 0.4s;
                animation-duration: 0.4s;
        -webkit-animation-timing-function: cubic-bezier(0.79, 0.07, 0.38, 0.93);
                animation-timing-function: cubic-bezier(0.79, 0.07, 0.38, 0.93);
        display: block; }
      #header .header-main.mobile-closed {
        -webkit-animation-name: slideUp;
                animation-name: slideUp;
        -webkit-animation-duration: 0.4s;
                animation-duration: 0.4s;
        -webkit-animation-timing-function: cubic-bezier(0.79, 0.07, 0.38, 0.93);
                animation-timing-function: cubic-bezier(0.79, 0.07, 0.38, 0.93); }
      #header .header-main .mobile-service-menu,
      #header .header-main .mobile-lang-switch {
        display: block; } }
  @media only screen and (max-width: 700px) {
    #header .header-top .service-menu {
      display: none; } }
  @media only screen and (max-width: 440px) {
    #header .header-top .logo {
      float: right; } }

/* Menu
   --------------------------------------------- */
ul.menu {
  list-style: none;
  margin: 0; }

.main-menu {
  height: 64px; }
  .main-menu > ul.menu {
    margin: 0; }
    .main-menu > ul.menu li.menu-item {
      display: inline-block; }
      .main-menu > ul.menu li.menu-item > a {
        display: block;
        position: relative;
        font-family: NeoSansPro-Medium, sans;
        font-weight: normal;
        font-style: normal;
        padding: 25px 12px 21px 12px;
        font-size: 18px;
        line-height: 1; }
      .main-menu > ul.menu li.menu-item.current-menu-item > a,
      .main-menu > ul.menu li.menu-item.current-page-ancestor > a,
      .main-menu > ul.menu li.menu-item:hover > a {
        background: #70C23B;
        color: #fff;
        text-decoration: none; }
      .main-menu > ul.menu li.menu-item:hover .header-mega-menu {
        display: block;
        visibility: visible;
        opacity: 1; }
  @media only screen and (max-width: 960px) {
    .main-menu {
      padding: 15px 0 20px 0;
      height: auto; }
      .main-menu > ul.menu li.menu-item {
        display: block; }
        .main-menu > ul.menu li.menu-item > a {
          -webkit-transition: 0.2s all ease-in-out;
          transition: 0.2s all ease-in-out;
          color: #fff;
          padding: 18px 0 8px 0;
          border-bottom: 2px solid #1F3F90; }
        .main-menu > ul.menu li.menu-item.current-menu-item > a,
        .main-menu > ul.menu li.menu-item.current-page-ancestor > a,
        .main-menu > ul.menu li.menu-item:hover > a {
          border-bottom: 2px solid #70C23B;
          background: none; } }

.header-mega-menu {
  background: #fff;
  border-top: 3px solid #70C23B;
  -webkit-box-shadow: 4px 4px 13px 0 rgba(0, 0, 0, 0.17);
          box-shadow: 4px 4px 13px 0 rgba(0, 0, 0, 0.17);
  visibility: hidden;
  font-size: 16px;
  font-weight: 600;
  padding: 20px 20px 10px 20px;
  position: absolute;
  -webkit-transition: visibility 0.2s, opacity 0.2s linear;
  transition: visibility 0.2s, opacity 0.2s linear;
  top: 143px;
  width: 680px;
  opacity: 0; }
  .header-mega-menu h4 {
    color: #474A53;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 15px; }
  .header-mega-menu ul {
    list-style: none;
    margin: 0; }
    .header-mega-menu ul.list-images li {
      height: 50px;
      margin-bottom: 10px; }
      .header-mega-menu ul.list-images li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
      .header-mega-menu ul.list-images li img {
        max-width: 50px;
        margin-right: 20px; }
    .header-mega-menu ul.list-text {
      line-height: 40px; }
  .header-mega-menu .menu-left {
    float: left;
    width: 60%; }
  .header-mega-menu .menu-right {
    float: left;
    width: 40%; }
  @media only screen and (max-width: 960px) {
    .header-mega-menu {
      background: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      border: 0;
      padding: 10px 20px 10px 20px;
      position: relative;
      top: auto;
      width: auto;
      visibility: visible !important;
      opacity: 1 !important;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
      .header-mega-menu h4 {
        display: none; }
      .header-mega-menu a {
        color: #fff; }
      .header-mega-menu ul {
        list-style: none;
        margin: 0;
        line-height: 30px !important; }
        .header-mega-menu ul.list-images li {
          height: auto;
          margin: 0; }
          .header-mega-menu ul.list-images li a {
            display: block; }
          .header-mega-menu ul.list-images li img {
            display: none; }
        .header-mega-menu ul.list-text {
          line-height: 30px; }
      .header-mega-menu .menu-left, .header-mega-menu .menu-right {
        float: none;
        width: 100%; } }

.btn-menu {
  width: 30px;
  height: 28px;
  position: relative;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer; }
  .btn-menu span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #1F3F90;
    border-radius: 4px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out; }
    .btn-menu span:nth-child(1) {
      top: 0px; }
    .btn-menu span:nth-child(2), .btn-menu span:nth-child(3) {
      top: 10px; }
    .btn-menu span:nth-child(4) {
      top: 20px; }
  .btn-menu.open span:nth-child(1) {
    top: 10px;
    width: 0%;
    left: 50%; }
  .btn-menu.open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  .btn-menu.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .btn-menu.open span:nth-child(4) {
    top: 10px;
    width: 0%;
    left: 50%; }

/* Header image / title
   --------------------------------------------- */
.header-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 220px;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-size: cover;
  background-repeat: no-repeat; }
  .home .header-image {
    height: 380px; }
  .header-image .header-image-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    width: 1200px; }
    .header-image .header-image-inner::after {
      clear: both;
      content: "";
      display: block; }
  .header-image h1 {
    -webkit-animation: fadein 1.5s;
            animation: fadein 1.5s;
    color: #fff;
    font-size: 46px;
    text-align: left;
    margin: 0;
    max-width: 800px; }
  @media only screen and (max-width: 960px) {
    .header-image h1 {
      text-align: center; } }
  @media only screen and (max-width: 780px) {
    .header-image {
      height: 200px; }
      .header-image h1 {
        font-size: 34px; } }

.header-title {
  background: #000;
  padding: 40px;
  max-width: 500px;
  margin: 30px 0 0 0; }
  .header-title h1 {
    margin: 0; }

/* Footer
   --------------------------------------------- */
#footer {
  background: #3B4F3D;
  color: #fff;
  font-size: 16px;
  font-family: NeoSansPro-Medium, sans;
  font-weight: normal;
  font-style: normal;
  padding: 60px 0 30px 0;
  text-align: center; }
  #footer .inner-footer {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px; }
    #footer .inner-footer::after {
      clear: both;
      content: "";
      display: block; }
  #footer a {
    color: #fff; }
  #footer .footer-logo {
    position: relative;
    width: 192px;
    margin: 0 auto; }
    #footer .footer-logo .to-top {
      position: absolute;
      background: transparent;
      cursor: n-resize;
      width: 30px;
      height: 100%;
      top: 0;
      right: 23px;
      display: block;
      text-indent: -999999px; }
  #footer ul.menu {
    margin: 30px 0 30px 0; }
    #footer ul.menu li {
      display: inline-block;
      margin: 0 0 0 20px; }
  #footer .contact-info {
    border-top: 3px solid #70C23B;
    padding: 30px 0 30px 0; }
    #footer .contact-info .column {
      width: calc(25% - 25px);
      float: left;
      margin-left: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      #footer .contact-info .column a {
        margin-left: 10px; }
      @media (max-width: 960px) {
        #footer .contact-info .column {
          width: calc(100% - 40px);
          float: left;
          margin-left: 20px; } }
  #footer .copyright {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    color: #b9b9b9; }
    #footer .copyright a {
      color: #b9b9b9; }
  @media only screen and (max-width: 960px) {
    #footer {
      text-align: left; }
      #footer .footer-logo {
        margin: 0; }
      #footer ul.menu li {
        display: block;
        margin: 0 0 15px 0; }
      #footer .contact-info {
        padding-top: 20px; }
        #footer .contact-info .column {
          -webkit-box-pack: left;
              -ms-flex-pack: left;
                  justify-content: left;
          padding: 10px 0 10px 0;
          margin-left: 0; } }

/*# sourceMappingURL=data:application/json;base64,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QkFBb0I7VUFBcEIsdUJBQW9CO2NBQXBCLG9CQUFvQixFQUFFO01BQ3RCO1FBQ0Usa0JBQWtCLEVBQUU7TUFDdEI7UUFDRTtVQUNFLHlCQUF5QjtVQUN6QixZQUFZO1VBQ1osa0JBQWtCLEVBQUUsRUFBRTtFQUM5QjtJQUNFLHFDQUFxQztJQUNyQyxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFFO0lBQ2pCO01BQ0UsZUFBZSxFQUFFO0VBQ3JCO0lBQ0U7TUFDRSxpQkFBaUIsRUFBRTtNQUNuQjtRQUNFLFVBQVUsRUFBRTtNQUNkO1FBQ0UsZUFBZTtRQUNmLG1CQUFtQixFQUFFO01BQ3ZCO1FBQ0Usa0JBQWtCLEVBQUU7UUFDcEI7VUFDRSx1QkFBc0I7Y0FBdEIsb0JBQXNCO2tCQUF0QixzQkFBc0I7VUFDdEIsdUJBQXVCO1VBQ3ZCLGVBQWUsRUFBRSxFQUFFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRmVhdGhlcmxpZ2h0IOKAkyB1bHRyYSBzbGltIGpRdWVyeSBsaWdodGJveFxuICogVmVyc2lvbiAxLjcuOSAtIGh0dHA6Ly9ub2VsYm9zcy5naXRodWIuaW8vZmVhdGhlcmxpZ2h0L1xuICpcbiAqIENvcHlyaWdodCAyMDE3LCBOb8OrbCBSYW91bCBCb3NzYXJ0IChodHRwOi8vd3d3Lm5vZWxib3NzLmNvbSlcbiAqIE1JVCBMaWNlbnNlZC5cbioqL1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM0YzRhZlwiKTtcbkBtZWRpYSBhbGwge1xuICBodG1sLndpdGgtZmVhdGhlcmxpZ2h0IHtcbiAgICAvKiBkaXNhYmxlIGdsb2JhbCBzY3JvbGxpbmcgd2hlbiBmZWF0aGVybGlnaHRzIGFyZSB2aXNpYmxlICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmVhdGhlcmxpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIGRpbWVuc2lvbnM6IHNwYW5uaW5nIHRoZSBiYWNrZ3JvdW5kIGZyb20gZWRnZSB0byBlZGdlICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyMTQ3NDgzNjQ3O1xuICAgIC8qIHotaW5kZXggbmVlZHMgdG8gYmUgPj0gZWxlbWVudHMgb24gdGhlIHNpdGUuICovXG4gICAgLyogcG9zaXRpb246IGNlbnRlcmluZyBjb250ZW50ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIGluc3VyZXMgdGhhdCB0aGUgOjpiZWZvcmUgcHNldWRvIGVsZW1lbnQgZG9lc24ndCBmb3JjZSB3cmFwIHdpdGggZml4ZWQgd2lkdGggY29udGVudDsgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIHN0eWxpbmcgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICAvKiBJRTggXCJoYWNrXCIgZm9yIG5lc3RlZCBmZWF0aGVybGlnaHRzICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLyogc3VwcG9ydCBmb3IgbmVzdGVkIGZlYXRoZXJsaWdodHMuIERvZXMgbm90IHdvcmsgaW4gSUU4ICh1c2UgSlMgdG8gZml4KSAqL1xuICAuZmVhdGhlcmxpZ2h0Omxhc3Qtb2YtdHlwZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG4gIC5mZWF0aGVybGlnaHQ6YmVmb3JlIHtcbiAgICAvKiBwb3NpdGlvbjogdHJpY2sgdG8gY2VudGVyIGNvbnRlbnQgdmVydGljYWxseSAqL1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY29udGVudCB7XG4gICAgLyogbWFrZSBjb250ZW50IGNvbnRhaW5lciBmb3IgcG9zaXRpb25lZCBlbGVtZW50cyAoY2xvc2UgYnV0dG9uKSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiBwb3NpdGlvbjogY2VudGVyaW5nIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsICovXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiBkaW1lbnNpb25zOiBjdXQgb2ZmIGltYWdlcyAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmc6IDI1cHggMjVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDI1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgLyogZGltZW5zaW9uczogaGFuZGxpbmcgbGFyZ2UgY29udGVudCAqL1xuICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgIG1heC1oZWlnaHQ6IDk1JTtcbiAgICAvKiBzdHlsaW5nICovXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgLyogcmVzZXQgd2hpdGUtc3BhY2Ugd3JhcHBpbmcgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIC8qIGNvbnRhaW5zIHRoZSBjb250ZW50ICovXG4gIC5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1pbm5lciB7XG4gICAgLyogbWFrZSBzdXJlIGl0cyB2aXNpYmxlICovXG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogZG9uJ3Qgc2hvdyB0aGVzZSB0aG91Z2ggKi9cbiAgLmZlYXRoZXJsaWdodCBzY3JpcHQuZmVhdGhlcmxpZ2h0LWlubmVyLFxuICAuZmVhdGhlcmxpZ2h0IGxpbmsuZmVhdGhlcmxpZ2h0LWlubmVyLFxuICAuZmVhdGhlcmxpZ2h0IHN0eWxlLmZlYXRoZXJsaWdodC1pbm5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY2xvc2UtaWNvbiB7XG4gICAgLyogcG9zaXRpb246IGNlbnRlcmluZyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICAvKiBkaW1lbnNpb25zOiAyNXB4IHggMjVweCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIC8qIHN0eWxpbmcgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC8qIFNldCB0aGUgYmFja2dyb3VuZCBpbiBjYXNlIGl0IG92ZXJsYXBzIHRoZSBjb250ZW50ICovXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC8qIFNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2MDc3MzQxL2hvdy10by1yZXNldC1hbGwtZGVmYXVsdC1zdHlsZXMtb2YtdGhlLWh0bWw1LWJ1dHRvbi1lbGVtZW50ICovXG4gIC5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jbG9zZS1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtaW1hZ2Uge1xuICAgIC8qIHN0eWxpbmcgKi9cbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmVhdGhlcmxpZ2h0LWlmcmFtZSAuZmVhdGhlcmxpZ2h0LWNvbnRlbnQge1xuICAgIC8qIHJlbW92ZWQgdGhlIGJvcmRlciBmb3IgaW1hZ2UgY3JvcGluZyBzaW5jZSBpZnJhbWUgaXMgZWRnZSB0byBlZGdlICovXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLmZlYXRoZXJsaWdodCBpZnJhbWUge1xuICAgIC8qIHN0eWxpbmcgKi9cbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmZlYXRoZXJsaWdodCAqIHtcbiAgICAvKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25vZWxib3NzL2ZlYXRoZXJsaWdodC9pc3N1ZXMvNDIgKi9cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuXG4vKiBoYW5kbGluZyBwaG9uZXMgYW5kIHNtYWxsIHNjcmVlbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jb250ZW50IHtcbiAgICAvKiBkaW1lbnNpb25zOiBtYXhpbWl6ZSBsaWdodGJveCB3aXRoIGZvciBzbWFsbCBzY3JlZW5zICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1heC1oZWlnaHQ6IDk4JTtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9IH1cblxuLyogaGlkZSBub24gZmVhdGhlcmxpZ2h0IGl0ZW1zIHdoZW4gcHJpbnRpbmcgKi9cbkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHtcbiAgICBzaXplOiBsYW5kc2NhcGU7IH1cbiAgaHRtbC53aXRoLWZlYXRoZXJsaWdodCA+ICogPiA6bm90KC5mZWF0aGVybGlnaHQpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXG4gKiBGZWF0aGVybGlnaHQgR2FsbGVyeSDigJMgYW4gZXh0ZW5zaW9uIGZvciB0aGUgdWx0cmEgc2xpbSBqUXVlcnkgbGlnaHRib3hcbiAqIFZlcnNpb24gMS43LjkgLSBodHRwOi8vbm9lbGJvc3MuZ2l0aHViLmlvL2ZlYXRoZXJsaWdodC9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNywgTm/Dq2wgUmFvdWwgQm9zc2FydCAoaHR0cDovL3d3dy5ub2VsYm9zcy5jb20pXG4gKiBNSVQgTGljZW5zZWQuXG4qKi9cbkBtZWRpYSBhbGwge1xuICAuZmVhdGhlcmxpZ2h0LW5leHQsXG4gIC5mZWF0aGVybGlnaHQtcHJldmlvdXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDgwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLyogcHJldmVudGluZyB0ZXh0IHNlbGVjdGlvbiAqL1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvKiBJRTkgaGFjaywgb3RoZXJ3aXNlIG5hdmlnYXRpb24gZG9lc24ndCBhcHBlYXIgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuZmVhdGhlcmxpZ2h0LXByZXZpb3VzIHtcbiAgICBsZWZ0OiAyNXB4O1xuICAgIHJpZ2h0OiA4MCU7IH1cbiAgLmZlYXRoZXJsaWdodC1uZXh0OmhvdmVyLFxuICAuZmVhdGhlcmxpZ2h0LXByZXZpb3VzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG4gIC5mZWF0aGVybGlnaHQtbmV4dCBzcGFuLFxuICAuZmVhdGhlcmxpZ2h0LXByZXZpb3VzIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUlO1xuICAgIHdpZHRoOiA4MiU7XG4gICAgLyogY2VudGVyIGhvcml6b250YWxseSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgLyogY2VudGVyIHZlcnRpY2FsbHkgKi9cbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA1cHggI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuZmVhdGhlcmxpZ2h0LW5leHQgc3BhbiB7XG4gICAgcmlnaHQ6IDUlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmZlYXRoZXJsaWdodC1uZXh0OmhvdmVyIHNwYW4sXG4gIC5mZWF0aGVybGlnaHQtcHJldmlvdXM6aG92ZXIgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mZWF0aGVybGlnaHQtc3dpcGUtYXdhcmUgLmZlYXRoZXJsaWdodC1uZXh0LFxuICAuZmVhdGhlcmxpZ2h0LXN3aXBlLWF3YXJlIC5mZWF0aGVybGlnaHQtcHJldmlvdXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogSGlkZSBuYXZpZ2F0aW9uIHdoaWxlIGxvYWRpbmcgKi9cbiAgLmZlYXRoZXJsaWdodC1sb2FkaW5nIC5mZWF0aGVybGlnaHQtcHJldmlvdXMsIC5mZWF0aGVybGlnaHQtbG9hZGluZyAuZmVhdGhlcmxpZ2h0LW5leHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogSGlkZSBuYXZpZ2F0aW9uIGluIGNhc2Ugb2Ygc2luZ2xlIGltYWdlICovXG4gIC5mZWF0aGVybGlnaHQtZmlyc3Qtc2xpZGUuZmVhdGhlcmxpZ2h0LWxhc3Qtc2xpZGUgLmZlYXRoZXJsaWdodC1wcmV2aW91cyxcbiAgLmZlYXRoZXJsaWdodC1maXJzdC1zbGlkZS5mZWF0aGVybGlnaHQtbGFzdC1zbGlkZSAuZmVhdGhlcmxpZ2h0LW5leHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBBbHdheXMgZGlzcGxheSBhcnJvd3Mgb24gdG91Y2ggZGV2aWNlcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSB7XG4gIC5mZWF0aGVybGlnaHQtbmV4dDpob3ZlcixcbiAgLmZlYXRoZXJsaWdodC1wcmV2aW91czpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuZmVhdGhlcmxpZ2h0LW5leHQgc3BhbixcbiAgLmZlYXRoZXJsaWdodC1wcmV2aW91cyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qIGhhbmRsaW5nIHBob25lcyBhbmQgc21hbGwgc2NyZWVucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZlYXRoZXJsaWdodC1uZXh0LFxuICAuZmVhdGhlcmxpZ2h0LXByZXZpb3VzIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgbGVmdDogODUlOyB9XG4gIC5mZWF0aGVybGlnaHQtcHJldmlvdXMge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IDg1JTsgfVxuICAuZmVhdGhlcmxpZ2h0LW5leHQgc3BhbixcbiAgLmZlYXRoZXJsaWdodC1wcmV2aW91cyBzcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG4vKiBWYXJpYWJsZXNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQnJlYWtwb2ludHNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogPVJlc2V0IGRlZmF1bHQgYnJvd3NlciBDU1MuIEJhc2VkIG9uIHdvcmsgYnkgRXJpYyBNZXllcjogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9pbmRleC5odG1sXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBmb250LCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7IH1cbiAgYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuZGVsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLyogdGFibGVzIHN0aWxsIG5lZWQgJ2NlbGxzcGFjaW5nPVwiMFwiJyBpbiB0aGUgbWFya3VwICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbmEgaW1nIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIFdvcmRQcmVzcyBDb3JlICovXG4uYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7IH1cblxuLmFsaWduY2VudGVyLCBkaXYuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bzsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDsgfVxuXG5hIGltZy5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDVweCAwIDIwcHggMjBweDsgfVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDsgfVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7IH1cblxuYSBpbWcuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ud3AtY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7XG4gIG1heC13aWR0aDogOTYlO1xuICAvKiBJbWFnZSBkb2VzIG5vdCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhICovXG4gIHBhZGRpbmc6IDVweCAzcHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7IH1cbiAgLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDsgfVxuICAud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDVweCAwIDIwcHggMjBweDsgfVxuICAud3AtY2FwdGlvbiBpbWcge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA5OC41JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNHB4IDVweDsgfVxuXG4uaWNvbi1nb29nbGUge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAtNThweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgICAuaWNvbi1nb29nbGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGVAMi5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTVweCAxMDFweDsgfSB9XG5cbi5pY29uLXlvdXR1YmUge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAtODNweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgICAuaWNvbi15b3V0dWJlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlQDIucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTE1cHggMTAxcHg7IH0gfVxuXG4uaWNvbi1tYWlsIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1cHggLTMzcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgLmljb24tbWFpbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZUAyLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNXB4IDEwMXB4OyB9IH1cblxuLmljb24tc2VhcmNoLCAuaW1hZ2UtZ2FsbGVyeSAuaW1hZ2UgYTphZnRlciB7XG4gIHdpZHRoOiAyM3B4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03M3B4IC0ycHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgLmljb24tc2VhcmNoLCAuaW1hZ2UtZ2FsbGVyeSAuaW1hZ2UgYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZUAyLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNXB4IDEwMXB4OyB9IH1cblxuLmljb24tcGhvbmUge1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgLmljb24tcGhvbmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGVAMi5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTVweCAxMDFweDsgfSB9XG5cbi5pY29uLWxlZnQsIC5zZWN0aW9uLXByb2R1Y3RzIC5ieC1jb250cm9scyBhLmJ4LXByZXYge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMikge1xuICAgIC5pY29uLWxlZnQsIC5zZWN0aW9uLXByb2R1Y3RzIC5ieC1jb250cm9scyBhLmJ4LXByZXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGVAMi5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTVweCAxMDFweDsgfSB9XG5cbi5pY29uLXJpZ2h0LCAuc2VjdGlvbi1wcm9kdWN0cyAuYngtY29udHJvbHMgYSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTFweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgICAuaWNvbi1yaWdodCwgLnNlY3Rpb24tcHJvZHVjdHMgLmJ4LWNvbnRyb2xzIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGVAMi5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTVweCAxMDFweDsgfSB9XG5cbi8qIExheW91dFxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZnVsbC1yb3cge1xuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuZnVsbC1yb3cge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIC5mdWxsLXJvdyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLmlubmVyLWNvbnRlbnQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmlubmVyLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmVvU2Fuc1Byby1NZWRpdW0nO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzM0QzRBRl8wXzAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzM0QzRBRl8wXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvMzRDNEFGXzBfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMzRDNEFGXzBfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzM0QzRBRl8wXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzQ3NEE1MztcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgY29sb3I6ICMxRjNGOTA7XG4gIGZvbnQtZmFtaWx5OiBOZW9TYW5zUHJvLU1lZGl1bSwgc2FucztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuaDEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbjogMCAwIDE1cHggMDsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luOiAwIDAgMjVweCAwOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDE1cHggMCA0cHggMDsgfVxuICBoMyBhIHtcbiAgICBjb2xvcjogIzI4MzkyNjsgfVxuXG5hIHtcbiAgY29sb3I6ICMxRjNGOTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIG1hcmdpbjogMCAwIDIwcHggMzBweDsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gIG1hcmdpbjogMCAwIDIwcHggMzBweDsgfVxuXG5ociB7XG4gIGNvbG9yOiAjRUVFRUVFO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFO1xuICBoZWlnaHQ6IDNweDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIGNsZWFyOiBib3RoOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5lbnRyeSB1bCB7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi5lbnRyeSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuQGtleWZyYW1lcyBmYWRlaW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfSB9XG5cbi8qIEJ1dHRvbnNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYS5idG4ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3MEMyM0I7XG4gIHBhZGRpbmc6IDAgMCAzcHggMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBhLmJ0bjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzFGM0Y5MDsgfVxuXG4uYnRuLWZpbGwsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjNzBDMjNCO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogMTRweCAyNXB4IDE0cHggMjVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAuYnRuLWZpbGw6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMxRjNGOTA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIFNlY3Rpb25zXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWN0aW9uLXJvdy1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAuc2VjdGlvbi1yb3ctY2VudGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2VjdGlvbi1jb250ZW50IC50ZXh0LWxlZnQge1xuICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDY2LjY2NjY2NjY2NjdweCk7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuc2VjdGlvbi1jb250ZW50IC50ZXh0LWxlZnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQgLnRleHQtbGVmdCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLnNlY3Rpb24tY29udGVudCAuY29udGVudC1yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNTMuMzMzMzMzMzMzM3B4KTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQgLmNvbnRlbnQtcmlnaHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQgLmNvbnRlbnQtcmlnaHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5zZWN0aW9uLWNvbnRlbnQgLmNvbHVtbi0xLTIge1xuICB3aWR0aDogY2FsYyg1MCUgLSA2MHB4KTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQgLmNvbHVtbi0xLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQgLmNvbHVtbi0xLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5zZWN0aW9uLXRleHQgLnRleHQtbGVmdCB7XG4gIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gNjMuMzMzMzMzMzMzM3B4KTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5zZWN0aW9uLXRleHQgLnRleHQtbGVmdCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgLnNlY3Rpb24tdGV4dCAudGV4dC1sZWZ0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuICAuc2VjdGlvbi10ZXh0IC50ZXh0LWxlZnQgaDQge1xuICAgIGNvbG9yOiAjNzBDMjNCO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuXG4uc2VjdGlvbi10ZXh0IC52aWRlby1yaWdodCB7XG4gIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gIC5zZWN0aW9uLXRleHQgLnZpZGVvLXJpZ2h0IC5idG4ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uc2VjdGlvbi10ZXh0IC5jb250ZW50LXJpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSA1Ni42NjY2NjY2NjY3cHgpO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnNlY3Rpb24tdGV4dCAuY29udGVudC1yaWdodCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgLnNlY3Rpb24tdGV4dCAuY29udGVudC1yaWdodCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLnNlY3Rpb24tdGV4dCAuaW1hZ2UtcmlnaHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAuc2VjdGlvbi10ZXh0IC52aWRlby1yaWdodCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnNlY3Rpb24tdGV4dCAuY29udGVudC1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5zZWN0aW9uLXBhZGRpbmcge1xuICBwYWRkaW5nOiA1MHB4IDAgNzBweCAwOyB9XG5cbi5zZWN0aW9uLXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZzogNzBweCAwIDAgMDsgfVxuXG4uc2VjdGlvbi1wcm9kdWN0cyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9iZy1hc3NvcnRpbWVudC5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDYwcHggMCA1MHB4IDQwcHg7IH1cbiAgLnNlY3Rpb24tcHJvZHVjdHMgaDMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHRvcDogMThweDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cyAuYngtY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDBweDtcbiAgICBib3R0b206IC0yM3B4OyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMgLmJ4LWNvbnRyb2xzIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGM0Y5MDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICB3aWR0aDogNTBweDsgfVxuICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmJ4LWNvbnRyb2xzIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYyZDY2OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICAuc2VjdGlvbi1wcm9kdWN0cyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzIGgzIHtcbiAgICAgICAgbGVmdDogMjBweDsgfSB9XG5cbi5zZWN0aW9uLXByb2R1Y3RzLWdyaWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcGFkZGluZzogMTBweCAwIDcwcHggMDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cy1ncmlkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cy1ncmlkIC5wcm9kdWN0cy1ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgODBweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2JnLWFzc29ydGltZW50LmpwZ1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzLWdyaWQgLnByb2R1Y3RzLWdyaWQ6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMtZ3JpZCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDUzLjMzMzMzMzMzMzNweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgLnNlY3Rpb24tcHJvZHVjdHMtZ3JpZCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdDpudGgtb2YtdHlwZSgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzLWdyaWQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3Q6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgICAgLnNlY3Rpb24tcHJvZHVjdHMtZ3JpZCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy1ncmlkIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTY0cHg7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzLWdyaWQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QgLnByb2R1Y3QtdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDIwcHggMDsgfVxuICAgICAgICAuc2VjdGlvbi1wcm9kdWN0cy1ncmlkIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0IC5wcm9kdWN0LXRleHQgaDIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5zZWN0aW9uLXByb2R1Y3RzLWdyaWQgLnByb2R1Y3RzLWdyaWQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy1ncmlkIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIC5zZWN0aW9uLXByb2R1Y3RzLWdyaWQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzLWdyaWQgLnByb2R1Y3Q6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfSB9XG5cbi5wcm9kdWN0cy1zbGlkZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5wcm9kdWN0cy1zbGlkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wcm9kdWN0cy1zbGlkZXIgLnByb2R1Y3Qge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgLnByb2R1Y3RzLXNsaWRlciAucHJvZHVjdCAucHJvZHVjdC1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNDBweDsgfVxuICAgIC5wcm9kdWN0cy1zbGlkZXIgLnByb2R1Y3QgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmbGV4OiAwIDAgMjAwcHg7IH1cbiAgICAgIC5wcm9kdWN0cy1zbGlkZXIgLnByb2R1Y3QgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNjRweDsgfVxuICAgIC5wcm9kdWN0cy1zbGlkZXIgLnByb2R1Y3QgLnByb2R1Y3QtdGV4dCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgICAgLnByb2R1Y3RzLXNsaWRlciAucHJvZHVjdCAucHJvZHVjdC10ZXh0IGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICAucHJvZHVjdHMtc2xpZGVyIC5wcm9kdWN0IHtcbiAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5wcm9kdWN0cy1zbGlkZXIgLnByb2R1Y3QgLnByb2R1Y3QtaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgLnByb2R1Y3RzLXNsaWRlciAucHJvZHVjdCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cblxuLyogV2lkZ2V0XG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC53aWRnZXQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLndpZGdldC1ibHVlIHtcbiAgYmFja2dyb3VuZDogIzFGM0Y5MCB1cmwoXCIuLi9pbWFnZXMvY29udGFjdC5wbmdcIikgbm8tcmVwZWF0IGJvdHRvbSByaWdodCAxNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNDBweCAyMHB4IDQwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAud2lkZ2V0LWJsdWUgaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDsgfVxuICAud2lkZ2V0LWJsdWUgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLndpZGdldC1ibHVlIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi53aWRnZXQtZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjNzBDMjNCO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMjBweDsgfVxuICAud2lkZ2V0LWdyZWVuIGgyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7IH1cbiAgLndpZGdldC1ncmVlbiAubGlzdC1pbWFnZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLndpZGdldC1ncmVlbiAubGlzdC1pbWFnZXMgbGkge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nOiA2cHg7IH1cbiAgICAgIC53aWRnZXQtZ3JlZW4gLmxpc3QtaW1hZ2VzIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgICAgIC53aWRnZXQtZ3JlZW4gLmxpc3QtaW1hZ2VzIGxpIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi8qIFRhYmxlXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cbiAgdGFibGUgdGhlYWQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzBDMjNCO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMCAwIDVweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgdGFibGUgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgdGFibGUgdGFibGUgdGQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIEltYWdlIGdhbGxlcnlcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmltYWdlLWdhbGxlcnkge1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgNHB4KTsgfVxuICAuaW1hZ2UtZ2FsbGVyeTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmltYWdlLWdhbGxlcnkgLmltYWdlIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNjY2NjY2NjY2N3B4KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmltYWdlLWdhbGxlcnkgLmltYWdlIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaW1hZ2UtZ2FsbGVyeSAuaW1hZ2UgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IGZhZGVpbiAwLjNzO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmltYWdlLWdhbGxlcnkgLmltYWdlIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDAuNHM7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaW1hZ2UtZ2FsbGVyeSAuaW1hZ2UgYSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmltYWdlLWdhbGxlcnkgLmltYWdlIGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzMSwgNjMsIDE0NCwgMC43KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgICAuaW1hZ2UtZ2FsbGVyeSAuaW1hZ2UgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgLmltYWdlLWdhbGxlcnkgLmltYWdlIGE6YmVmb3JlLCAuaW1hZ2UtZ2FsbGVyeSAuaW1hZ2UgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9IH1cblxuLyogTG9hZGVyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWNlIHtcbiAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5wYWNlLWluYWN0aXZlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFjZSAucGFjZS1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6ICM3MEMyM0I7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMjAwMDtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3B4OyB9XG5cbi8qIEZvcm1cbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSwgLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzFGM0Y5MDtcbiAgcGFkZGluZzogOXB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzcwQzIzQjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi8qIEhlYWRlclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgLyogUmVzcG9uc2l2ZVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovIH1cbiAgLnBhY2UtZG9uZSAjaGVhZGVyIC5oZWFkZXItdG9wIHtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzcwQzIzQjsgfVxuICAjaGVhZGVyIC5oZWFkZXItdG9wIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgxMTIsIDE5NCwgNTksIDAuMSk7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNoZWFkZXIgLmhlYWRlci10b3AgLmhlYWRlci10b3AtaW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAgICAgI2hlYWRlciAuaGVhZGVyLXRvcCAuaGVhZGVyLXRvcC1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5tb2JpbGUtbWVudSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE4cHg7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgI2hlYWRlciAuaGVhZGVyLXRvcCAubG9nbyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIG1hcmdpbjogMjJweCAwIDIwcHggMDsgfVxuICAgICNoZWFkZXIgLmhlYWRlci10b3AgLnNlcnZpY2UtbWVudSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICNoZWFkZXIgLmhlYWRlci10b3AgLnNlcnZpY2UtbWVudSBhIHtcbiAgICAgICAgY29sb3I6ICM0NzRBNTM7IH1cbiAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5sYW5nLXN3aXRjaCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5sYW5nLXN3aXRjaDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2YxZjllYztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyNHB4OyB9XG4gICAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5sYW5nLXN3aXRjaCA+IHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICNoZWFkZXIgLmhlYWRlci10b3AgLmxhbmctc3dpdGNoID4gdWwgPiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDc3cHg7IH1cbiAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5sYW5nLXN3aXRjaCA+IHVsID4gbGk6aG92ZXIgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5sYW5nLXN3aXRjaCA+IHVsID4gbGkgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgI2hlYWRlciAuaGVhZGVyLXRvcCAubGFuZy1zd2l0Y2ggLmxhbmctY29sbGFwc2Uge1xuICAgICAgICBib3gtc2hhZG93OiA0cHggNHB4IDEzcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjNzBDMjNCO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDBweCAwIDAgLTEwcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgICAgICNoZWFkZXIgLmhlYWRlci10b3AgLmxhbmctc3dpdGNoIC5sYW5nLWNvbGxhcHNlIGxpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAgICAgICAgICNoZWFkZXIgLmhlYWRlci10b3AgLmxhbmctc3dpdGNoIC5sYW5nLWNvbGxhcHNlIGxpIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5tZW51IHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5tZW51IGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc3cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAjaGVhZGVyIC5oZWFkZXItbWFpbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTIwMHB4OyB9XG4gICAgI2hlYWRlciAuaGVhZGVyLW1haW46OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI2hlYWRlciAuaGVhZGVyLW1haW4gLm1vYmlsZS1zZXJ2aWNlLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM3MTgxYTc7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzcxODFhNzsgfVxuICAgICAgI2hlYWRlciAuaGVhZGVyLW1haW4gLm1vYmlsZS1zZXJ2aWNlLW1lbnUgdWwge1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAgICAgICAjaGVhZGVyIC5oZWFkZXItbWFpbiAubW9iaWxlLXNlcnZpY2UtbWVudSB1bCBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNoZWFkZXIgLmhlYWRlci1tYWluIC5tb2JpbGUtbGFuZy1zd2l0Y2gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4IDA7IH1cbiAgICAgICNoZWFkZXIgLmhlYWRlci1tYWluIC5tb2JpbGUtbGFuZy1zd2l0Y2ggdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgI2hlYWRlciAuaGVhZGVyLW1haW4gLm1vYmlsZS1sYW5nLXN3aXRjaCB1bCBsaSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItbWFpbiAubW9iaWxlLWxhbmctc3dpdGNoIHVsIGxpIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzUxNmViNTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgICAgICAgICNoZWFkZXIgLmhlYWRlci1tYWluIC5tb2JpbGUtbGFuZy1zd2l0Y2ggdWwgbGkgYTpob3ZlciwgI2hlYWRlciAuaGVhZGVyLW1haW4gLm1vYmlsZS1sYW5nLXN3aXRjaCB1bCBsaSBhLmN1cnJlbnQtbGFuZyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3MEMyM0I7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICNoZWFkZXIgLmhlYWRlci10b3AgLmZ1bGwtcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNoZWFkZXIgLmhlYWRlci10b3AgLm1vYmlsZS1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI2hlYWRlciAuaGVhZGVyLXRvcCAubG9nbyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMTRweCBhdXRvOyB9XG4gICAgI2hlYWRlciAuaGVhZGVyLXRvcCAuc2VydmljZS1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICAgI2hlYWRlciAuaGVhZGVyLXRvcCAubGFuZy1zd2l0Y2gge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICNoZWFkZXIgLmhlYWRlci10b3AgLmxhbmctc3dpdGNoOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI2hlYWRlciAuaGVhZGVyLXRvcCAubGFuZy1zd2l0Y2ggPiB1bCA+IGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH1cbiAgICAjaGVhZGVyIC5oZWFkZXItdG9wIC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjaGVhZGVyIC5oZWFkZXItbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMUYzRjkwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyB9XG4gICAgICAjaGVhZGVyIC5oZWFkZXItbWFpbi5tb2JpbGUtb3BlbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZURvd247XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzksIDAuMDcsIDAuMzgsIDAuOTMpO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI2hlYWRlciAuaGVhZGVyLW1haW4ubW9iaWxlLWNsb3NlZCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVVwO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc5LCAwLjA3LCAwLjM4LCAwLjkzKTsgfVxuICAgICAgI2hlYWRlciAuaGVhZGVyLW1haW4gLm1vYmlsZS1zZXJ2aWNlLW1lbnUsXG4gICAgICAjaGVhZGVyIC5oZWFkZXItbWFpbiAubW9iaWxlLWxhbmctc3dpdGNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgI2hlYWRlciAuaGVhZGVyLXRvcCAuc2VydmljZS1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgI2hlYWRlciAuaGVhZGVyLXRvcCAubG9nbyB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4vKiBNZW51XG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnVsLm1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuLm1haW4tbWVudSB7XG4gIGhlaWdodDogNjRweDsgfVxuICAubWFpbi1tZW51ID4gdWwubWVudSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm1haW4tbWVudSA+IHVsLm1lbnUgbGkubWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLm1haW4tbWVudSA+IHVsLm1lbnUgbGkubWVudS1pdGVtID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBOZW9TYW5zUHJvLU1lZGl1bSwgc2FucztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDEycHggMjFweCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAubWFpbi1tZW51ID4gdWwubWVudSBsaS5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuICAgICAgLm1haW4tbWVudSA+IHVsLm1lbnUgbGkubWVudS1pdGVtLmN1cnJlbnQtcGFnZS1hbmNlc3RvciA+IGEsXG4gICAgICAubWFpbi1tZW51ID4gdWwubWVudSBsaS5tZW51LWl0ZW06aG92ZXIgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzcwQzIzQjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLm1haW4tbWVudSA+IHVsLm1lbnUgbGkubWVudS1pdGVtOmhvdmVyIC5oZWFkZXItbWVnYS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5tYWluLW1lbnUge1xuICAgICAgcGFkZGluZzogMTVweCAwIDIwcHggMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLm1haW4tbWVudSA+IHVsLm1lbnUgbGkubWVudS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLm1haW4tbWVudSA+IHVsLm1lbnUgbGkubWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogMThweCAwIDhweCAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMUYzRjkwOyB9XG4gICAgICAgIC5tYWluLW1lbnUgPiB1bC5tZW51IGxpLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gICAgICAgIC5tYWluLW1lbnUgPiB1bC5tZW51IGxpLm1lbnUtaXRlbS5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgPiBhLFxuICAgICAgICAubWFpbi1tZW51ID4gdWwubWVudSBsaS5tZW51LWl0ZW06aG92ZXIgPiBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzcwQzIzQjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuLmhlYWRlci1tZWdhLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgIzcwQzIzQjtcbiAgYm94LXNoYWRvdzogNHB4IDRweCAxM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAxMHB4IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjJzLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICB0b3A6IDE0M3B4O1xuICB3aWR0aDogNjgwcHg7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmhlYWRlci1tZWdhLW1lbnUgaDQge1xuICAgIGNvbG9yOiAjNDc0QTUzO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmhlYWRlci1tZWdhLW1lbnUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmhlYWRlci1tZWdhLW1lbnUgdWwubGlzdC1pbWFnZXMgbGkge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgLmhlYWRlci1tZWdhLW1lbnUgdWwubGlzdC1pbWFnZXMgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5oZWFkZXItbWVnYS1tZW51IHVsLmxpc3QtaW1hZ2VzIGxpIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgLmhlYWRlci1tZWdhLW1lbnUgdWwubGlzdC10ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIC5oZWFkZXItbWVnYS1tZW51IC5tZW51LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLmhlYWRlci1tZWdhLW1lbnUgLm1lbnUtcmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5oZWFkZXItbWVnYS1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgICAuaGVhZGVyLW1lZ2EtbWVudSBoNCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5oZWFkZXItbWVnYS1tZW51IGEge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmhlYWRlci1tZWdhLW1lbnUgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmhlYWRlci1tZWdhLW1lbnUgdWwubGlzdC1pbWFnZXMgbGkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAuaGVhZGVyLW1lZ2EtbWVudSB1bC5saXN0LWltYWdlcyBsaSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLmhlYWRlci1tZWdhLW1lbnUgdWwubGlzdC1pbWFnZXMgbGkgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlci1tZWdhLW1lbnUgdWwubGlzdC10ZXh0IHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAgICAgLmhlYWRlci1tZWdhLW1lbnUgLm1lbnUtbGVmdCwgLmhlYWRlci1tZWdhLW1lbnUgLm1lbnUtcmlnaHQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYnRuLW1lbnUge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiAuNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYnRuLW1lbnUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMxRjNGOTA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmJ0bi1tZW51IHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRvcDogMHB4OyB9XG4gICAgLmJ0bi1tZW51IHNwYW46bnRoLWNoaWxkKDIpLCAuYnRuLW1lbnUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgdG9wOiAxMHB4OyB9XG4gICAgLmJ0bi1tZW51IHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRvcDogMjBweDsgfVxuICAuYnRuLW1lbnUub3BlbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAwJTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmJ0bi1tZW51Lm9wZW4gc3BhbjpudGgtY2hpbGQoMikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmJ0bi1tZW51Lm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5idG4tbWVudS5vcGVuIHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgd2lkdGg6IDAlO1xuICAgIGxlZnQ6IDUwJTsgfVxuXG4vKiBIZWFkZXIgaW1hZ2UgLyB0aXRsZVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaGVhZGVyLWltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmhvbWUgLmhlYWRlci1pbWFnZSB7XG4gICAgaGVpZ2h0OiAzODBweDsgfVxuICAuaGVhZGVyLWltYWdlIC5oZWFkZXItaW1hZ2UtaW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB3aWR0aDogMTIwMHB4OyB9XG4gICAgLmhlYWRlci1pbWFnZSAuaGVhZGVyLWltYWdlLWlubmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGVhZGVyLWltYWdlIGgxIHtcbiAgICBhbmltYXRpb246IGZhZGVpbiAxLjVzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuaGVhZGVyLWltYWdlIGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAuaGVhZGVyLWltYWdlIHtcbiAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgIC5oZWFkZXItaW1hZ2UgaDEge1xuICAgICAgICBmb250LXNpemU6IDM0cHg7IH0gfVxuXG4uaGVhZGVyLXRpdGxlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgcGFkZGluZzogNDBweDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luOiAzMHB4IDAgMCAwOyB9XG4gIC5oZWFkZXItdGl0bGUgaDEge1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKiBGb290ZXJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2Zvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMzQjRGM0Q7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBOZW9TYW5zUHJvLU1lZGl1bSwgc2FucztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBwYWRkaW5nOiA2MHB4IDAgMzBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2Zvb3RlciAuaW5uZXItZm9vdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7IH1cbiAgICAjZm9vdGVyIC5pbm5lci1mb290ZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNmb290ZXIgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgI2Zvb3RlciAuZm9vdGVyLWxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTkycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAjZm9vdGVyIC5mb290ZXItbG9nbyAudG8tdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBuLXJlc2l6ZTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDIzcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7IH1cbiAgI2Zvb3RlciB1bC5tZW51IHtcbiAgICBtYXJnaW46IDMwcHggMCAzMHB4IDA7IH1cbiAgICAjZm9vdGVyIHVsLm1lbnUgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9XG4gICNmb290ZXIgLmNvbnRhY3QtaW5mbyB7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICM3MEMyM0I7XG4gICAgcGFkZGluZzogMzBweCAwIDMwcHggMDsgfVxuICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29sdW1uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDI1cHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29sdW1uIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29sdW1uIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuICAjZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2I5YjliOTsgfVxuICAgICNmb290ZXIgLmNvcHlyaWdodCBhIHtcbiAgICAgIGNvbG9yOiAjYjliOWI5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAjZm9vdGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICNmb290ZXIgLmZvb3Rlci1sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAjZm9vdGVyIHVsLm1lbnUgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOyB9XG4gICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbHVtbiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuIl19 */