/* Minification failed. Returning unminified contents.
(2335,36): run-time error CSS1030: Expected identifier, found '-'
(2335,36): run-time error CSS1031: Expected selector, found '-'
(2335,36): run-time error CSS1025: Expected comma or open brace, found '-'
(6797,24): run-time error CSS1063: Expected calculation unit, found '$'
(6797,24): run-time error CSS1064: Expected calculation product, found '$'
(6797,24): run-time error CSS1065: Expected calculation sum, found '$'
(6797,24): run-time error CSS1063: Expected calculation unit, found '$'
(6797,24): run-time error CSS1064: Expected calculation product, found '$'
(6797,24): run-time error CSS1065: Expected calculation sum, found '$'
(6797,24): run-time error CSS1034: Expected closing parenthesis, found '$'
(6797,24): run-time error CSS1042: Expected function, found '$'
(6797,24): run-time error CSS1062: Expected semicolon or closing curly-brace, found '$'
(9205,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9206,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9221,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9222,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9223,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9224,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9225,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9226,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9227,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9228,4): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9260,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9260,55): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9264,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9264,55): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9267,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9267,55): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9270,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9270,55): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9274,34): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9277,31): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9282,25): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9284,29): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9288,25): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9289,24): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9290,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9293,25): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9297,25): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9300,20): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9309,16): run-time error CSS1039: Token not allowed after unary operator: '-pd-linkfarbe'
(9325,30): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9328,32): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9342,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9346,17): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9352,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2hell'
(9357,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2hell'
(9363,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9366,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1hell'
(9369,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1hell'
(9375,21): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9378,21): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9381,24): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9419,18): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9432,24): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9445,30): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9477,16): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9493,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9509,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9525,20): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9525,38): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9525,56): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9529,33): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9546,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9547,24): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9563,31): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9564,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-hgrau'
(9573,21): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9576,29): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9580,24): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9589,25): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9591,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9594,20): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9595,20): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9595,38): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9604,33): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9605,37): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9608,25): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9611,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9614,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9626,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9637,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9640,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9643,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-dgrau'
(9646,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-hgrau'
(9649,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-grau'
(9657,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9660,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1hell'
(9663,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1hell'
(9666,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9669,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2hell'
(9672,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2hell'
(9690,18): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9735,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-hgrau'
(9736,22): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9750,18): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9775,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9840,17): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9841,21): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9844,17): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9848,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9855,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9856,30): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9859,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9860,30): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9863,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9866,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9871,22): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9872,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9873,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9879,22): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9880,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9881,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9885,19): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9890,22): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9891,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9892,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9900,22): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9901,26): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9902,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9906,19): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9945,29): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9953,38): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9957,29): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9964,28): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9966,28): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9968,28): run-time error CSS1039: Token not allowed after unary operator: '-pd-fontsize'
(9972,30): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9977,30): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9977,60): run-time error CSS1039: Token not allowed after unary operator: '-pd-abstand'
(9985,16): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(9988,16): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(9991,16): run-time error CSS1039: Token not allowed after unary operator: '-pd-dgrau'
(10000,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe1'
(10003,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-farbe2'
(10006,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-grau'
(10009,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-hgrau'
(10012,27): run-time error CSS1039: Token not allowed after unary operator: '-pd-dgrau'
 */
@charset "UTF-8";
/* Überschreibt Standardfarben der variables.scss für das Erstellen der vorlage.css */
/* Gestaltung der Standard HTML-Elemente */
@font-face {
   font-family: 'Open Sans';
   src: url("../../../../Scripts/lib/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot") format("eot"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot?#iefix") format("embedded-opentype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Regular/OpenSans-Regular.woff2") format("woff2"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Regular/OpenSans-Regular.woff") format("woff"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Regular/OpenSans-Regular.ttf") format("truetype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Regular/OpenSans-Regular.svg#svgFontName") format("svg"); }

@font-face {
   font-family: 'Open Sans';
   src: url("../../../../Scripts/lib/open-sans-fontface/fonts/Bold/OpenSans-Bold.eot") format("eot"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Bold/OpenSans-Bold.eot?#iefix") format("embedded-opentype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Bold/OpenSans-Bold.woff2") format("woff2"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Bold/OpenSans-Bold.woff") format("woff"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Bold/OpenSans-Bold.ttf") format("truetype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Bold/OpenSans-Bold.svg#svgFontName") format("svg");
   font-weight: bold; }

@font-face {
   font-family: 'Open Sans';
   src: url("../../../../Scripts/lib/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.eot") format("eot"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.woff2") format("woff2"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.woff") format("woff"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.ttf") format("truetype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.svg#svgFontName") format("svg");
   font-weight: 600; }

@font-face {
   font-family: 'Open Sans';
   src: url("../../../../Scripts/lib/open-sans-fontface/fonts/Italic/OpenSans-Italic.eot") format("eot"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Italic/OpenSans-Italic.eot?#iefix") format("embedded-opentype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Italic/OpenSans-Italic.woff2") format("woff2"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Italic/OpenSans-Italic.woff") format("woff"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Italic/OpenSans-Italic.ttf") format("truetype"), url("../../../../Scripts/lib/open-sans-fontface/fonts/Italic/OpenSans-Italic.svg#svgFontName") format("svg");
   font-style: italic; }

/* Ausblenden eines zu langen Textes mit drei Punkten '...' */
body {
   background: white;
   font-family: "Open Sans", Helvetica, Arial;
   font-size: 14px;
   font-size: 1.4rem;
   overflow-x: hidden; }

.defaultFont {
   font-family: "Open Sans", Helvetica, Arial; }

/* Styling für Überschriften*/
.esH4 {
   color: #1E1E1E;
   text-transform: uppercase;
   font-weight: bold;
   margin-top: 5px;
   margin-bottom: 15px; }

.esH5 {
   color: #1E1E1E;
   text-transform: uppercase;
   font-weight: bold;
   margin-top: 5px;
   margin-bottom: 10px; }

a {
   color: black; }

a:focus,
a:hover {
   color: #1E1E1E; }

.margin-top-sm {
   margin-top: 15px !important; }

.margin-top-md {
   margin-top: 30px !important; }

.margin-top-lg {
   margin-top: 45px !important; }

.padding-base {
   padding: 15px; }

.flex-container {
   display: flex;
   flex-wrap: wrap; }
   .flex-container--verticalCenter {
      align-items: center; }

.bold {
   font-weight: bold; }

.bold600 {
   font-weight: 600; }

.error {
   color: #a94442; }

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

.float-right {
   float: right; }

.fullHeight {
   height: 100%; }

.fullHeightOverflowAuto {
   overflow: auto;
   height: 100%; }

.overflowAuto {
   overflow: auto; }

.overflowHidden {
   overflow: hidden; }

.overflowYAuto {
   overflow-y: auto; }

*:focus {
   outline: 0 none transparent !important; }

.esClearfix:after {
   content: ".";
   display: block;
   clear: both;
   font-size: 0;
   height: 0;
   visibility: hidden; }

.esNoselect {
   -webkit-user-select: none;
      -moz-user-select: none;
       -ms-user-select: none;
           user-select: none; }

.esTextRichtigUmbrechen {
   -webkit-hyphens: auto;
       -ms-hyphens: auto;
           hyphens: auto; }

.esTextZeilenumbruecheBeruecksichtigen {
   white-space: pre-line; }

.esTextNichtUmbrechen {
   white-space: nowrap; }

.esHidden {
   display: none; }

.esInvisible {
   visibility: hidden; }

.esLinkNoDecoration:hover,
.esLinkNoDecoration:focus,
.esLinkNoDecoration {
   text-decoration: none;
   color: inherit; }

#overlay {
   display: none;
   position: fixed;
   background: transparent;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: 10000; }

/* Farben */
.esAkzent1--color {
   color: #1E1E1E; }

/* Drehen von Elementen*/
.esRotate180 {
   -webkit-transform: rotate(180deg);
           transform: rotate(180deg); }

/* Animieren von Elementen */
.esAnimate1s {
   transition: 1s ease-in-out; }

.esCopyText {
   margin-left: 15px;
   cursor: pointer;
   z-index: 1;
   position: relative; }

.esCopxTextSuccess {
   display: none;
   z-index: 0; }
   .esCopxTextSuccess.active {
      display: inline-block;
      -webkit-animation: fadeNachOben 2.5s linear;
              animation: fadeNachOben 2.5s linear; }

@-webkit-keyframes fadeNachOben {
   0% {
      margin-bottom: 0;
      opacity: 1; }
   100% {
      margin-bottom: 40px;
      opacity: 0; } }

@keyframes fadeNachOben {
   0% {
      margin-bottom: 0;
      opacity: 1; }
   100% {
      margin-bottom: 40px;
      opacity: 0; } }

/* Cursor */
*[data-toggle="tooltip"] {
   cursor: pointer; }

/*---- Bootstrap ----*/
.label.label-ausgebucht {
   color: #FFF !important;
   background-color: #D16666;
   margin-left: 5px;
   font-size: 85%; }
   .label.label-ausgebucht.label-ausgebucht--rechts {
      float: right;
      line-height: 16px;
      margin-left: 10px; }
   .label.label-ausgebucht.label-ausgebucht--links {
      margin-right: 5px; }
   .label.label-ausgebucht.label-ausgebucht--gross {
      padding: 0.3em 0.6em 0.4em;
      font-size: 60%;
      line-height: inherit; }

/*----- Drucken -----*/
@media print {
   .esNoPrint, .esGrid--karte .headline.headline--karte h3:before, .esGrid--karte .headline.headline--karte h3:after, .esGrid--kachel .headline.headline--karte h3:before, .esGrid--kachel .headline.headline--karte h3:after, .esGrid--karte .headline.headline--kachel h3:before, .esGrid--karte .headline.headline--kachel h3:after, .esGrid--kachel .headline.headline--kachel h3:before, .esGrid--kachel .headline.headline--kachel h3:after, .esGrid--kachel .gridBadge.gridBadge--blickfang:before, .esGrid--kachel .gridBadge.gridBadge--blickfang:after, .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel .untertitel--kachel:before, .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel .untertitel--kachel:after, .esGrid--karte .gridBadge.gridBadge--blickfang:before, .esGrid--karte .gridBadge.gridBadge--blickfang:after, .esInformationsBox .esGrid--karte .headline.headline--karte h3:before, .esInformationsBox .esGrid--karte .headline.headline--karte h3:after, .esInformationsBox .esGrid--kachel .headline.headline--karte h3:before, .esInformationsBox .esGrid--kachel .headline.headline--karte h3:after, .esInformationsBox .esGrid--karte .headline.headline--kachel h3:before, .esInformationsBox .esGrid--karte .headline.headline--kachel h3:after, .esInformationsBox .esGrid--kachel .headline.headline--kachel h3:before, .esInformationsBox .esGrid--kachel .headline.headline--kachel h3:after, .esInputgroup__input .esInputgroup__bezeichnungWrapper:before, .esInputgroup__input .esInputgroup__bezeichnungWrapper:after {
      display: none !important; } }

/*----- Kursinformationen, siehe Modale in KTN und KAW -----*/
.kursinformationen .kursinformationen--wrapper {
   display: flex;
   flex-direction: column; }

.kursinformationen .kursinformationen--kursTitel, .kursinformationen .kursinformationen--nameKontakt {
   font-size: 18px;
   font-size: 1.8rem;
   font-weight: bold; }

.kursinformationen .kursinformationen--datum {
   font-size: 16px;
   font-size: 1.6rem; }

.kursinformationen .kursinformationen--nameKontakt {
   padding-top: 6px; }

/*----- Bilder -----*/
.img-fit {
   -o-object-fit: scale-down;
      object-fit: scale-down;
   height: 100%; }

/*----- Cookie-Hinweis -----*/
.cc_banner-wrapper {
   z-index: 20001 !important; }

/* IE zickt, banner wird teilweise von Navigation und Content ueberlagert */
.browser__internetexplorer .cc_banner {
   position: absolute; }

.esUnderline {
   border-bottom: 3px solid #0083C6;
   padding-bottom: 2px; }

.esNoRadius {
   border-radius: 0 !important; }

.showNewLines {
   white-space: pre; }

.esClickable:hover {
   cursor: pointer;
   -webkit-user-select: none;
      -moz-user-select: none;
       -ms-user-select: none;
           user-select: none; }

h1 {
   font-size: 30px;
   font-size: 3rem;
   line-height: 42px;
   margin-bottom: 30px; }

h2 {
   font-size: 24px;
   font-size: 2.4rem;
   line-height: 30px;
   margin-bottom: 20px; }

h3 {
   font-size: 20px;
   font-size: 2rem;
   line-height: 26px;
   margin-bottom: 16px; }

h4 {
   font-size: 16px;
   font-size: 1.6rem;
   line-height: 22px;
   margin-bottom: 16px;
   font-weight: 700; }

h5 {
   font-size: 14px;
   font-size: 1.4rem;
   font-weight: bold; }

h6 {
   font-size: 12px;
   font-size: 1.2rem; }

.esLayoutStyles #esPageWrapper h1 {
   color: #0083C6; }

.esLayoutStyles #esPageWrapper h2 {
   color: #0083C6; }

.esLayoutStyles #esPageWrapper h3 {
   color: #0083C6; }

.esLayoutStyles #esPageWrapper h4 {
   color: #0083C6; }

@media screen and (min-width: 992px) {
   .contentLayout-burger {
      display: -ms-grid;
      display: grid;
      grid-gap: 15px;
      -ms-grid-rows: auto 1fr auto;
      grid-template-rows: auto 1fr auto;
      height: 100%; } }

/* Anordnung der Module */
html {
   font-size: 6.25px;
   font-size: 0.625rem; }

html,
body,
#esPageWrapper,
iframe {
   height: 100%; }

#esPageWrapper {
   position: relative; }

iframe {
   border-color: transparent; }

img#logo {
   height: 100%; }

/* Layout-Klassen für Positionierung des Seiteninhalts -> Wrapper-Element in View sorgt für Abstände und Einschränkung der Breite */
.esAbstandOben {
   margin-top: 15px; }

.esAbstandUnten {
   padding-bottom: 15px; }

.esAbstandLinks {
   margin-left: 15px; }

.esAbstandRechts {
   margin-right: 15px; }

.esAbstandScrollbalken {
   padding-right: 2px; }

.esMittigInParentFlex {
   width: 100%;
   min-height: 100%;
   display: flex;
   justify-content: center; }
   @media screen and (min-width: 768px) {
      .esMittigInParentFlex {
         align-items: center; } }

.esVolleSeitenbreiteMitMargin {
   width: 100%;
   padding: 0 15px;
   box-sizing: border-box; }

.esSeitenbreiteMax1200 {
   width: 100%;
   max-width: 1200px;
   padding: 0 15px;
   box-sizing: border-box; }

@media screen and (min-width: 768px) {
   .esEingeschraenkteSeitenbreite {
      margin-left: 15px;
      width: 90%; } }

@media screen and (max-width: 767px) {
   .esEingeschraenkteSeitenbreite {
      padding-left: 15px;
      padding-right: 15px;
      width: 100%;
      box-sizing: border-box; } }

.esEingeschraenkteSeitenbreite--noMargin {
   margin: 0; }

.layout__presentation .esEingeschraenkteSeitenbreite {
   margin-left: 15px;
   margin-right: 15px;
   width: unset; }

/* Ab der Screenbreite "sm" sollen die linken Spalten rechts ein padding von 25px anstatt 15px haben und die rechten umgekehrt */
@media screen and (min-width: 768px) {
   .esGrid2spaltigWithInnerPadding--sm .col-sm-6:nth-child(odd) {
      padding-right: 25px; }
   .esGrid2spaltigWithInnerPadding--sm .row form > .col-sm-6:nth-child(even) {
      padding-left: 25px; } }

.esGridColumnsWithBigBorder .row .esGridColumnsWithBigBorder__column {
   border-right: 10px solid white;
   border-left: 10px solid white; }
   .esGridColumnsWithBigBorder .row .esGridColumnsWithBigBorder__column:first-child {
      border-left: none; }
   .esGridColumnsWithBigBorder .row .esGridColumnsWithBigBorder__column:last-child {
      border-right: none; }

@media screen and (max-width: 767px) {
   .esGridColumnsWithBigBorder .row .esGridColumnsWithBigBorder__column {
      border-right: 10px solid white; } }

.no-gutter,
.esNoGutter {
   padding-left: 0;
   padding-right: 0; }

.esNoMargin {
   margin-left: 0;
   margin-right: 0; }

.esNoMarginTop {
   margin-top: 0 !important; }

.esNoMarginBottom {
   margin-bottom: 0; }

section#esIntro {
   padding-bottom: 15px; }

section#esOutro {
   padding: 15px 0; }

/* stellt Inhalte mit einer sticky Sidebar dar z.B. Register der Detailseite in EPL, TPL*/
.wrapperContentWithSidebarRight {
   display: flex;
   flex-wrap: nowrap;
   width: 100%;
   max-width: 1550px; }
   .wrapperContentWithSidebarRight .content {
      width: 100%; }

@media screen and (max-width: 767px) {
   .wrapperContentWithSidebarRight {
      flex-direction: column-reverse; }
      .wrapperContentWithSidebarRight .sidebar {
         width: 100%;
         margin-left: 0;
         margin-bottom: 15px; } }

@media screen and (min-width: 768px) {
   .wrapperContentWithSidebarRight .sidebar {
      position: sticky;
      align-self: flex-start;
      min-width: 300px;
      margin-left: 15px; } }

.layout__presentation .wrapperContentWithSidebarRight {
   width: unset;
   max-width: unset; }

.flexboxColumn--spacebetween {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin-bottom: 15px; }

@media screen and (min-width: 768px) {
   .flexboxColumn--spacebetween {
      flex-direction: row;
      align-items: flex-start; } }

/* Styles der easySoft-Html-Elemente */
.esFlexContainer {
   display: flex;
   flex-wrap: wrap; }

.esFlexContainer__item {
   margin: 0 15px 15px 0;
   width: calc(100%);
   overflow: hidden; }

.esFlexContainer--overflowUnset {
   overflow: unset; }

@media screen and (max-width: 575px) {
   .esFlexContainer__item {
      margin-right: 0; } }

@media screen and (min-width: 576px) and (max-width: 767.98px) {
   .esFlexContainer__item {
      width: calc(50% - 7.5px); }
   .esFlexContainer__item:nth-child(2n) {
      margin-right: 0; } }

@media screen and (min-width: 768px) and (max-width: 1199.98px) {
   .esFlexContainer__item {
      width: calc(33.33% - 10px); }
   .esFlexContainer__item:nth-child(3n) {
      margin-right: 0; } }

@media screen and (min-width: 1200px) and (max-width: 1399.98px) {
   .esFlexContainer__item {
      width: calc(25% - 11.25px); }
   .esFlexContainer__item:nth-child(4n) {
      margin-right: 0; } }

@media screen and (min-width: 1400px) {
   .esFlexContainer__item {
      width: calc(20% - 12px); }
   .esFlexContainer__item:nth-child(5n) {
      margin-right: 0; } }

.esKachel {
   word-break: break-word;
   -webkit-hyphens: auto;
       -ms-hyphens: auto;
           hyphens: auto;
   display: flex;
   flex-direction: column;
   border: 1px solid #dbdbdb;
   padding: 15px;
   cursor: pointer;
   background-color: #FFFFFF;
   color: #000000; }
   .esKachel__title {
      margin-bottom: 15px; }
   .esKachel__content {
      flex-grow: 1; }
   .esKachel--centered {
      text-align: center; }
   .esKachel--disabled {
      color: #979797;
      background-color: #FFFFFF;
      cursor: not-allowed; }
   .esKachel--selected {
      color: white;
      background-color: #0083C6;
      border-color: #0083C6; }
   .esKachel--hover {
      box-shadow: inset 0 0 0 1px #E30613;
      border-color: #E30613; }
   .esKachel--hoverDeselect {
      outline: 2px solid #a94442;
      outline-offset: 1px; }

.basisinfos--box {
   border: solid 1px #dbdbdb;
   background: #FAFAFA;
   padding: 12px 16px; }

.basisinfos:not(.basisinfos--box) p {
   margin-bottom: 5px; }

.basisinfos__zeile {
   margin-bottom: 10px; }

.basisinfos__zeile--zweiSpaltig {
   display: flex; }

.basisinfos__rechteSpalte {
   margin-left: auto; }

.basisinfos:not(.basisinfos--box) {
   margin-bottom: 20px; }

.basisinfos--name {
   padding-right: 10px;
   padding-bottom: 5px; }

.basisinfos--box .basisinfos--name {
   display: block; }

/* Devextreme-Files, damit für die vorlage.css nicht alles doppelt gemacht werden muss*/
/* Vor den easySoft-Styles, da bislang in dieser Reihenfolge in der _esLayout.vbhtml eingebunden */
.dx-widget,
.dx-widget input,
.dx-widget textarea,
.dx-overlay-wrapper,
.dx-overlay-wrapper input,
.dx-overlay-wrapper textarea,
.dx-menu-base,
.dx-menu-base input,
.dx-menu-base textarea,
.dx-field,
.dx-field input,
.dx-field textarea,
.dx-datagrid-column-chooser,
.dx-datagrid-column-chooser input,
.dx-datagrid-column-chooser textarea,
.dx-treelist-column-chooser,
.dx-treelist-column-chooser input,
.dx-treelist-column-chooser textarea,
.dx-theme-generic-typography,
.dx-theme-generic-typography input,
.dx-theme-generic-typography textarea {
   font-family: inherit; }

.esButton .dx-button-content {
   padding: 0; }

.esButton.btn--akzent1.dx-button {
   border-color: transparent; }

.esButton.btn--akzent1.dx-button.dx-state-focused {
   background-color: #E30613; }

.dx-dropdownbox,
.dx-dropdownbox .dx-texteditor-input,
.dx-dropdownbox .dx-dropdowneditor-icon,
.dx-dropdownbox.dx-dropdownbox {
   border-radius: 0; }

/* Um das Suchfeld/Suche-Icon im Filterdropdown soll ein grauer Rahmen erstellt werden, damit das Feld besser als solches zu erkennen ist. */
.esGrid--filterGrid .dx-datagrid-filter-row td:first-child.dx-editor-cell {
   border: 1px solid transparent; }
   .esGrid--filterGrid .dx-datagrid-filter-row td:first-child.dx-editor-cell:not(.dx-focused) {
      border: 1px solid #dbdbdb; }

.esGrid--filterGrid .dx-datagrid-rowsview {
   border-top: none; }

.dx-buttongroup .dx-buttongroup-first-item,
.dx-buttongroup .dx-buttongroup-last-item {
   border-radius: unset !important; }

.dx-icon:hover {
   cursor: pointer; }

.dx-texteditor.dx-editor-outlined {
   border-radius: 0; }

.dx-invalid.dx-texteditor.dx-editor-outlined.dx-show-invalid-badge .dx-texteditor-input-container:after {
   content: "\e992";
   font-family: 'easySoft-Publish';
   font-size: 18px;
   font-weight: 400;
   color: #d9534f;
   background: none; }

.dx-invalid.dx-texteditor,
.dx-invalid .dx-checkbox-container .dx-checkbox-icon,
.dx-invalid .dx-radiobutton-icon:before {
   border-color: rgba(217, 83, 79, 0.8); }

.dx-button,
.dx-pager .dx-page,
.dx-pager .dx-page-size {
   border-radius: 0; }

.dx-datebox:not(.dx-invalid).dx-state-readonly, .dx-datebox:not(.dx-invalid).dx-editor-outlined, .dx-datebox:not(.dx-invalid).dx-editor-outlined.dx-state-focused {
   border-radius: 0;
   border-color: #ccc; }

.dx-datebox:not(.dx-invalid) input::-webkit-date-and-time-value {
   text-align: left; }

.dx-datebox-calendar .dx-dropdowneditor-icon {
   border-radius: 0; }

.dx-datebox-wrapper-calendar .dx-calendar-navigator-previous-month.dx-button,
.dx-datebox-wrapper-calendar .dx-calendar-navigator-previous-view.dx-button,
.dx-datebox-wrapper-calendar .dx-calendar-navigator .dx-calendar-caption-button.dx-button .dx-button-content,
.dx-datebox-wrapper-calendar .dx-dropdowneditor-icon,
.dx-datebox-wrapper-calendar .dx-calendar-navigator-next-month.dx-button,
.dx-datebox-wrapper-calendar .dx-calendar-navigator-next-view.dx-button,
.dx-datebox-wrapper-calendar .dx-calendar-cell {
   border-radius: 0; }

.dx-datebox-wrapper-calendar .dx-calendar-navigator-previous-month.dx-button .dx-icon,
.dx-datebox-wrapper-calendar .dx-calendar-navigator-previous-view.dx-button .dx-icon,
.dx-datebox-wrapper-calendar .dx-calendar-navigator .dx-calendar-caption-button.dx-button .dx-button-content,
.dx-datebox-wrapper-calendar .dx-calendar-navigator-next-month.dx-button .dx-icon,
.dx-datebox-wrapper-calendar .dx-calendar-navigator-next-view.dx-button .dx-icon {
   color: #1E1E1E; }

.dx-datebox-wrapper-calendar .dx-calendar-cell.dx-calendar-selected-date,
.dx-datebox-wrapper-calendar .dx-calendar-cell.dx-calendar-selected-date.dx-calendar-today,
.dx-datebox-wrapper-calendar .dx-calendar-cell.dx-calendar-selected-date.dx-calendar-contoured-date,
.dx-datebox-wrapper-calendar .dx-calendar-cell.dx-calendar-selected-date.dx-calendar-today.dx-calendar-contoured-date {
   box-shadow: inset 0 0 0 1000px #1E1E1E; }

.dx-datagrid-table {
   height: 1px; }

.dx-datagrid-table tr,
.dx-datagrid-table td,
.dx-datagrid-table a {
   height: 100%; }

.dx-datagrid-table a.esLinkNoDecoration {
   width: 100%;
   display: inline-block; }

.dx-datagrid-header-panel .dx-group-panel-message {
   white-space: initial; }

.esGrid .esGrid__buttonsUndSuche {
   display: flex;
   flex-direction: column; }

.esGrid .esGrid__buttonsOberhalb {
   margin-bottom: 10px; }
   .esGrid .esGrid__buttonsOberhalb .btn {
      margin-bottom: 4px;
      margin-right: 5px; }

.esGrid .ampel__bezeichnung {
   display: none;
   margin-left: 10px; }

.esGrid.esGrid--grouped .dx-datagrid .dx-datagrid-rowsview {
   border-color: transparent; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-datagrid-rowsview .dx-datagrid-content table.dx-datagrid-table {
      border-collapse: separate;
      border-spacing: 0 3px; }
      .esGrid.esGrid--grouped .dx-datagrid .dx-datagrid-rowsview .dx-datagrid-content table.dx-datagrid-table .dx-row > td {
         border-right-color: transparent;
         border-top-color: transparent; }

.esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row {
   color: #162B60;
   background-color: #1E1E1E; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row .dx-datagrid-group-closed,
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row .dx-datagrid-group-opened {
      color: #162B60; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row.es-row-group-0 {
      background-color: #FFFFFF; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row.es-row-group-1 {
      background-color: #FFFFFF; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row.es-row-group-2 {
      background-color: #FFFFFF; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row .ampel__wrapper {
      justify-content: flex-start; }
   .esGrid.esGrid--grouped .dx-datagrid .dx-row.dx-group-row .ampel__bezeichnung {
      display: block; }

.esGrid.esGrid--grouped .dx-datagrid.dx-datagrid-borders > .dx-datagrid-total-footer {
   border-top: 1px solid #ddd;
   border-left: 0;
   border-right: 0; }

.esGrid .dx-datagrid-headers {
   color: #000; }
   .esGrid .dx-datagrid-headers .esSvgIcon {
      margin-right: 7px;
      margin-top: 2px;
      flex-shrink: 0; }
   .esGrid .dx-datagrid-headers td[role=columnheader] {
      font-weight: bold; }

.esGrid .dx-datagrid-borders > .dx-datagrid-pager {
   border-top: none; }

.esGrid .dx-datagrid-content .dx-datagrid-table .dx-row.dx-datagrid-filter-row > td {
   padding-top: 3px;
   padding-bottom: 3px; }

.esGrid .dx-datagrid-content .dx-datagrid-table .dx-row > td {
   padding: 15px; }
   @media screen and (min-width: 992px) {
      .esGrid .dx-datagrid-content .dx-datagrid-table .dx-row > td {
         padding: 12.5px 15px; } }

.esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td {
   padding: 0; }
   .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td > span,
   .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td > a {
      display: inline-block;
      height: 100%; }
   .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td > span {
      width: 100%; }
   .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td a,
   .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td > span.dx-datagrid-adaptive-more {
      padding: 15px; }
      @media screen and (min-width: 992px) {
         .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td a,
         .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-datagrid-table .dx-row.dx-data-row > td > span.dx-datagrid-adaptive-more {
            padding: 12.5px 15px; } }

.esGrid.esGrid--wenigPadding .dx-datagrid-content .dx-datagrid-table .dx-row > td {
   padding: 7px; }

.esGrid .dx-command-adaptive {
   cursor: default; }

.esGrid .dx-data-row,
.esGrid--horizontal .dx-row,
.esGrid--vertical .dx-row {
   cursor: pointer; }

.esGrid .esGrid__row--disabled td {
   background: #f3f3f3 !important;
   color: #7f7f7f !important;
   cursor: default; }

.esGrid .esGrid__row--disabled .dx-select-checkbox {
   cursor: default; }

.esGrid .esGrid__row--disabled .dx-checkbox-icon {
   color: #7f7f7f;
   border-color: #dbdbdb; }

.esGrid [class^="icon-"], .esGrid [class*=" icon-"] {
   font-family: 'easySoft-Publish' !important; }

.esGrid [class^="icon-"], .esGrid [class*=" icon-"] {
   font-family: 'easySoft-Publish' !important; }

.esGrid .dx-datagrid-rowsview .dx-row.dx-group-row,
.esGrid .dx-datagrid-headers td[role=columnheader] {
   color: #333; }

.esGrid .dx-datagrid-rowsview.dx-empty {
   border: none !important; }

.esGrid .dx-datagrid-rowsview .dx-row .dx-command-adaptive,
.esGrid .dx-datagrid-rowsview .dx-row > tr > .dx-command-adaptive {
   text-overflow: initial; }

.esGrid .dx-datagrid-rowsview.dx-scrollable-native-ios .dx-scrollable-container {
   overflow-y: hidden;
   overflow-x: hidden; }

@media (max-width: 480px) {
   .esGrid .dx-adaptive-detail-row .dx-field-item {
      flex-direction: column; }
      .esGrid .dx-adaptive-detail-row .dx-field-item .dx-field-item-content {
         padding-left: 0;
         padding-top: 0; } }

.esGrid .icon-buchungsstatusinformation--status4, .esGrid .icon-buchungsstatusinformation--status5 {
   color: #a22319; }

.esGrid .icon-buchungsstatusinformation--status1 {
   color: #4c960b; }

.esGrid .icon-buchungsstatusinformation--status2, .esGrid .icon-buchungsstatusinformation--status3 {
   color: #e67009; }

@media print {
   .esGrid .icon-buchungsstatusinformation--status4, .esGrid .icon-buchungsstatusinformation--status5 {
      display: none; }
   .esGrid .icon-buchungsstatusinformation--status1 {
      display: none; }
   .esGrid .icon-buchungsstatusinformation--status2, .esGrid .icon-buchungsstatusinformation--status3 {
      display: none; }
   .esGrid .buchungsstatus {
      width: 17px;
      height: 17px;
      border-radius: 50%; }
      .esGrid .buchungsstatus--status4, .esGrid .buchungsstatus--status5 {
         background-color: #a22319 !important; }
      .esGrid .buchungsstatus--status1 {
         background-color: #4c960b !important; }
      .esGrid .buchungsstatus--status2, .esGrid .buchungsstatus--status3 {
         background-color: #e67009 !important; }
   .esGrid .buchungsstatusinformation--hinweistext {
      margin-left: 25px;
      width: 150px;
      display: inline-block; } }

.esGrid--horizontal, .esGrid--vertical, .esGrid--auflistung {
   /*Alternierende Tebellenzeilen*/ }
   .esGrid--horizontal .esFormatvorlage, .esGrid--vertical .esFormatvorlage, .esGrid--auflistung .esFormatvorlage {
      line-height: 1.1em; }
   .esGrid--horizontal .dx-datagrid-rowsview, .esGrid--vertical .dx-datagrid-rowsview, .esGrid--auflistung .dx-datagrid-rowsview {
      border-bottom-width: 0; }
   .esGrid--horizontal .dx-header-row, .esGrid--vertical .dx-header-row, .esGrid--auflistung .dx-header-row {
      display: none; }
   .esGrid--horizontal .dx-datagrid-headers, .esGrid--vertical .dx-datagrid-headers, .esGrid--auflistung .dx-datagrid-headers {
      border: none; }
   .esGrid--horizontal table td.even, .esGrid--vertical table td.even, .esGrid--auflistung table td.even {
      background-color: #FBFBFB; }

.esGrid--horizontal .buchungsstatus, .esGrid--vertical .buchungsstatus, .esGrid--table .buchungsstatus {
   font-size: 19px;
   font-size: 1.9rem;
   line-height: 16px;
   line-height: 1.6rem; }

.esGrid--table .buchungsstatus {
   text-align: center; }

.esGrid--tableDesignDatatable .dx-datagrid-rowsview .dx-row.dx-group-row,
.esGrid--tableDesignDatatable .dx-datagrid-headers td[role=columnheader] {
   color: #1E1E1E;
   text-transform: uppercase;
   font-size: 15px;
   font-size: 1.5rem; }

.esGrid--tableDesignDatatable .esSvgIcon {
   margin-right: 7.5px; }
   .esGrid--tableDesignDatatable .esSvgIcon svg {
      fill: #1E1E1E;
      stroke: none; }

.esGrid--tableDesignDatatable .esSvgIcon__wrapper .esGridColumn__title {
   overflow: hidden;
   text-overflow: ellipsis; }

.esGrid--tableDesignDatatable .dx-column-indicators {
   float: none !important; }

.esGrid--tableDesignDatatable .dx-sort-indicator {
   float: left; }

.esGrid--tableDesignDatatable .dx-datagrid-content .dx-row > td {
   border-left: none;
   border-right: none; }

.esGrid--tableDesignDatatable .dx-datagrid-content .dx-row:not(.dx-header-row) > td {
   line-height: 20px;
   padding-top: 15px;
   padding-bottom: 10px; }

.esGrid--tableDesignDatatable .dx-datagrid-content .dx-row > td:first-child {
   padding-left: 5px; }

.esGrid--tableDesignDatatable .dx-datagrid-rowsview,
.esGrid--tableDesignDatatable .dx-datagrid-headers {
   border-top: none;
   border-left: none;
   border-right: none; }

.esGrid--tableDesignDatatable #sucheWrapper {
   margin-bottom: 30px; }

.esGrid .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-row:not(.dx-header-row) > td {
   padding-top: 0;
   padding-bottom: 0; }

.esGrid .esGrid.esGrid--targetBlank .dx-datagrid-content .dx-row > td:first-child {
   padding-left: 0; }

.esGrid--karte div.dx-datagrid-headers, .esGrid--kachel div.dx-datagrid-headers {
   border-top: 0;
   border-bottom: 0; }
   .esGrid--karte div.dx-datagrid-headers .dx-header-row, .esGrid--kachel div.dx-datagrid-headers .dx-header-row {
      display: none; }

.esGrid--karte .headline-container, .esGrid--kachel .headline-container {
   display: flex;
   flex-direction: row;
   justify-content: space-between; }

.esGrid--karte .esGrid__karteRow td, .esGrid--kachel .esGrid__karteRow td {
   padding: 0 !important; }

.esGrid--karte .esGrid__karteRow:not(:last-child), .esGrid--kachel .esGrid__karteRow:not(:last-child) {
   border-bottom: 1px solid #dbdbdb; }

.esGrid--karte .headline, .esGrid--kachel .headline {
   font-size: 16px;
   font-size: 1.6rem;
   line-height: 26px;
   line-height: 2.6rem;
   color: #004D81;
   margin-right: 10px; }
   .esGrid--karte .headline.headline--karte h3, .esGrid--kachel .headline.headline--karte h3 {
      margin-top: 0;
      overflow: hidden;
      position: relative;
      line-height: 1.3em;
      max-height: 2.6em;
      text-align: left;
      padding-right: 20px; }
      .esGrid--karte .headline.headline--karte h3:before, .esGrid--kachel .headline.headline--karte h3:before {
         content: '...';
         position: absolute;
         right: -1px;
         bottom: 0;
         margin-right: 1px; }
      .esGrid--karte .headline.headline--karte h3:after, .esGrid--kachel .headline.headline--karte h3:after {
         content: '';
         position: absolute;
         right: -0.2em;
         /*right: -0.15em;*/
         width: 1em;
         height: 1em;
         margin-top: 0.2em;
         background-color: white; }
   .esGrid--karte .headline.headline--kachel h3, .esGrid--kachel .headline.headline--kachel h3 {
      margin-top: 5px;
      margin-top: 0.5rem;
      overflow: hidden;
      position: relative;
      line-height: 1.2em;
      max-height: 2.4em;
      text-align: left;
      padding-right: 20px; }
      .esGrid--karte .headline.headline--kachel h3:before, .esGrid--kachel .headline.headline--kachel h3:before {
         content: '...';
         position: absolute;
         right: -1px;
         bottom: 0;
         margin-right: 1px; }
      .esGrid--karte .headline.headline--kachel h3:after, .esGrid--kachel .headline.headline--kachel h3:after {
         content: '';
         position: absolute;
         right: -0.2em;
         /*right: -0.15em;*/
         width: 1em;
         height: 1em;
         margin-top: 0.2em;
         background-color: white; }

.esGrid--karte .untertitel.untertitel--karte, .esGrid--kachel .untertitel.untertitel--karte {
   margin-bottom: 15px;
   margin-bottom: 1.5rem; }

.esGrid--karte .kursinformationen.kursinformationen--karte, .esGrid--kachel .kursinformationen.kursinformationen--karte {
   display: flex;
   flex-direction: column;
   flex-grow: 1;
   flex-basis: 100%; }

.esGrid--karte .gridBadge-container, .esGrid--kachel .gridBadge-container {
   display: flex;
   flex-direction: column;
   flex-shrink: 0; }

.esGrid--karte .gridBadge, .esGrid--kachel .gridBadge {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 26px;
   line-height: 2.6rem;
   padding: 0 16px;
   padding: 0 1.6rem;
   color: #ffffff;
   align-self: flex-end; }
   .esGrid--karte .gridBadge.gridBadge--ausgebucht, .esGrid--kachel .gridBadge.gridBadge--ausgebucht {
      background-color: #A32317;
      margin-bottom: 3px; }
   .esGrid--karte .gridBadge.gridBadge--blickfang, .esGrid--kachel .gridBadge.gridBadge--blickfang {
      background-color: #1E1E1E; }

.esGrid--karte .miniIcons, .esGrid--kachel .miniIcons {
   font-size: 17px;
   font-size: 1.7rem;
   padding-right: 3px;
   margin-left: 2px; }

.esGrid--karte .dateLocation, .esGrid--kachel .dateLocation {
   display: flex;
   font-size: 13px;
   font-size: 1.3rem; }
   .esGrid--karte .dateLocation.dateLocation--karte, .esGrid--kachel .dateLocation.dateLocation--karte {
      flex-direction: row; }
      .esGrid--karte .dateLocation.dateLocation--karte > div, .esGrid--kachel .dateLocation.dateLocation--karte > div {
         margin-left: 20px; }
         .esGrid--karte .dateLocation.dateLocation--karte > div:first-child, .esGrid--kachel .dateLocation.dateLocation--karte > div:first-child {
            margin-left: 0; }

.esGrid .vorschauBild {
   display: none; }
   @media screen and (min-width: 576px) {
      .esGrid .vorschauBild {
         display: block;
         min-width: 100px;
         width: 100px;
         min-height: 100px;
         height: 100px;
         -o-object-fit: cover;
            object-fit: cover;
         overflow: hidden;
         margin-right: 15px; } }

.esGrid--kachel {
   /*IE10 und darüber*/ }
   .esGrid--kachel .vorschauBild {
      padding: 20px 15px;
      padding: 2rem 1.5rem;
      padding-top: 0;
      width: 100%;
      min-width: 100%;
      height: 150px;
      min-height: 150px; }
   .esGrid--kachel .esGrid__kachelRow div[id^="esGrid_Gruppe_"] {
      display: grid;
      /* autoprefixer: off */
      grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
      grid-auto-rows: 450px;
      grid-auto-rows: min-content;
      grid-gap: 2rem;
      padding: 10px;
      padding: 1rem; }
   .esGrid--kachel .gridLayout--kachel {
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border: 1px solid #dbdbdb; }
   .esGrid--kachel .detailLink {
      margin: 0 15px 25px;
      margin: 0 1.5rem 2.5rem;
      width: calc(100% - 3rem);
      text-transform: uppercase;
      font-size: 16px;
      font-size: 1.6rem;
      padding: 0; }
      .esGrid--kachel .detailLink a {
         color: #FFF;
         text-decoration: none;
         display: inline-block;
         padding: 8px 12px;
         width: 100%; }
   .esGrid--kachel .gridBadge-container {
      height: 70px;
      position: relative; }
      .esGrid--kachel .gridBadge-container.gridBadge-container--placeholder {
         height: 20px; }
   .esGrid--kachel .gridBadge {
      position: absolute;
      bottom: 0;
      right: 0; }
      .esGrid--kachel .gridBadge.gridBadge--blickfang {
         overflow: hidden;
         position: relative;
         line-height: 1.4em;
         max-height: 2.8em;
         text-align: right;
         padding-right: 20px;
         max-width: calc(100% - 7rem);
         position: absolute; }
         .esGrid--kachel .gridBadge.gridBadge--blickfang:before {
            content: '...';
            position: absolute;
            right: -1px;
            bottom: 0;
            margin-right: 1px; }
         .esGrid--kachel .gridBadge.gridBadge--blickfang:after {
            content: '';
            position: absolute;
            right: -0.2em;
            /*right: -0.15em;*/
            width: 1em;
            height: 1em;
            margin-top: 0.2em;
            background-color: #1E1E1E; }
   .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel {
      padding: 15px;
      padding: 1.5rem; }
      .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel .untertitel--kachel {
         max-height: 175px;
         overflow: hidden;
         overflow: hidden;
         position: relative;
         line-height: 1.4em;
         max-height: 4.2em;
         text-align: left;
         padding-right: 20px; }
         .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel .untertitel--kachel:before {
            content: '...';
            position: absolute;
            right: -1px;
            bottom: 0;
            margin-right: 1px; }
         .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel .untertitel--kachel:after {
            content: '';
            position: absolute;
            right: -0.2em;
            /*right: -0.15em;*/
            width: 1em;
            height: 1em;
            margin-top: 0.2em;
            background-color: white; }
         .esGrid--kachel .kursbeschreibung.kursbeschreibung--kachel .untertitel--kachel:before {
            bottom: 2px; }
   .esGrid--kachel .kursinformationen.kursinformationen--kachel {
      margin-bottom: 25px;
      margin-bottom: 2.5rem;
      padding: 0 15px;
      padding: 0 1.5rem; }
   .esGrid--kachel .kursinformationen.kursinformationen > div {
      /*
          span[class^='icon'] {
            font-size: 1.9rem;
          }

          span.icon-teilnehmerzahlinformation {
            vertical-align: middle;
          }

          span.icon-fulltime-halftime {
            vertical-align: text-top;
          }*/ }
      .esGrid--kachel .kursinformationen.kursinformationen > div:not(:last-child) {
         padding-bottom: 5px; }
   @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .esGrid--kachel table.dx-datagrid-table div[id^="esGrid_Gruppe_"] {
         border: 1px solid transparent;
         display: flex;
         flex-wrap: wrap;
         padding-right: 0; }
      .esGrid--kachel .gridLayout--kachel {
         min-width: 265px;
         margin: 0 1.5rem 1.5rem 0;
         height: 500px;
         flex-shrink: 1;
         flex-grow: 1;
         flex-basis: 0; }
      .esGrid--kachel .gridLayout--kachel-placeholder {
         min-width: 265px;
         margin: 0 1.5rem 0 0;
         flex-shrink: 1;
         flex-grow: 1;
         flex-basis: 0; } }

.esGrid--karte .gridLayout--karte {
   position: relative;
   display: flex;
   flex-direction: row;
   border-bottom: 1px solid #dbdbdb;
   padding: 10px; }
   .esGrid--karte .gridLayout--karte:last-child {
      border-bottom: none; }

.esGrid--karte .gridBadge {
   align-self: flex-start; }
   .esGrid--karte .gridBadge.gridBadge--blickfang {
      z-index: 1;
      position: relative;
      padding-right: 20px;
      line-height: 26px;
      line-height: 2.6rem;
      max-height: 26px;
      max-height: 2.6rem;
      text-align: right;
      white-space: nowrap; }
   .esGrid--karte .gridBadge:hover {
      cursor: pointer; }

.esGrid--karte .detailLink {
   font-size: 30px;
   font-size: 3rem;
   -ms-grid-row-align: center;
       align-self: center;
   color: #dbdbdb;
   padding: 0 15px; }
   .esGrid--karte .detailLink a {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }

.esGrid--karte .gridLayout--karte:hover,
.esGrid--karte .gridLayout--karte:hover h3:after,
.esGrid--karte tr.esGrid__karteRow:hover,
.esGrid--karte tr.esGrid__karteRow:hover .kursinformationen .headline h3:after {
   background-color: #f5f5f5; }

.esGrid--karte .dx-selection.dx-state-hover td {
   background-color: #f5f5f5 !important; }

.esGrid--karte .dx-selection h3:after {
   background-color: #e5e5e5 !important; }

.esGrid--karte .dx-selection.dx-state-hover h3:after {
   background-color: whitesmoke !important; }

.esGrid--karte .gridLayout--karte:hover .detailLink {
   color: #E30613; }

@media screen and (max-width: 767px) {
   .esGrid--karte .headline-container {
      flex-direction: column-reverse; }
   .esGrid--karte .gridBadge.gridBadge--blickfang {
      max-width: 100%;
      overflow: hidden;
      position: relative;
      line-height: 1.4em;
      max-height: 1.4em;
      text-align: left;
      padding-right: 20px; }
      .esGrid--karte .gridBadge.gridBadge--blickfang:before {
         content: '...';
         position: absolute;
         right: -1px;
         bottom: 0;
         margin-right: 1px; }
      .esGrid--karte .gridBadge.gridBadge--blickfang:after {
         content: '';
         position: absolute;
         right: -0.2em;
         /*right: -0.15em;*/
         width: 1em;
         height: 1em;
         margin-top: 0.2em;
         background-color: #1E1E1E; }
   .esGrid--karte .dateLocation.dateLocation--karte {
      flex-direction: column; }
      .esGrid--karte .dateLocation.dateLocation--karte > div {
         margin-left: 0;
         margin-bottom: 5px; }
         .esGrid--karte .dateLocation.dateLocation--karte > div:last-child {
            margin-bottom: 0; }
   .esGrid--karte .detailLink {
      font-size: 2rem; } }

.esGrid.esGrid--horizontal {
   /*bei horizontaler Darstellung soll das Layout der Tabellenspalten nicht fixiert sein. Beißt sich mit flexbox*/ }
   .esGrid.esGrid--horizontal .esGrid__rowTemplate_Wrapper {
      display: flex; }
   .esGrid.esGrid--horizontal .esGrid__rowTemplate {
      display: flex;
      align-items: stretch;
      /*oder: flex-end; - damit ist auch mehrzeiliger Text immer an der untersten Linie positioniert*/
      flex-wrap: wrap;
      align-content: flex-start;
      justify-content: flex-start;
      order: 2;
      flex-grow: 1; }
   .esGrid.esGrid--horizontal .esGrid__column {
      width: 15%;
      flex-grow: 15;
      text-align: left;
      flex-shrink: 1;
      flex-basis: auto;
      overflow-wrap: break-word;
      /*&:nth-of-type(1) {
      background-color: salmon;
   }

   &:nth-of-type(2) {
      background-color: wheat;
   }

   &:nth-of-type(3) {
      background-color: skyblue;
   }

   &:nth-of-type(4) {
      background-color: yellowgreen;
   }*/ }
   .esGrid.esGrid--horizontal table.dx-datagrid-table-fixed {
      table-layout: auto; }
   .esGrid.esGrid--horizontal .esGrid__column--buchungsstatus {
      order: 1;
      margin-right: 15px; }

.esGrid.esGrid--vertical .esGrid__rowTemplate_Wrapper {
   display: flex;
   flex-direction: row; }

.esGrid.esGrid--vertical .esGrid__rowTemplate {
   display: flex;
   flex-direction: column;
   flex-grow: 1;
   width: 100%; }

.esGrid.esGrid--vertical .verticalLayout_colWrapper--1col,
.esGrid.esGrid--vertical .verticalLayout_colWrapper--2col {
   display: flex;
   margin: 4px 0;
   margin: 0.4rem 0;
   align-items: flex-start; }

.esGrid.esGrid--vertical .verticalLayout_colWrapper--1col {
   flex-direction: column; }

.esGrid.esGrid--vertical .verticalLayout_colWrapper--2col {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap; }
   .esGrid.esGrid--vertical .verticalLayout_colWrapper--2col .spaltenUeberschrift {
      margin-right: 3px;
      margin-right: 0.3rem;
      width: 250px;
      flex-shrink: 0; }
   .esGrid.esGrid--vertical .verticalLayout_colWrapper--2col .spaltenWert {
      flex-grow: 1; }

@media (max-width: 600px) {
   .esGrid.esGrid--vertical .verticalLayout_colWrapper--2col {
      flex-wrap: wrap; }
      .esGrid.esGrid--vertical .verticalLayout_colWrapper--2col .spaltenUeberschrift {
         width: 100%; } }

.esGrid.esGrid--auflistung .gruppentitel {
   margin-bottom: 10px; }

.esGrid.esGrid--auflistung .dx-datagrid-rowsview,
.esGrid.esGrid--auflistung .dx-row.main-row {
   border: none !important; }

.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--2spalten,
.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--1spalte {
   margin-bottom: 30px;
   margin-top: 10px; }

.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--2spalten td {
   vertical-align: top; }

.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--2spalten .esGrid__spaltenUeberschrift,
.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--2spalten .esGrid__spaltenWert {
   display: inline-block;
   margin-bottom: 5px;
   margin-right: 40px; }

.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--2spalten .esGrid__spaltenUeberschrift {
   font-weight: bold;
   max-width: 200px; }

.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--1spalte .esGrid__spaltenUeberschrift {
   display: block; }

.esGrid.esGrid--auflistung .esGrid__spaltenWrapper--1spalte .esGrid__spaltenWert {
   display: inline-block;
   margin-top: 10px; }

.esGrid .esGrid__zelleMitBild {
   display: inline-block;
   width: 100%;
   text-align: center; }
   .esGrid .esGrid__zelleMitBild .img-responsive {
      display: inline-block; }

.esGrid .dx-responsivebox .esGrid__zelleMitBild {
   text-align: left; }

.esGrid tr.dx-freespace-row {
   height: 0 !important; }
   .esGrid tr.dx-freespace-row td {
      padding: 0 !important; }

.esGrid .esGrid__innerTable {
   display: table;
   width: 100%;
   border-collapse: collapse; }

.esGrid .esGrid__tableRow {
   display: table-row; }

.esGrid .esGrid__tableCell {
   display: table-cell; }

.esGrid .dx-datagrid-rowsview .dx-row > td.dx-datagrid-group-space {
   text-overflow: clip; }

.esGrid .dx-row.dx-datagrid-group-footer > td {
   border-bottom: 1px solid #ddd; }

.esGrid .dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor-input {
   padding-left: 36px; }

.esGrid.esGrid--withBackground .dx-datagrid, .esGrid.esGrid--withBackground .dx-toolbar {
   background: #fefefe; }

.esInformationsBox .esGrid--karte .headline.headline--karte h3, .esInformationsBox .esGrid--kachel .headline.headline--karte h3 {
   overflow: hidden;
   position: relative;
   line-height: 1.3em;
   max-height: 2.6em;
   text-align: left;
   padding-right: 20px; }
   .esInformationsBox .esGrid--karte .headline.headline--karte h3:before, .esInformationsBox .esGrid--kachel .headline.headline--karte h3:before {
      content: '...';
      position: absolute;
      right: -1px;
      bottom: 0;
      margin-right: 1px; }
   .esInformationsBox .esGrid--karte .headline.headline--karte h3:after, .esInformationsBox .esGrid--kachel .headline.headline--karte h3:after {
      content: '';
      position: absolute;
      right: -0.2em;
      /*right: -0.15em;*/
      width: 1em;
      height: 1em;
      margin-top: 0.2em;
      background-color: #fafafa; }

.esInformationsBox .esGrid--karte .headline.headline--kachel h3, .esInformationsBox .esGrid--kachel .headline.headline--kachel h3 {
   overflow: hidden;
   position: relative;
   line-height: 1.2em;
   max-height: 2.4em;
   text-align: left;
   padding-right: 20px; }
   .esInformationsBox .esGrid--karte .headline.headline--kachel h3:before, .esInformationsBox .esGrid--kachel .headline.headline--kachel h3:before {
      content: '...';
      position: absolute;
      right: -1px;
      bottom: 0;
      margin-right: 1px; }
   .esInformationsBox .esGrid--karte .headline.headline--kachel h3:after, .esInformationsBox .esGrid--kachel .headline.headline--kachel h3:after {
      content: '';
      position: absolute;
      right: -0.2em;
      /*right: -0.15em;*/
      width: 1em;
      height: 1em;
      margin-top: 0.2em;
      background-color: #fafafa; }

.esPowersuche {
   flex-grow: 1;
   margin-right: 0 !important;
   margin-bottom: 15px;
   max-width: 500px; }

/*dxDataGrid - border im unteren Bereich entfernen*/
.esFormulargroup__content--withoutPadding .esGrid {
   border: none; }
   .esFormulargroup__content--withoutPadding .esGrid .dx-last-row-border {
      border: none; }
   .esFormulargroup__content--withoutPadding .esGrid .dx-row.main-row {
      border-bottom: none !important; }
   .esFormulargroup__content--withoutPadding .esGrid .dx-datagrid {
      background-color: transparent; }

/*dxDataGrid in esFormulargroup (z.B. im Modal KAW)*/
.esFormulargroup__content--withoutPadding .esGrid .dx-datagrid-headers {
   border-left: hidden;
   border-top: hidden;
   border-right: hidden; }

/* print */
@media print {
   /* verhindert leere Seiten im Firefox*/
   .dx-datagrid-header-panel {
      display: none; }
   /* Verhindert das Abschneiden des Grids*/
   .dx-datagrid {
      display: block !important; } }

/*verhindert Abschneiden der KIP-Karte bei mobilen Geräten*/
@media screen and (max-width: 575px) {
   html:not(.browser__internetexplorer) .esGrid--karte .gridLayout--karte {
      flex-direction: column; }
   html:not(.browser__internetexplorer) .esGrid--karte .detailLink {
      display: none; } }

.ampel__wrapper {
   display: flex;
   justify-content: center; }
   .ampel__wrapper--contentLeft {
      justify-content: left; }
   .ampel__wrapper--inlineFlex {
      display: inline-flex;
      justify-content: unset; }
   .ampel__wrapper .ampel {
      min-width: 17px;
      height: 17px;
      border-radius: 50%; }
      .ampel__wrapper .ampel--rot, .ampel__wrapper .ampel--status1 {
         background-color: #a22319; }
      .ampel__wrapper .ampel--gelb, .ampel__wrapper .ampel--status2 {
         background-color: #e67009; }
      .ampel__wrapper .ampel--gruen, .ampel__wrapper .ampel--status3 {
         background-color: #4c960b; }
      .ampel__wrapper .ampel--weiss, .ampel__wrapper .ampel--status4 {
         background-color: #FFFFFF;
         border: 1px solid #888888; }
      .ampel__wrapper .ampel--size22 {
         min-width: 22px;
         height: 22px; }
   .ampel__wrapper .ampel__kip {
      min-width: 17px;
      height: 17px;
      border-radius: 50%; }
      .ampel__wrapper .ampel__kip--status4, .ampel__wrapper .ampel__kip--status5 {
         background-color: #a22319; }
      .ampel__wrapper .ampel__kip--status2, .ampel__wrapper .ampel__kip--status3 {
         background-color: #e67009; }
      .ampel__wrapper .ampel__kip--status1 {
         background-color: #4c960b; }
   .ampel__wrapper .ampel__BRH {
      min-width: 17px;
      height: 17px;
      border-radius: 50%; }
      .ampel__wrapper .ampel__BRH--status0, .ampel__wrapper .ampel__BRH--status1 {
         background-color: #A7A7A7; }
      .ampel__wrapper .ampel__BRH--status2 {
         background-color: #e67009; }
      .ampel__wrapper .ampel__BRH--status3 {
         background-color: #4c960b; }
      .ampel__wrapper .ampel__BRH--status4 {
         background-color: #a22319; }

.dx-responsivebox .ampel__wrapper, .esGrid--vertical .ampel__wrapper {
   justify-content: left; }

/* Drag and Drop */
.dx-datagrid-drag-header.dx-datagrid-drag-action {
   z-index: 20001; }

/*
   IE - Sonderfaelle
*/
.browser__internetexplorer {
   /* Auffaelligkeit: */ }
   .browser__internetexplorer .dx-selection .dx-datagrid-hidden-column,
   .browser__internetexplorer .dx-state-hover .dx-datagrid-hidden-column {
      background-color: transparent !important; }
   .browser__internetexplorer div[id^="esGrid_"] {
      max-width: calc(100vw - 30px); }
      @media screen and (min-width: 992px) {
         .browser__internetexplorer div[id^="esGrid_"] {
            max-width: calc(100vw - 400px); } }
      @media screen and (min-width: 1400px) {
         .browser__internetexplorer div[id^="esGrid_"] {
            max-width: calc(100vw - 450px); } }

/*
   Button-Gruppe im Grid 'sticky' machen, vgl.: PERWEIT-3384.
*/
.esGrid__buttonsUndSuche--sticky.active {
   position: sticky;
   top: 0;
   z-index: 1;
   background-color: white;
   margin: -15px;
   margin-bottom: 15px;
   padding: 15px; }
   .esGrid__buttonsUndSuche--sticky.active .esTabelle__controls {
      display: none; }

.browser__internetexplorer .esGrid__buttonsUndSuche--sticky.active {
   position: fixed;
   width: calc(100% - 300px - 30px); }

@media screen and (max-width: 767px) {
   .esGrid--kachel .dx-datagrid-table-fixed {
      width: initial; } }

@media screen and (max-width: 991px) {
   .esGrid--karte .dx-datagrid-table-fixed {
      table-layout: auto !important; } }

.esGrid.esGrid--filterGrid .dx-datagrid-table .dx-row .dx-command-select {
   width: 40px;
   min-width: 40px;
   max-width: 40px;
   padding: 7px 0; }

.dx-popup-wrapper .dx-popup-title .dx-toolbar-center {
   margin: 0 !important; }

.dx-popup-wrapper > .dx-overlay-content {
   border-radius: 0; }

.dx-popup-wrapper > .dx-overlay-content,
.dx-popup-wrapper .dx-state-focused.dx-overlay-content {
   border: none; }

.dx-popup-title.dx-toolbar {
   padding: 25px 35px 8px;
   border-bottom: none;
   font-weight: bold; }
   @media screen and (max-width: 767px) {
      .dx-popup-title.dx-toolbar .dx-toolbar-label {
         font-size: initial; } }

.dx-popup-content {
   padding: 10px 35px 35px; }

.dx-overlay-modal .dx-toolbar.dx-popup-bottom {
   padding: 0 35px 35px; }

.dx-scrollable-content {
   margin-right: 3px; }

.dx-datagrid .dx-scrollable-content,
.dx-scheduler--no-header .dx-scrollable-content {
   margin-right: 0; }

.dx-popup-wrapper .esFormular__hrVorButton {
   display: none; }

.esModal__contentWrapper {
   height: 100%; }

/* DevExtreme-Popups sollen auch das Menü und das BurgerNav-Logo überdecken1 */
.dx-overlay-wrapper {
   z-index: 10000 !important; }

/* Kontaktverknüpfung Aufheben Popup */
.modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-popup-bottom.dx-toolbar .dx-toolbar-items-container {
   height: auto; }

.modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-popup-bottom.dx-toolbar .dx-toolbar-after {
   position: initial;
   padding-left: 0;
   float: right; }

.modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-overlay-modal .dx-toolbar {
   padding-bottom: 25px !important; }

.modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-toolbar-button {
   margin: 0 10px 10px 0;
   display: inline-block; }

/* Delete Popup */
@media screen and (max-width: 767px) {
   .modal_Formular_DeleteFormularinstanz_OverlayContent .dx-toolbar-center, .modal_Formular_DeleteFormularinstanz_OverlayContent .dx-toolbar-after,
   .modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-toolbar-center,
   .modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-toolbar-after {
      float: unset !important; }
   .modal_Formular_DeleteFormularinstanz_OverlayContent .dx-toolbar-item-content,
   .modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-toolbar-item-content {
      font-size: 1.6rem; }
   .modal_Formular_DeleteFormularinstanz_OverlayContent .dx-button,
   .modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-button {
      font-size: 1.2rem; }
   .dx-overlay-content .dx-toolbar.dx-popup-bottom {
      padding-bottom: 20px !important; } }

.browser__internetexplorer .modal_Formular_CancelKontaktverknuepfung_OverlayContent .dx-toolbar-items-container {
   min-height: 60px; }

.dx-toast-wrapper {
   bottom: 75px;
   right: 0;
   top: auto !important;
   left: auto !important;
   -webkit-transform: none !important;
           transform: none !important;
   -webkit-animation: toastSlideWide 0.4s ease-in-out;
           animation: toastSlideWide 0.4s ease-in-out;
   -webkit-animation-fill-mode: forwards;
           animation-fill-mode: forwards;
   z-index: 20001 !important;
   width: auto;
   height: auto; }
   .dx-toast-wrapper:hover .dx-toast-content:after {
      border-color: white; }

.dx-toast-content {
   font-family: inherit;
   font-weight: inherit;
   border-radius: 0;
   padding: 15px 40px 15px 15px;
   bottom: 0;
   top: auto !important;
   left: auto !important;
   max-width: 500px; }
   .dx-toast-content:after {
      font-family: 'easySoft-Publish';
      font-size: 12px;
      content: "\65";
      position: absolute;
      border: 1px solid transparent;
      border-radius: 3px;
      color: white;
      margin-top: 10px;
      margin-right: 4px;
      padding: 2px 4px 1px;
      right: 8px;
      top: 0;
      line-height: 1.6; }

@-webkit-keyframes toastSlideWide {
   100% {
      right: 550px; } }

@keyframes toastSlideWide {
   100% {
      right: 550px; } }

@-webkit-keyframes toastSlide {
   100% {
      right: 325px; } }

@keyframes toastSlide {
   100% {
      right: 325px; } }

@media screen and (max-width: 767px) {
   .dx-toast-wrapper {
      -webkit-animation: toastSlide 0.4s ease-in-out;
              animation: toastSlide 0.4s ease-in-out;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards; }
   .dx-toast-content {
      max-width: 300px; } }

.dx-loadpanel-content {
   border-radius: 0; }

.dx-loadindicator {
   left: 50%;
   top: 50%;
   margin: -20px 0 0 -20px;
   display: block;
   width: 40px;
   height: 40px;
   position: relative;
   border-radius: 50%;
   border: 2px solid transparent;
   border-bottom-color: #979797;
   -webkit-animation: loadIndicatorSpin 2s linear infinite;
           animation: loadIndicatorSpin 2s linear infinite; }
   .dx-loadindicator:before {
      content: "";
      position: absolute;
      top: 4px;
      right: 4px;
      bottom: 4px;
      left: 4px;
      border-radius: 50%;
      border: 2px solid transparent;
      border-bottom-color: #1E1E1E;
      -webkit-animation: loadIndicatorSpin 1.5s linear infinite;
              animation: loadIndicatorSpin 1.5s linear infinite; }
   .dx-loadindicator:after {
      content: "";
      position: absolute;
      top: 10px;
      right: 10px;
      bottom: 10px;
      left: 10px;
      border-radius: 50%;
      border: 2px solid transparent;
      border-bottom-color: #4A4A4A;
      -webkit-animation: loadIndicatorSpin 3s linear infinite;
              animation: loadIndicatorSpin 3s linear infinite; }

@-webkit-keyframes loadIndicatorSpin {
   0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }
   100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }

@keyframes loadIndicatorSpin {
   0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }
   100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }

.dx-loadindicator-wrapper {
   display: none; }

.dx-loadpanel-message {
   padding-top: 20px; }

.dx-loadpanel-content-wrapper {
   vertical-align: bottom !important;
   margin-top: 25px;
   padding: 12px; }

.dx-header-filter-menu .dx-loadindicator {
   width: 20px;
   height: 20px;
   border-bottom-color: #1E1E1E;
   margin-top: 0;
   -webkit-animation: loadIndicatorSpin 1.5s linear infinite;
           animation: loadIndicatorSpin 1.5s linear infinite; }
   .dx-header-filter-menu .dx-loadindicator:before, .dx-header-filter-menu .dx-loadindicator:after {
      display: none; }

.dx-header-filter-menu .dx-scrollview-scrollbottom-text {
   margin-top: -11px; }

.loadingpanel_legacy {
   width: 210px;
   background: white;
   border: 1px solid #dbdbdb;
   position: fixed;
   top: 50%;
   left: 50%;
   margin-top: -50px;
   margin-left: -105px;
   box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25); }

.loadingpanel_legacy .indicator-position {
   top: 40px; }

.loadingpanel_legacy .message-position {
   position: absolute;
   bottom: 10px;
   width: 100%;
   padding: 0 10px;
   text-align: center; }

.esScheduler {
   height: 100%; }

.esScheduler-wrapper {
   height: 100%; }

.esScheduler-item {
   height: 100%; }

.esScheduler-appointment-item-content-subject {
   font-weight: bold;
   font-size: 12px;
   font-size: 1.2rem; }

.dx-item.dx-scheduler-appointment {
   line-height: 20px;
   line-height: 2rem;
   overflow: hidden; }

.dx-scheduler--no-header .dx-scheduler-navigator,
.dx-scheduler--no-header .dx-scheduler-view-switcher,
.dx-scheduler--no-header .dx-scheduler-view-switcher-label {
   display: none; }

.dx-scheduler--no-header .dx-scheduler-header {
   height: 0; }

.dx-scheduler--no-header .dx-scheduler-header-panel {
   margin-top: 0; }

.dx-scheduler--no-header .dx-scheduler-work-space {
   padding-top: 0;
   margin-top: 0; }

/* blendet den Popup-Bereich aus, welcher für das Editiern von Terminen verwendet wird. */
.dx-scheduler-appointment-popup {
   display: none; }

/* In Chrome schieben sich die Ganztagstermine unter die grauen Wochenendspalten statt darüber. */
.dx-scheduler-all-day-appointment,
.dx-scheduler-appointment-collector {
   z-index: 1; }

/* Agenda-View */
.dx-scheduler-agenda {
   border: none; }
   .dx-scheduler-agenda .dx-scheduler-appointment {
      padding: 0;
      overflow: visible; }
   .dx-scheduler-agenda-nodata {
      text-align: left;
      opacity: 1;
      position: relative; }

/* Terminbeschriftung bei vertikalen Terminfeldern */
.dx-item.dx-scheduler-appointment.dx-scheduler-appointment-vertical {
   box-shadow: none;
   -webkit-box-shadow: none; }
   .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-vertical .termin-details {
      padding: 10px; }
      .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-vertical .termin-details--vertikal {
         white-space: pre-line; }
         .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-vertical .termin-details--vertikal span {
            display: inline-block; }
      .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-vertical .termin-details span.esFormatvorlage {
         display: inline-block; }
   .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-vertical.dx-item ul {
      -webkit-padding-start: 0;
              padding-inline-start: 0;
      list-style: none; }

/* Terminbeschriftung ganztägige Events (nicht Monatsansicht und Agendaansicht) */
.dx-item.dx-scheduler-appointment.dx-scheduler-appointment-horizontal {
   box-shadow: none;
   -webkit-box-shadow: none; }
   .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-horizontal .termin-details {
      padding: 3px 7px; }

/* Terminbeschriftung ganztägige Events (Monatsansicht) */
.dx-scheduler--month .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-horizontal .termin-details {
   padding: 5px 7px; }
   .dx-scheduler--month .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-horizontal .termin-details.termin-details--kontextmenu {
      padding: 5px 28px 5px 7px; }

/* Terminbeschriftung ganztägige Events (Agendaansicht) */
.dx-scheduler--agenda .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-horizontal .termin-details {
   padding: 10px 7px; }
   .dx-scheduler--agenda .dx-item.dx-scheduler-appointment.dx-scheduler-appointment-horizontal .termin-details.termin-details--kontextmenu {
      padding: 10px 28px 10px 7px; }

/* Popupbeschriftung */
.dx-scheduler-appointment-tooltip-wrapper .dx-item {
   text-align: left; }

/* Popupbreite von 360px auf 450px erhoehen */
.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-popup-content .dx-list-item {
   width: 450px; }
   @media screen and (max-width: 767px) {
      .dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-popup-content .dx-list-item {
         width: 330px; } }

/* Styling der Appointments */
.dx-scheduler-work-space-month .dx-scheduler-appointment,
.dx-scheduler-appointment {
   background-color: #E9EBEC;
   color: black;
   padding: unset; }
   .dx-scheduler-work-space-month .dx-scheduler-appointment.dx-state-focused,
   .dx-scheduler-appointment.dx-state-focused {
      background-color: #dbdbdb;
      color: black; }

.dx-scheduler-appointment:before {
   background-color: transparent !important; }

/* Indikator für aktuellen Tag aus Header und Zeitleiste entfernen*/
.dx-scheduler-header-panel-current-time-cell:before,
.dx-scheduler-time-panel-current-time-cell:before {
   display: none; }

.dx-scheduler-time-panel-cell.dx-scheduler-time-panel-current-time-cell,
.dx-scheduler-header-panel-cell.dx-scheduler-header-panel-current-time-cell,
.dx-scheduler-date-time-indicator:before {
   color: #0083C6; }

.dx-scheduler-date-time-indicator {
   background-color: #0083C6; }

/* Header anpassen */
.dx-scheduler-header-panel-cell {
   height: 54px;
   border-color: #ccc; }

.dx-scheduler-header-row {
   background-color: #E9EBEC; }

.dx-scheduler-all-day-title {
   color: transparent; }

/* Mobile Ansicht*/
@media screen and (max-width: 991px) {
   .dx-scheduler--workWeek .dx-scheduler-appointment-vertical .dx-scheduler-appointment-content > *:not(.termin-kontextmenu),
   .dx-scheduler--week .dx-scheduler-appointment-vertical .dx-scheduler-appointment-content > *:not(.termin-kontextmenu) {
      display: none; }
   .dx-scheduler--workWeek .dx-item.dx-scheduler-appointment,
   .dx-scheduler--week .dx-item.dx-scheduler-appointment {
      padding: 0; }
   .dx-scheduler--month .dx-scheduler-appointment-collector {
      min-width: 20px; }
   .dx-scheduler--month .dx-scheduler-date-table-cell div.dx-template-wrapper {
      font-size: 12px; } }

/* Kein Hover und Active-State */
.dx-scheduler-all-day-table-cell.dx-state-focused,
.dx-scheduler-date-table-cell.dx-state-focused,
.dx-scheduler-all-day-table-cell.dx-state-hover.dx-state-focused,
.dx-scheduler-date-table-cell.dx-state-hover.dx-state-focused,
.dx-scheduler-all-day-table-cell.dx-state-active,
.dx-scheduler-date-table-cell.dx-state-active {
   background-color: white; }

.dx-scheduler-all-day-table-cell.dx-scheduler-focused-cell,
.dx-scheduler-date-table-cell.dx-scheduler-focused-cell {
   box-shadow: none; }

.dx-scheduler-all-day-table-cell.dx-state-hover,
.dx-scheduler-date-table-cell.dx-state-hover {
   background-color: white;
   color: #959595; }

/* Linke Zeitleiste - Formatierung */
.dx-scheduler--zeitskala15 tr.dx-scheduler-time-panel-row:nth-child(4n+3) div {
   color: grey; }

.dx-scheduler--zeitskala15 tr.dx-scheduler-time-panel-row:nth-child(4n+1) div {
   font-size: 17px; }

@media screen and (max-width: 429px) {
   .dx-scheduler--zeitskala15 tr.dx-scheduler-time-panel-row:nth-child(4n+1) div {
      font-size: 14px; }
   .dx-scheduler--zeitskala15 tr.dx-scheduler-time-panel-row:nth-child(4n+3) div {
      font-size: 12px; } }

.dx-scheduler--zeitskala30 .dx-scheduler-time-panel-row,
.dx-scheduler--zeitskala60 .dx-scheduler-time-panel-row {
   font-size: 15px; }
   @media screen and (max-width: 429px) {
      .dx-scheduler--zeitskala30 .dx-scheduler-time-panel-row,
      .dx-scheduler--zeitskala60 .dx-scheduler-time-panel-row {
         font-size: 14px; } }

.dx-scheduler--zeitskala15 .dx-scheduler-cell-sizes-vertical {
   height: 25px; }

.dx-scheduler--zeitskala30 .dx-scheduler-cell-sizes-vertical {
   height: 30px; }

.dx-scheduler--zeitskala60 .dx-scheduler-cell-sizes-vertical {
   height: 50px; }

/* "Nase" am Tooltip ausblenden */
.dx-scheduler-appointment-tooltip-wrapper .dx-popover-arrow {
   display: none; }

/* Styling Kontextmenü */
.esContextMenu .dx-menu-items,
.esContextMenu .dx-menu-items-container {
   padding: 0; }

.esContextMenu.dx-menu-base .dx-menu-item-content {
   padding: 4px 0;
   border: none; }

.esContextMenu .dx-submenu {
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAABCAIAAABG0om7AAAAKXRFWHRDcmVhdGlvbiBUaW1lAHBvIDEwIDUgMjAxMCAyMjozMzo1OSArMDEwMGzy7+IAAAAHdElNRQfaBQoUJAesj4VUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAABGdBTUEAALGPC/xhBQAAABVJREFUeNpj/P//PwO1weMnT2RlZAAYuwX/4oA3BgAAAABJRU5ErkJggg==);
   background-repeat: repeat-y;
   box-shadow: rgba(0, 0, 0, 0.3) 0 2px 3px, rgba(255, 255, 255, 0.8) 0 0 2px inset;
   border: none; }

.esContextMenu .dx-menu-item.dx-state-hover {
   background: #f3f3f3; }

.esContextMenu .dx-menu-separator {
   height: 0.5px;
   margin: 5px 0 5px 28.5px;
   background-color: #dddddd; }

.esComboboxDynamischRow {
   display: flex;
   flex-direction: row; }
   .esComboboxDynamischRow--hatAbstandOben {
      margin-top: 10px; }
   .esComboboxDynamischRow--istFettGedruckt {
      font-weight: bold; }
   .esComboboxDynamischRow span {
      white-space: normal; }

.dx-selectbox.dx-state-disabled {
   background-color: #ebebe4;
   color: #aaa !important;
   opacity: 1; }
   .dx-selectbox.dx-state-disabled .dx-texteditor-container * {
      cursor: not-allowed !important; }

.dx-buttongroup-item.dx-item-selected {
   background-color: #0083C6 !important;
   color: white !important;
   border-width: 0; }

.buttonGroup {
   padding-bottom: 15px; }

.buttonGroup-grid .dx-buttongroup-wrapper {
   display: -ms-grid;
   display: grid; }

.grid--col-3 .dx-buttongroup-wrapper {
   -ms-grid-columns: 1fr 1fr 1fr;
   grid-template-columns: 1fr 1fr 1fr; }

.grid--col-4 .dx-buttongroup-wrapper {
   -ms-grid-columns: 1fr 1fr 1fr 1fr;
   grid-template-columns: 1fr 1fr 1fr 1fr; }

.grid--col-5 .dx-buttongroup-wrapper {
   -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
   grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
   @media screen and (max-width: 575px) {
      .grid--col-5 .dx-buttongroup-wrapper {
         -ms-grid-columns: 1fr 1fr 1fr;
         grid-template-columns: 1fr 1fr 1fr; }
         .grid--col-5 .dx-buttongroup-wrapper .dx-buttongroup-item.dx-button-mode-outlined:nth-child(4) {
            border-left-width: 1px; } }

.buttonNavigation {
   border-radius: 0; }

.datePicker .dx-texteditor-input-container,
.datePicker .dx-texteditor-buttons-container {
   width: 0; }

.esFormular .dx-textarea.form-control {
   height: auto;
   border-radius: 0;
   margin-top: 30px; }

.dx-textarea .dx-texteditor-input {
   resize: vertical; }

.dx-radiogroup {
   margin-top: 10px; }

.dx-radiobutton:not(:last-of-type) {
   padding-bottom: 2px;
   padding-right: 5px; }

.dx-radiobutton-icon {
   width: 15px;
   height: 15px; }
   .dx-radiobutton-icon:before {
      width: 13px;
      height: 13px; }

.dx-radio-value-container {
   padding-right: 8px; }

.dx-radiobutton-icon-checked .dx-radiobutton-icon-dot {
   margin-top: -11px;
   margin-left: 4px;
   width: 7px;
   height: 7px;
   background: #555; }

.dx-checkbox-icon {
   width: 18px;
   height: 18px;
   border-radius: 0; }

.dx-checkbox-text {
   padding-left: 32px; }

/* Einzelne, unabhängige Modulelemente */
.btn {
   border-radius: 0;
   padding: 8px 12px;
   transition: padding 0.3s ease 0s, background-color .2s;
   font-size: 14px;
   font-size: 1.4rem;
   /* Allgemeine Button-Stylings */
   /* Stylings anhand von Klassen */ }
   .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
      outline: none; }
   .btn--right {
      float: right; }
   .btn--akzent1 {
      background-color: #1E1E1E;
      color: white !important;
      /*disabled dx-button hat inline styles*/ }
      .btn--akzent1:hover, .btn--akzent1:active, .btn--akzent1:focus {
         color: white; }
      .btn--akzent1:hover {
         background-color: #E30613; }
      .btn--akzent1:active, .btn--akzent1--active {
         background-color: #0083C6; }
      .btn--akzent1[disabled]:hover {
         background-color: #1E1E1E; }
   .btn--default {
      background: white;
      border: 1px solid #dbdbdb;
      color: #333; }
      .btn--default:hover, .btn--default:active {
         background: #FAFAFA; }
   .btn--suche {
      vertical-align: top;
      font-size: 22px;
      font-size: 2.2rem;
      padding: 2px 9px;
      height: 38px; }
   .btn--zurueck .fa-angle-left {
      font-size: 17px;
      font-size: 1.7rem;
      margin-right: 8px;
      text-transform: lowercase; }
   .btn--noStyling {
      background: none;
      border: none; }
   .btn--noStylingWithHoverAkzent {
      background: none;
      border: none;
      font-weight: 600; }
      .btn--noStylingWithHoverAkzent:hover, .btn--noStylingWithHoverAkzent:focus, .btn--noStylingWithHoverAkzent:active {
         color: #E30613;
         box-shadow: none; }
         .btn--noStylingWithHoverAkzent:hover .esIcon, .btn--noStylingWithHoverAkzent:focus .esIcon, .btn--noStylingWithHoverAkzent:active .esIcon {
            color: #E30613; }
   .btn--danger {
      background: #d4121e;
      color: white; }
      .btn--danger:hover, .btn--danger:active {
         background: #ae0f19; }
      .btn--danger:hover, .btn--danger:active, .btn--danger:focus {
         color: white; }
   .btn--simpleGreyBorder {
      line-height: 18px;
      line-height: 1.8rem;
      display: flex;
      padding: 5px;
      align-items: center;
      border: 1px solid #e6e6e6; }
      .btn--simpleGreyBorder:hover {
         cursor: pointer;
         background-color: #e6e6e6; }
      .btn--simpleGreyBorder:disabled, .btn--simpleGreyBorder.disabled {
         cursor: not-allowed;
         background-color: #e6e6e6; }
      .btn--simpleGreyBorder span[class^="icon"] {
         padding-right: 5px;
         font-size: 25px;
         font-size: 2.5rem; }
   .btn--marginTop {
      margin-top: 15px; }
   .btn-lg {
      font-size: 18px;
      font-size: 1.8rem; }
   .btn--noPadding {
      padding: 0; }
   .btn--big {
      padding: 25px 60px;
      margin: 30px 0; }

.btn-group {
   margin-right: 12px;
   vertical-align: top; }
   .btn-group .btn + .btn {
      margin-left: 0; }
   .btn-group > .btn {
      margin-right: 4px; }

.btn-group-modal {
   display: flex;
   justify-content: flex-end;
   padding-top: 30px;
   text-transform: uppercase;
   flex-wrap: wrap; }
   .btn-group-modal .btn {
      margin-left: 7.5px;
      margin-bottom: 7.5px; }
   .btn-group-modal .btn--akzent1 {
      margin-left: 10px; }

.btn-group--modul {
   margin-bottom: 15px; }

.buttonMitHinweis,
.kursanmeldung_wrapper {
   /* wird in manchen indiv. Designs verwendet */
   margin-top: 5px;
   display: flex;
   flex-direction: row-reverse;
   align-items: center; }
   .buttonMitHinweis .__hinweis,
   .kursanmeldung_wrapper .__hinweis {
      font-size: 16px;
      font-size: 1.6rem;
      padding: 0 10px; }
      .buttonMitHinweis .__hinweis.--rechts,
      .kursanmeldung_wrapper .__hinweis.--rechts {
         font-size: 13px;
         font-size: 1.3rem;
         color: #979797; }
   @media screen and (max-width: 767px) {
      .buttonMitHinweis .btn, .buttonMitHinweis button, .buttonMitHinweis .__button,
      .kursanmeldung_wrapper .btn,
      .kursanmeldung_wrapper button,
      .kursanmeldung_wrapper .__button {
         max-width: -webkit-max-content;
         max-width: -moz-max-content;
         max-width: max-content; } }

.buttonMitHinweis--links {
   flex-direction: initial; }
   .buttonMitHinweis--links .__hinweis {
      font-size: 13px;
      font-size: 1.3rem;
      color: #979797; }

@media screen and (max-width: 575px) {
   .buttonMitHinweis--links {
      flex-direction: column-reverse;
      align-items: flex-end; }
      .buttonMitHinweis--links > button.btn {
         margin-bottom: 10px;
         max-width: unset;
         width: 100%; }
      .buttonMitHinweis--links > span.__hinweis {
         text-align: right;
         padding-bottom: 5px; } }

.kursanmeldung_hinweis--rechts {
   /* wird in manchen indiv. Designs verwendet */
   font-size: 13px;
   font-size: 1.3rem;
   color: #979797;
   padding-right: 10px; }

/* Überschreibe Bootstrap */
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
   filter: alpha(opacity=45);
   opacity: 0.45; }

.esButtonWrapper {
   margin-bottom: -15px;
   overflow: auto; }
   .esButtonWrapper .esButton {
      margin-bottom: 15px;
      float: right;
      margin-left: 25px; }

.esButton {
   text-transform: uppercase; }

.esButton--outlineGrey {
   color: black;
   background-color: #ffffff;
   border: 1px solid #979797; }
   .esButton--outlineGrey:hover {
      background-color: #e6e6e6; }
   .esButton--outlineGrey:disabled {
      border-color: #dbdbdb;
      color: #bbbbbb;
      opacity: 1; }
      .esButton--outlineGrey:disabled:hover {
         background-color: white; }

.esButton--nurText {
   background: none;
   border: none; }
   .esButton--nurText:hover {
      text-decoration: underline; }

/* Button mit Status */
.btn.esLoadindicator-simple {
   padding-left: 36px; }

.action-btns {
   width: 100%;
   display: inline-flex;
   justify-content: flex-end;
   flex-wrap: wrap;
   gap: 8px; }

.buttonsOberhalb .btn {
   margin: 0 5px 5px 0; }

.esButtonbox {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   align-items: center;
   border-color: #dbdbdb;
   padding: 12px 16px;
   border-width: 1px;
   border-style: solid;
   background-color: #FAFAFA;
   margin-bottom: 15px; }
   .esButtonbox select.form-control {
      width: 230px;
      float: left;
      margin-right: 35px;
      margin-bottom: 12px; }

.esButtonbox__buttonWrapper {
   display: inline-block;
   position: relative; }
   .esButtonbox__buttonWrapper button .fa-filter {
      font-size: 18px;
      font-size: 1.8rem; }
   .esButtonbox__buttonWrapper button .icon-arrow-down-12 {
      transition: all linear 0.3s; }

.esButtonbox__item {
   display: flex;
   flex-direction: column;
   float: left; }
   .esButtonbox__item label {
      font-weight: normal; }
   .esButtonbox__item option.option--nulltext {
      color: #A7A7A7 !important; }

.esButtonbox__uebergang {
   position: absolute;
   height: 0;
   z-index: 1;
   border-color: white;
   border-left-width: 1px;
   border-style: solid;
   border-right-width: 1px;
   border-bottom-width: 0;
   border-top-width: 0;
   display: block;
   left: 0;
   right: 0;
   border-left-color: #dbdbdb;
   border-right-color: #dbdbdb;
   border-bottom-color: white;
   transition-property: height;
   /* Werte fuer das Zuklappen */
   transition-duration: 0.4s;
   transition-delay: 0.3s;
   background-color: #FAFAFA; }

.esButtonbox--open.esButtonbox__buttonWrapper .icon-arrow-down-12 {
   -webkit-transform: rotate(180deg);
           transform: rotate(180deg); }

.esButtonbox--open .esButtonbox__uebergang {
   height: 16px;
   /* Werte fuer das Aufklappen */
   transition-delay: 0s;
   transition-duration: 0.01s; }

/* Besonderheiten Filterbox */
.esGrid .esFilterBox__buttonWrapper .esFilterBox__button {
   margin-bottom: 0;
   margin-right: 0; }

.esFilterBox__buttonWrapper {
   margin-bottom: 15px;
   margin-left: 0; }

@media screen and (max-width: 375px) {
   .esFilterBox__buttonWrapper {
      margin-bottom: 10px; } }

.esFilterBox__contentBox .esButtonbox {
   padding: 12px 16px 16px; }

.esFilterBox__contentBox .btn-group {
   margin-top: 3px; }

.esFilterElement {
   width: 280px;
   padding-right: 15px;
   display: inline-block;
   margin-bottom: 15px; }
   @media screen and (max-width: 575px) {
      .esFilterElement {
         width: 100%;
         padding-right: 0; } }
   @media screen and (min-width: 576px) and (max-width: 767.98px) {
      .esFilterElement {
         width: 50%; } }

.esFilterAnwenden,
.esFilterReset {
   margin-top: 4px;
   margin-bottom: 0; }

.esFilterBox__buttonWrapper .collapse .badge {
   top: -6px;
   right: -17px; }

.esFilterBox__button.btn {
   margin-bottom: 0;
   margin-right: 0; }

.dataTables_wrapper .dataTables_paginate {
   margin-top: 7px !important;
   margin-bottom: 7px !important; }

.dataTables_wrapper .dataTables_paginate a {
   border: 1px solid #dbdbdb;
   border-radius: 0;
   color: #1E1E1E;
   padding: 6px 12px;
   text-decoration: none; }
   .dataTables_wrapper .dataTables_paginate a.disabled {
      cursor: not-allowed; }

.dataTables_paginate > span > a.current,
.dataTables_paginate > span > a.current:focus,
.dataTables_paginate > span > a.current:hover {
   border-color: #1E1E1E;
   background-color: #1E1E1E;
   color: white !important; }

li.paginate_button.active a {
   color: #FFFFFF !important;
   background-color: #1E1E1E !important; }

li.paginate_button.disabled a {
   color: #A7A7A7; }

.dataTables_wrapper {
   margin-top: 20px;
   overflow-x: hidden;
   /* Die row-Kinder stehen "-15px" über den Wrapper hinaus und verursachen einen horizontalen Scrollbalken, wenn der weniger als 15px padding-right hat */ }

.esTabelle--borderless td,
.esTabelle--borderless th {
   border: none !important; }

/* Überschreibe Icon-Styles für Sortierung */
table.dataTable thead .sorting:after {
   content: "\f0d7";
   color: #dbdbdb;
   opacity: 1; }

table.dataTable thead > tr > th.sorting_asc,
table.dataTable thead > tr > th.sorting_desc,
table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting {
   padding-right: 25px; }
   table.dataTable thead > tr > th.sorting_asc:after,
   table.dataTable thead > tr > th.sorting_desc:after,
   table.dataTable thead > tr > th.sorting:after,
   table.dataTable thead > tr > td.sorting_asc:after,
   table.dataTable thead > tr > td.sorting_desc:after,
   table.dataTable thead > tr > td.sorting:after {
      position: absolute;
      right: auto;
      display: inline-block;
      font-family: 'FontAwesome';
      margin-left: 2px;
      opacity: 1;
      bottom: 1px; }

table.dataTable thead .sorting_asc:after {
   content: "\f0d7"; }

table.dataTable thead .sorting_desc:after {
   content: "\f0d8"; }

.esTabelle--mitHover {
   width: 100% !important; }
   .esTabelle--mitHover.no-footer.dataTable {
      border-bottom: none; }
   .esTabelle--mitHover tr:hover td {
      background-color: whitesmoke; }
   .esTabelle--mitHover td,
   .esTabelle--mitHover thead tr th {
      border-bottom: 1px solid #dbdbdb; }
   .esTabelle--mitHover thead tr th {
      color: #1E1E1E;
      padding: 5px;
      font-size: 17px;
      font-size: 1.7rem;
      text-transform: uppercase;
      background-image: none !important;
      vertical-align: bottom; }
   .esTabelle--mitHover .esIcon {
      font-size: 16px;
      font-size: 1.6rem;
      color: inherit;
      line-height: 20px; }
      .esTabelle--mitHover .esIcon:before {
         white-space: pre;
         padding-right: 3px; }
      .esTabelle--mitHover .esIcon.esIcon--large {
         font-size: 19px;
         font-size: 1.9rem;
         line-height: 25px; }
   .esTabelle--mitHover td {
      padding: 18px 5px !important;
      vertical-align: top !important;
      cursor: pointer; }
   .esTabelle--mitHover td.dataTables_empty {
      cursor: default; }
   .esTabelle--mitHover tfoot {
      display: none; }
   .esTabelle--mitHover .detailsLink {
      vertical-align: middle !important; }
   .esTabelle--mitHover a.openItem {
      color: gainsboro;
      display: inline-block;
      float: right; }
      .esTabelle--mitHover a.openItem .esIcon {
         font-size: 19px;
         font-size: 1.9rem; }
   .esTabelle--mitHover tr:hover a.openItem {
      color: #1E1E1E; }
   .esTabelle--mitHover th .defaultFont {
      font-weight: bold; }
   @media screen and (max-width: 750px) {
      .esTabelle--mitHover a.openItem {
         right: 5px; } }

.esTabelle__controlsInner {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap; }

#sucheWrapper {
   flex-grow: 1;
   margin-right: 20px;
   margin-bottom: 14px; }
   #sucheWrapper .input-group {
      width: 100%; }

.filterUndSucheWrapper {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   flex-grow: 3; }

#filterWrapper {
   flex-grow: 1; }

#anzahlWrapper {
   flex-grow: 0;
   flex-shrink: 0;
   margin-left: 20px; }

.esTabelle__controls {
   padding: 13px 0 0; }
   .esTabelle__controls select {
      width: 105px !important; }
   .esTabelle__controls #sucheWrapper .icon-search {
      position: absolute;
      left: 7px;
      z-index: 10;
      font-size: 22px;
      font-size: 2.2rem;
      color: #dbdbdb;
      top: 50%;
      margin-top: -11px; }
   .esTabelle__controls #sucheWrapper .form-control {
      padding-left: 33px; }
   .esTabelle__controls #sucheWrapper .input-group {
      min-width: 293px; }
   .esTabelle__controls #anzahlWrapper label {
      line-height: 38px;
      float: left;
      margin-right: 10px;
      font-weight: normal; }
   .esTabelle__controls #anzahlWrapper .form-control {
      width: 120px; }
   .esTabelle__controls #anzahlWrapper select {
      width: 80px !important; }
   @media screen and (max-width: 795px) {
      .esTabelle__controls .esTabelle__controlsCol {
         padding: 0; }
      .esTabelle__controls #sucheWrapper {
         flex-grow: 1;
         margin-right: 0;
         clear: both;
         flex-basis: 100%; }
         .esTabelle__controls #sucheWrapper .input-group {
            width: 100%; }
      .esTabelle__controls #filterWrapper {
         flex-grow: 1; }
      .esTabelle__controls #anzahlWrapper {
         margin-left: 0; } }

@media screen and (max-width: 375px) {
   .filterUndSucheWrapper {
      flex-direction: column; }
   #anzahlWrapper {
      order: 1; }
   #filterWrapper {
      order: 2; }
   .esButtonbox--open .esButtonbox__uebergang {
      height: 11px; } }

.esTabelle__controlsCol {
   margin-bottom: 10px; }
   .esTabelle__controlsCol:first-child {
      padding-left: 0; }

.esTabelle--fileList tr {
   border-bottom: 10px solid white; }

.esTabelle--fileList th {
   padding: 0 !important; }

.esTabelle--fileList td {
   background: #A7A7A7;
   border-bottom: 10px solid white;
   color: white; }

.esTabelle--fileList td:first-child {
   padding-left: 30px !important; }

.esTabelle--fileList td:last-child {
   border-left: 5px solid white !important;
   width: 40px;
   font-weight: bold;
   text-align: center; }
   .esTabelle--fileList td:last-child a {
      color: #941914; }

/*
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
  padding-left: 35px !important;

  &:before {
    position: relative;
    display: inline-block;
    width: 20px;
    box-shadow: none;
    border-radius: 0;
    border: none;
    background-color: $esMidGrey2;
    margin: 0 10px 0 -30px
  }
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child {
  padding-left: 35px !important;

  &:before {
    background-color: $esAkzent1;
  }
}

*/
table.dataTable.dtr-inline.collapsed > tbody > tr > td.jsDetailsControl {
   padding-right: 7px; }
   table.dataTable.dtr-inline.collapsed > tbody > tr > td.jsDetailsControl:before {
      position: relative;
      top: 3px;
      left: auto;
      width: 20px;
      box-shadow: none;
      border-radius: 0;
      border: none;
      background-color: #A7A7A7; }

table.dataTable.dtr-inline > thead > tr > th.jsDetailsControl,
table.dataTable.dtr-inline > tbody > tr > td.jsDetailsControl {
   display: none; }

table.dataTable.dtr-inline.collapsed > thead > tr > th.jsDetailsControl,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.jsDetailsControl {
   display: table-cell; }

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.jsDetailsControl:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.jsDetailsControl:before {
   background-color: #1E1E1E; }

table.dataTable > tbody > tr.parent,
table.dataTable > tbody > tr.child {
   background-color: #F6F6F6; }

.jsDatatableOeffneZeile .esIcon {
   margin-right: unset;
   padding-left: 4px;
   width: 20px; }

table.dataTable th.jsDetailsControl:after {
   display: none !important; }

table.dataTable > tbody > tr.child ul.dtr-details li {
   border: none;
   display: flex;
   flex-direction: column; }

table.dataTable > tbody > tr.child ul.dtr-details {
   margin-left: 30px; }

table.dataTable thead > tr > .jsDetailsControl {
   padding: 0 !important; }

.esFormular label {
   -webkit-hyphens: auto;
       -ms-hyphens: auto;
           hyphens: auto;
   word-break: break-word;
   font-size: 14px;
   font-size: 1.4rem;
   margin-bottom: 0;
   vertical-align: top; }

.esLabel--ueberInput {
   font-weight: 600;
   display: inline-block;
   margin-bottom: 5px;
   margin-bottom: 0.5rem; }

/* Überschreibe Bootstrap-Regel zur Zeilenhöhe, die sonst einen Scrollbalken verursacht */
/*@media screen and (-webkit-min-device-pixel-ratio:0)*/
input[type=date].form-control, input[type=time].form-control, input[type=datetime-local].form-control, input[type=month].form-control {
   line-height: 26px; }

/* Allgemeine Helper*/
.esResize-horizontal {
   resize: horizontal; }

.esResize-vertical {
   resize: vertical; }

.esLabel span {
   vertical-align: top; }

.esLabel--verticalCenter {
   display: inline-flex;
   align-items: center; }

.esLabel--alignWithInput {
   display: inline-flex;
   align-items: baseline;
   margin-top: 9px; }

.esLabel--inlineMitAbstand {
   display: inline-block;
   margin-right: 50px; }

.esLabel--fontweightNormal {
   font-weight: normal; }

.esLabel--disabled {
   color: #979797;
   cursor: not-allowed; }

.esLabel--radiobutton {
   margin-right: 10px;
   font-weight: 400; }

.esResetFilters {
   cursor: pointer;
   font-weight: normal;
   margin-top: 12px;
   color: #0083C6; }
   .esResetFilters .esIcon {
      color: #0083C6; }
   .esResetFilters.disabled,
   .esResetFilters.disabled .esIcon {
      color: #979797;
      cursor: default; }
   .esResetFilters .esIcon {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 20px; }

.esProzentbalken {
   display: inline-block;
   width: 160px;
   height: 20px;
   border: 1px solid #1E1E1E; }

.esProzentbalken__fuellung {
   height: 100%;
   background: #1E1E1E; }

.esProzentbalken__text {
   vertical-align: top;
   display: inline-block;
   margin-left: 5px;
   line-height: 20px;
   color: #1E1E1E;
   font-weight: bold; }

/* Stern-Rating */
.esRaterowDisabled {
   position: relative; }

.esRaterowDisabled:before {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   content: ' ';
   cursor: not-allowed; }

.rate_row {
   -ms-grid-row-align: center;
       align-self: center; }

.rate_row.esNoSelect .rate_star {
   cursor: default; }

.rate_star {
   font-size: 30px;
   font-size: 3rem; }

.rate_star,
.rate_star.over,
.rate_star.checked {
   color: #fbb03b; }

.rate_star:before {
   content: "\f006";
   font-family: "FontAwesome" !important; }

.rate_star.over:before,
.rate_star.checked:before {
   content: "\f005"; }

/* styles for validation helpers */
.field-validation-error {
   color: red; }

.field-validation-valid {
   display: none; }

input.input-validation-error {
   border: 1px solid red; }

select.input-validation-error {
   border: 1px solid red; }

input[type="checkbox"].input-validation-error {
   border: 0 none; }

.validation-summary-errors {
   color: #b94a48; }

.validation-summary-valid {
   display: none; }

/* esFormular */
.esFormular {
   margin-top: 15px;
   margin-bottom: 15px;
   overflow-y: auto;
   /* damit floatende Elemente enthalten sind */ }
   .esFormular .radio {
      margin-bottom: 0; }
   @media screen and (min-width: 1200px) {
      .esFormular:not(.esFormular--mehrfachanmeldung) {
         width: 95%; } }
   @media screen and (min-width: 1400px) {
      .esFormular:not(.esFormular--mehrfachanmeldung) {
         width: 87%;
         max-width: 1250px; } }
   @media screen and (min-width: 1400px) {
      .esFormular.esFormular--mehrfachanmeldung {
         width: 87%;
         max-width: 1550px; } }

.layout__presentation .esFormular {
   margin-top: 0;
   margin-bottom: 0; }
   @media screen and (min-width: 1200px) {
      .layout__presentation .esFormular:not(.esFormular--mehrfachanmeldung) {
         width: unset; } }
   @media screen and (min-width: 1400px) {
      .layout__presentation .esFormular:not(.esFormular--mehrfachanmeldung) {
         width: unset;
         max-width: unset; } }
   @media screen and (min-width: 1400px) {
      .layout__presentation .esFormular.esFormular--mehrfachanmeldung {
         width: unset;
         max-width: 1550px; } }

.dx-popup-content .esFormular {
   width: 100%;
   max-width: 100%; }

.esFormularGesamtpreis {
   text-align: right;
   font-weight: 700;
   margin-top: 15px;
   font-size: 16px;
   font-size: 1.6rem; }

/*
.gridForm{
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 15px;
}

@media screen and (min-width: 768px){
    .gridForm{
        grid-template-columns: 1fr 1fr;
    }
    .zweispaltig{
        grid-column: span 2;
    }
}
*/
/* Der Workaround mit Flexbox. Wird abgelöst durch die Grid-Variante sobald der Support für den IE11 seitens easySoft eingestellt wird. */
.esFormulargruppe {
   display: flex;
   flex-wrap: wrap;
   width: 100%; }

.uploadcontrol-wrapper .esForm-group > label,
.esFormularfeld .esForm-group > label {
   font-weight: 700;
   font-size: 14px;
   font-size: 1.4rem;
   display: inline-block;
   margin-bottom: 5px; }

.esFormularfeld {
   box-sizing: border-box;
   margin: 10px 0;
   width: 100%; }
   .esFormularfeld textarea {
      box-sizing: border-box;
      width: 100%;
      border: 1px solid #ccc;
      color: #555;
      font-size: 14px;
      font-size: 1.4rem; }
   .esFormularfeld textarea.esForm-control {
      height: auto; }
   .esFormularfeld .radio-inline,
   .esFormularfeld .checkbox label {
      margin: 8px 6px 6px 0;
      display: inline-block; }
   .esFormularfeld .esFormular__formularfeld--Infotext {
      margin-top: 6px; }
   .esFormularfeld .checkbox {
      margin-top: 0; }
   .esFormularfeld .radio-inline,
   .esFormularfeld .checkbox,
   .esFormularfeld .esFormular__formularfeld--Infotext {
      font-size: 14px;
      font-size: 1.4rem; }
   .esFormularfeld .esForm-control {
      display: block;
      width: 100%;
      height: 38px;
      padding: 6px 12px;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.42857143;
      color: #555;
      border: 1px solid #ccc;
      border-radius: 0;
      box-sizing: border-box;
      background-color: white; }
      .esFormularfeld .esForm-control:-ms-input-placeholder {
         color: #ccc; }
      .esFormularfeld .esForm-control:disabled, .esFormularfeld .esForm-control[readonly] {
         background-color: #ebebe4;
         cursor: not-allowed;
         color: #aaa !important;
         opacity: 1; }
      .esFormularfeld .esForm-control--dateBox {
         border: none;
         box-shadow: none; }
      .esFormularfeld .esForm-control--radiobutton {
         display: inline-block;
         width: auto;
         height: auto; }
      .esFormularfeld .esForm-control--checkboxlist {
         display: inline-block;
         width: auto;
         height: auto; }
   .esFormularfeld.esFormularfeld--HorizontalLine {
      margin-bottom: 0;
      margin-top: 0; }
   @media screen and (min-width: 768px) {
      .esFormularfeld--darfZweispaltigeAnzeige {
         width: calc(50% - 40px); }
      .esFormularfeld {
         margin: 10px 20px; } }

.esFormularfeld--SingleUpload .esFormularfeld__fehlerWrapper,
.esFormularfeld--MultiUpload .esFormularfeld__fehlerWrapper {
   margin-left: 0; }

.esFormularfeld--MultiTextBox .esForm-group {
   align-items: flex-start !important; }

.esFormularfeld--HorizontalLine .esForm-group {
   min-height: 0; }

.esFormularfeld--HorizontalLine hr {
   margin: 10px 0; }

.esFormularfeld--Unterformular {
   width: 100%; }
   .esFormularfeld--Unterformular .esForm-group > label {
      min-height: 0; }
   .esFormularfeld--Unterformular > div {
      min-height: 0; }

.esFormularfeld--Unterformular .esForm-group > div:not(.esFormular__checkboxlist):not(.esFormular__radiobuttonlist) {
   display: flex;
   flex-direction: row;
   align-items: center; }

@media screen and (min-width: 1200px) {
   .esFormularfeld--Unterformular > .esFormularfeld__innerWrapper > .esForm-group {
      width: calc(50% - 20px); } }

.esFormularfeld--loading .esFormularfeld__unterformularWrapper {
   min-height: 51px !important; }

.esFormularfeld--hatInhalt > .esFormularfeld__innerWrapper > .esFormularfeld__unterformularWrapper,
.esFormularfeld--loading > .esFormularfeld__innerWrapper > .esFormularfeld__unterformularWrapper {
   border-width: 1px 0;
   border-color: #eee;
   border-style: solid;
   margin: 20px 0 10px;
   padding: 10px 0; }

.esFormularfeld--letztesFeldInGruppePh {
   height: 1px;
   overflow: hidden;
   margin: 0; }
   .esFormularfeld--letztesFeldInGruppePh input {
      border-color: transparent;
      background-color: transparent; }

.esFormularfeld__unterformularWrapper .esFormularfeld--letztesFeldInGruppe.esFormularfeld--hatInhalt > .esFormularfeld__innerWrapper > .esFormularfeld__unterformularWrapper {
   margin: 20px 0 0; }

.esFormularfeld--Unterformular.esFormularfeld--letztesFeldInGruppe > .esFormularfeld__innerWrapper > .esFormularfeld__unterformularWrapper {
   /* Am Ende sollen keine Linien angezeigt werden */
   border-bottom-width: 0;
   padding-bottom: 0; }

.esFormularfeld--hatInhalt,
.esFormularfeld--loading {
   margin-bottom: 0; }

.esFormularfeld__positionierer {
   float: left;
   margin-bottom: 3px; }

/*Dynamische Werteliste gleich wie statische stylen*/
.esFormularfeld--DropDownListPreSetting .dx-dropdowneditor-button,
.esSelectBox .dx-dropdowneditor-button {
   background-image: url(/App_Assets/Images/elemente/dropdown.png);
   background-position: right center;
   background-size: auto auto;
   background-repeat: no-repeat;
   border-radius: 0; }
   .esFormularfeld--DropDownListPreSetting .dx-dropdowneditor-button .dx-button-content,
   .esSelectBox .dx-dropdowneditor-button .dx-button-content {
      display: none; }

.esFormularfeld--DropDownListPreSetting:hover .dx-dropdowneditor-button,
.esSelectBox:hover .dx-dropdowneditor-button {
   background-image: url(/App_Assets/Images/elemente/dropdown--hover.png); }

.esSelectBox.dx-selectbox,
.esNumberBox.dx-numberbox {
   border-radius: 0; }

.hiddenInput {
   visibility: hidden;
   width: 0;
   height: 0; }

.esFormular__formularfeldMitBild {
   max-width: 100%;
   margin-top: 7px; }

#esFormUpdate {
   overflow: auto; }

.esFehler .help-block,
.esFehler .esForm__label,
.esFehler .radio,
.esFehler .checkbox,
.esFehler .radio-inline,
.esFehler .checkbox-inline,
.esFehler .radio label,
.esFehler .checkbox label,
.esFehler .radio-inline label,
.esFehler .checkbox-inline label,
.esFehler .dx-radiobutton .dx-item-content {
   color: #a94442; }

.esFehler .esForm-control,
.esFehler .esForm-group .dx-datebox,
.esFehler .esForm-group .dx-datebox.dx-state-focused,
.esFehler .esSelectBox .dx-texteditor-container {
   border-color: #a94442; }

.esFehler .esForm-control,
.esFehler .esForm-group .dx-datebox,
.esFehler .esForm-group .dx-datebox.dx-state-focused {
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
   .esFehler .esForm-control.esForm-control--dateBox,
   .esFehler .esForm-group .dx-datebox.esForm-control--dateBox,
   .esFehler .esForm-group .dx-datebox.dx-state-focused.esForm-control--dateBox {
      box-shadow: none; }

.esFehler .esFileuploader__dropzone {
   border-color: #a94442; }

.esFehler-Html5Valid,
.esFehler-backend,
.esFehler-keinSternAusgewaehlt,
.esFehler-hinweis {
   color: #a94442;
   margin-top: 10px; }

.esFehler-Html5Valid,
.esFehler-backend,
.esFehler-keinSternAusgewaehlt {
   display: none; }

.esFehler-hinweis {
   display: block; }

.esFehler-RadiobuttonFehlermeldung {
   margin-top: 0;
   margin-bottom: 25px; }

.esFehler .esFehler-backend {
   display: inline-block; }

.esFehler .esNoValidation,
.esFehler .esNoValidation:focus {
   border-color: #dbdbdb;
   box-shadow: none; }

.validationBoxParent {
   position: relative; }

.validationBox {
   display: inline-block;
   position: absolute;
   left: 0;
   z-index: 1502;
   padding: 5px;
   background-color: #d9534f;
   color: #fff;
   font-size: 11.9px; }

.esFormular__datenschutzHinweisKontaktbild {
   color: #941914 !important;
   margin-bottom: 5px !important; }
   .esFormular__datenschutzHinweisKontaktbild a {
      color: #941914 !important;
      text-decoration: underline; }

.form-control {
   border-radius: 0;
   height: 38px; }

/* esBewertungsbogen und esFormulargroup*/
.esBewertungsbogen {
   margin-top: 17px; }

.esBewertungsbogen__wrapperAufklappenUndAbgeschlossenHinweis,
.esFormulargroup__wrapperAufklappenUndAbgeschlossenHinweis {
   display: flex;
   flex-direction: row; }

.esBewertungsbogen__alleAufUndZuklappen,
.esFormulargroup__alleAufUndZuklappen {
   margin: 10px 70px 15px 0;
   color: #1E1E1E;
   padding: 0;
   white-space: nowrap; }
   .esBewertungsbogen__alleAufUndZuklappen[data-state="closed"]:before,
   .esFormulargroup__alleAufUndZuklappen[data-state="closed"]:before {
      content: '+'; }
   .esBewertungsbogen__alleAufUndZuklappen[data-state="opened"]:before,
   .esFormulargroup__alleAufUndZuklappen[data-state="opened"]:before {
      content: '-'; }

.esBewertungsbogen__abgeschlossenHinweis {
   display: inline-block;
   margin-top: 10px;
   font-weight: bold;
   margin-left: auto;
   text-align: right;
   margin-bottom: 10px; }

.esBewertungsbogen__anschreiben {
   margin-bottom: 20px; }

.esBewertungsbogen .esFormulargroup {
   margin-bottom: 13px; }

.esBewertungsbogen .esFormulargroup--eingerueckt .esFormulargroup__head .esFormulargroup__title {
   padding-left: 20px; }

@media only screen and (min-width: 600px) and (max-width: 850px) {
   .esBewertungsbogen .esFormulargroup__head .esFormulargroup__title {
      font-size: 1.4rem; } }

.esBewertungsbogen .esFormulargroup--eingerueckt .esFormulargroup__content {
   padding-top: 27px;
   margin-bottom: 27px; }

.esBewertungsbogen .esFormulargroup--eingerueckt:last-of-type .esFormulargroup__head {
   margin-bottom: 0; }

.esBewertungsbogen__combobox {
   width: 100%;
   max-width: 250px; }

.esBewertungsbogen__radiobutton {
   display: inline-block;
   margin-right: 50px;
   padding-top: 1px;
   margin-top: 15px !important;
   vertical-align: top; }

.esBewertungsbogen__radiobutton--mitSpanLabel {
   padding-left: 20px; }

/* Abwandlung, bei der ein kurzes Label unterhalb des Radiobuttons steht*/
.esBewertungsbogen__radioWrapper--vertikal {
   margin-top: 0; }
   .esBewertungsbogen__radioWrapper--vertikal .esBewertungsbogen__radiobutton {
      text-align: center;
      margin: 0 15px 15px 0;
      padding-left: 0;
      padding-top: 1px; }
   .esBewertungsbogen__radioWrapper--vertikal .esBewertungsbogen__radioLabel {
      display: block;
      padding-left: 0; }
   .esBewertungsbogen__radioWrapper--vertikal .esBewertungsbogen__radioInput[type="radio"] {
      position: relative;
      margin-left: 0; }

.esBewertungsbogen__bezeichnung {
   font-weight: bold;
   vertical-align: top; }

.esBewertungsbogen__frage {
   display: block;
   vertical-align: top; }

.esBewertungsbogen .form-group {
   margin-bottom: 0; }

.esBewertungsbogen .form-control {
   margin-top: 10px; }

.esBewertungsbogen__blockBeschreibung {
   margin-bottom: 25px;
   padding: 0 0 0 21px; }

.esBewertungsbogen__speichernButton {
   margin-right: 20px; }

.esBewertungsbogen__abschliessenButton,
.esBewertungsbogen__speichernButton {
   margin-top: 20px; }

/* Unterscheide Darstellung des Bewertungspunktes anhand der verwendeten Formulargruppe */
.esFormulargroup--eingerueckt .esBewertungsbogen__bewertungspunkt,
.esBewertungsbogenAnzeige__element {
   background-color: #FAFAFA;
   border: 1px solid #dbdbdb;
   padding: 20px;
   padding-top: 17px;
   margin-bottom: 20px; }
   .esFormulargroup--eingerueckt .esBewertungsbogen__bewertungspunkt:last-child,
   .esBewertungsbogenAnzeige__element:last-child {
      margin-bottom: 0; }

.esFormulargroup--fullWidth .esBewertungsbogen__bewertungspunkt {
   margin-bottom: 15px; }
   .esFormulargroup--fullWidth .esBewertungsbogen__bewertungspunkt:last-child {
      margin-bottom: 0; }

.esFormulargroup--fullWidth .form-control {
   display: inline-block; }

/* esBewertungsbogenAnzeige */
.esBewertungsbogenAnzeige__element {
   margin-bottom: 20px; }

.esBewertungsbogenAnzeige__frage {
   color: #000000;
   font-weight: bold;
   display: block;
   margin-bottom: 5px; }

.esFormular__formWithFormgroup .esFormulargroup--eingerueckt .esFormulargroup__content--withBackground {
   padding: 15px 10px; }

.esBewertungsbogenAnzeige__combobox,
.esBewertungsbogenAnzeige__radiobuttons,
.esBewertungsbogenAnzeige__memo {
   display: block; }

/* Selbsteinschätzung */
.esSelbsteinschaetzung {
   display: flex;
   flex-direction: column;
   margin-top: 15px; }

.esSelbsteinschaetzung__kommentar {
   margin-bottom: 10px; }
   .esSelbsteinschaetzung__kommentar .esH5 {
      color: #000000; }

.esSelbsteinschaetzung__kommentar .form-control {
   width: 100% !important; }

.esSelbsteinschaetzung__wert {
   margin-bottom: 10px;
   flex-direction: column; }

@media only screen and (min-width: 700px) {
   .esSelbsteinschaetzung {
      align-items: center;
      flex-direction: row; }
   .esSelbsteinschaetzung__wert {
      margin-left: 10px;
      display: flex;
      flex: 3;
      justify-content: center; }
   .esSelbsteinschaetzung__absenden {
      flex: 2; }
      .esSelbsteinschaetzung__absenden .btn {
         float: right; }
   .esSelbsteinschaetzung__kommentar {
      flex: 5; } }

/* Formularinstanzen */
.esFormularwrapper {
   overflow: hidden; }

.esFormularwrapper__addForm {
   margin-right: 10px; }

.esFormularinstanz {
   padding: 15px;
   padding-right: 0;
   margin-bottom: 30px; }

.esFormular--mehrfachanmeldung .esFormularinstanz {
   background: #fafafa;
   padding-right: 15px; }

.esFormularinstanz__teilnehmer {
   margin-bottom: 15px; }

.esFormularinstanz__teilnehmerUeberschrift {
   font-size: 22px;
   font-size: 2.2rem;
   font-weight: bold;
   display: inline-block; }

.esFormularinstanz__formularauswahl {
   display: flex;
   flex-direction: column;
   margin-bottom: 15px; }
   .esFormularinstanz__formularauswahl label {
      margin-bottom: 5px; }
   .esFormularinstanz__formularauswahl select {
      width: 250px; }

.esFormularinstanz__preis {
   text-align: right;
   padding: 10px 0 0 10px;
   font-weight: 700;
   font-size: 16px;
   font-size: 1.6rem; }

.esFormularinstanz__icon {
   line-height: 31px;
   font-size: 25px;
   font-size: 2.5rem;
   margin-bottom: 15px; }
   .esFormularinstanz__icon.esFormularinstanz__loeschen {
      float: right;
      color: #1E1E1E;
      cursor: pointer; }
      .esFormularinstanz__icon.esFormularinstanz__loeschen:hover {
         color: #a94442; }
   .esFormularinstanz__icon.esFormularinstanz__kontaktverknuepfung {
      color: #6B6B6B;
      margin-left: 5px; }

.esFormulargroup__content .esFormularinstanz:last-child {
   margin-bottom: 0; }

.esFormularMitController .esFormular__hrVorButton {
   display: none; }

@media screen and (min-width: 768px) {
   .esFormularinstanz {
      padding: 20px;
      padding-right: 0; }
   .esFormular--mehrfachanmeldung .esFormularinstanz {
      padding-right: 20px; }
   .esFormular {
      margin-top: 30px; } }

.esInputgroup {
   height: 38px;
   font-size: 14px;
   font-size: 1.4rem;
   display: flex;
   border: 1px solid #ccc;
   cursor: pointer; }
   .esInputgroup__input {
      background: white;
      height: 100%;
      flex: 1;
      padding: 6px 12px;
      overflow: hidden;
      line-height: 24px;
      word-break: break-all; }
      .esInputgroup__input .esInputgroup__bezeichnungWrapper {
         overflow: hidden;
         position: relative;
         line-height: 24px;
         max-height: 24px;
         text-align: left;
         padding-right: 20px;
         width: 100%;
         display: inline-block;
         color: #aaa; }
         .esInputgroup__input .esInputgroup__bezeichnungWrapper:before {
            content: '...';
            position: absolute;
            right: -1px;
            bottom: 0;
            margin-right: 1px; }
         .esInputgroup__input .esInputgroup__bezeichnungWrapper:after {
            content: '';
            position: absolute;
            right: -0.2em;
            /*right: -0.15em;*/
            width: 1em;
            height: 1em;
            margin-top: 0.2em;
            background-color: white; }
         .esInputgroup__input .esInputgroup__bezeichnungWrapper:after {
            margin-top: 6px; }
      .esInputgroup__input .esInputgroup__bezeichnung {
         position: relative; }
         .esInputgroup__input .esInputgroup__bezeichnung:empty:not(:focus):before {
            content: attr(placeholder);
            color: #aaa; }
      .esInputgroup__input .icon-status:before {
         -webkit-animation: spin 2s linear infinite;
                 animation: spin 2s linear infinite;
         position: absolute;
         top: 5px; }
      .esInputgroup__input .dx-icon-close {
         font: 18px/1 DXIcons;
         vertical-align: middle;
         float: right;
         line-height: 24px;
         color: #979797; }
   .esInputgroup__addon {
      background: #dbdbdb;
      height: 100%;
      width: 45px;
      border-left: 1px solid #ccc;
      font-size: 20px;
      font-size: 2rem;
      text-align: center;
      line-height: 36px; }

/*--------Anmeldung dritter----------*/
.controller__kip.action__anmeldung .esLayout_main_inner--overflow-auto,
.controller__pun.action__dokumentieren .esLayout_main_inner--overflow-auto,
.controller__pun.action__bearbeiten .esLayout_main_inner--overflow-auto {
   overflow: auto; }

@media screen and (min-width: 1400px) {
   .controller__kip.action__anmeldung .esLayout_main_inner > div,
   .controller__pun.action__dokumentieren .esLayout_main_inner > div,
   .controller__pun.action__bearbeiten .esLayout_main_inner > div {
      padding-right: 45px; } }

@media screen and (min-width: 1400px) {
   .layout__presentation.controller__kip.action__anmeldung .esLayout_main_inner > div, .layout__presentation.controller__pun.action__dokumentieren .esLayout_main_inner > div, .layout__presentation.controller__pun.action__bearbeiten .esLayout_main_inner > div {
      padding-right: 15px; } }

.esFormularwrapper--KipAnmeldung,
.esFormularwrapper--PunDokumentieren,
.esFormularwrapper--PunBearbeiten {
   margin-top: 15px; }

.layout__presentation .esFormularwrapper--KipAnmeldung,
.layout__presentation .esFormularwrapper--PunDokumentieren,
.layout__presentation .esFormularwrapper--PunBearbeiten {
   margin-top: 0; }

.esFormularMitController-wrapper {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap; }

.esFormularMitController-forms {
   flex-grow: 1;
   flex-basis: 0;
   padding-right: 3px; }

.esFormularMitController-interaction {
   margin-left: 15px;
   flex-shrink: 0;
   z-index: 2; }

.globalFormular-wrapper {
   margin-top: 15px; }

.formular-globalFormularUndPlatzhalter #globalFormularContent .esFormulargruppe {
   background: #fafafa; }

#teilnehmersteuerung-wrapper.collapse,
#teilnehmersteuerung-wrapper.collapse.in {
   display: block; }

.teilnehmersteuerungBox__buttonWrapper {
   display: none; }

.teilnehmersteuerungBox__button {
   display: none; }

@media screen and (max-width: 767px) {
   .formular-globalFormularUndPlatzhalter {
      flex-direction: column; }
   .teilnehmersteuerungBox__buttonWrapper {
      display: inline-block;
      margin-bottom: 10px;
      margin-left: 4px; }
   .teilnehmersteuerungBox__button {
      display: block; }
   .teilnehmersteuerungBox__headingDesktop {
      display: none; }
   #teilnehmersteuerung-wrapper.collapse {
      display: none; }
   #teilnehmersteuerung-wrapper.collapse.in {
      display: block; } }

.esFormularMitController-interaction .teilnehmersteuerung-collapseTriggerMobile {
   display: none; }

.esFormularMitController-interaction .formselection,
.esFormularMitController-interaction .teilnehmersteuerung {
   width: 100%; }
   @media screen and (min-width: 768px) {
      .esFormularMitController-interaction .formselection,
      .esFormularMitController-interaction .teilnehmersteuerung {
         width: 300px; } }
   .esFormularMitController-interaction .formselection button,
   .esFormularMitController-interaction .teilnehmersteuerung button {
      text-align: left;
      margin-bottom: 8px;
      width: 100%;
      display: flex; }
      .esFormularMitController-interaction .formselection button:last-of-type,
      .esFormularMitController-interaction .teilnehmersteuerung button:last-of-type {
         margin-bottom: 0; }
      .esFormularMitController-interaction .formselection button span[class^="icon"]:before,
      .esFormularMitController-interaction .teilnehmersteuerung button span[class^="icon"]:before {
         font-size: 20px;
         font-size: 2rem;
         padding-right: 8px; }
   @media screen and (min-width: 992px) and (max-width: 1199.98px) {
      .esFormularMitController-interaction .formselection,
      .esFormularMitController-interaction .teilnehmersteuerung {
         max-width: 200px; }
         .esFormularMitController-interaction .formselection button,
         .esFormularMitController-interaction .teilnehmersteuerung button {
            padding-left: 8px;
            padding-right: 6px; }
            .esFormularMitController-interaction .formselection button .icon-plus,
            .esFormularMitController-interaction .teilnehmersteuerung button .icon-plus {
               display: none; } }

.esFormularMitController-interaction .formselection-list,
.esFormularMitController-interaction .teilnehmersteuerung-teilnehmerliste {
   padding: 5px 0;
   overflow-y: auto;
   margin-top: 20px; }

.esFormularMitController-interaction .formselection-list-titel,
.esFormularMitController-interaction .teilnehmersteuerung-teilnehmerliste-titel {
   font-weight: bold;
   padding-bottom: 5px; }

.esFormularMitController-interaction .formselection-item {
   border: 1px solid transparent;
   padding: 8px 10px 8px 5px;
   background-color: #FAFAFA;
   word-break: break-word;
   border: 1px solid #FAFAFA;
   display: flex;
   flex-wrap: nowrap; }
   .esFormularMitController-interaction .formselection-item:last-of-type {
      margin-bottom: 0; }
   .esFormularMitController-interaction .formselection-item:not(.formselection-item--notClickable):hover {
      background-color: #ccc;
      cursor: pointer; }
   .esFormularMitController-interaction .formselection-item--icon {
      font-size: 19px;
      font-size: 1.9rem;
      vertical-align: bottom;
      margin-left: 5px; }
   .esFormularMitController-interaction .formselection-item--invalide {
      border: 1px solid #a94442;
      margin: 3px 0;
      padding-top: 10px;
      padding-bottom: 10px; }
   .esFormularMitController-interaction .formselection-item .formselection-item--id {
      flex-basis: 21px;
      text-align: right;
      flex-shrink: 0;
      margin-right: 2px; }
   .esFormularMitController-interaction .formselection-item .formselection-item--inner {
      flex-grow: 1;
      display: flex; }
      .esFormularMitController-interaction .formselection-item .formselection-item--inner .formselection-item--name {
         flex-grow: 1; }
   .esFormularMitController-interaction .formselection-item .formselection-item--icon.icon-link-3 {
      display: none; }
   .esFormularMitController-interaction .formselection-item .formselection-item--icon.dx-icon-close {
      color: #1E1E1E; }
      .esFormularMitController-interaction .formselection-item .formselection-item--icon.dx-icon-close:hover {
         color: #a94442; }

/*im mobiler und tablet Ansicht soll der Platz nicht verschenkt werden*/
@media screen and (max-width: 991px) {
   .controller__kip.action__anmeldung #formularContent,
   .controller__kip.action__anmeldung #globalFormularContent {
      padding-left: 0; } }

@media screen and (max-width: 767px) {
   .controller__kip.action__anmeldung .esFormular {
      margin-top: 15px; }
   .controller__kip.action__anmeldung .esBreadcrumb li:last-child {
      display: none; }
   .esFormularMitController-wrapper {
      flex-direction: column; }
      .esFormularMitController-wrapper .esFormularMitController-forms {
         order: 2;
         padding-right: 0;
         margin-top: 10px; }
      .esFormularMitController-wrapper .esFormularMitController-interaction {
         margin: 0;
         order: 1;
         width: 100%;
         position: sticky;
         top: 0;
         background-color: #fff; }
         .esFormularMitController-wrapper .esFormularMitController-interaction .esButtonbox--open .esButtonbox__uebergang {
            height: 11px; }
      .esFormularMitController-wrapper .teilnehmersteuerung-collapseTriggerMobile {
         display: block; }
         .esFormularMitController-wrapper .teilnehmersteuerung-collapseTriggerMobile span {
            margin-left: 8px; }
         .esFormularMitController-wrapper .teilnehmersteuerung-collapseTriggerMobile span[class^="icon"]:before {
            content: "\64"; }
         .esFormularMitController-wrapper .teilnehmersteuerung-collapseTriggerMobile.collapsed span[class^="icon"]:before {
            content: "\61"; }
      .esFormularMitController-wrapper .teilnehmersteuerung {
         position: relative;
         display: flex;
         flex-wrap: wrap;
         flex-direction: row;
         width: 100%;
         padding-right: 0;
         padding-bottom: 5px;
         max-width: unset; }
         .esFormularMitController-wrapper .teilnehmersteuerung > button > span {
            text-align: left; }
      .esFormularMitController-wrapper .teilnehmersteuerung-teilnehmerHinzufuegen,
      .esFormularMitController-wrapper .teilnehmersteuerung-ausAdressbuchLaden {
         flex-basis: 100%;
         margin-bottom: 0; }
      .esFormularMitController-wrapper .teilnehmersteuerung-ausAdressbuchLaden {
         order: 1; }
      .esFormularMitController-wrapper .teilnehmersteuerung-teilnehmerHinzufuegen {
         order: 2; }
      .esFormularMitController-wrapper .teilnehmersteuerung-teilnehmerliste {
         flex-basis: 100%;
         order: 3; }
      .esFormularMitController-wrapper .teilnehmersteuerung-teilnehmerliste-teilnehmer {
         max-height: 195px;
         overflow-y: auto; }
   .formular-globalFormularUndPlatzhalter #globalFormularContent {
      padding-right: 0; }
   #globalFormularContent .esFormulargroup--gruppenlos {
      margin-right: 0; } }

.esFormularfeld--AuswahlGenehmiger .esInputgroup__input {
   z-index: 1;
   position: relative; }

.esFormularfeld--AuswahlGenehmiger .esInputgroup__delete {
   display: none; }

.esFormularfeld--AuswahlGenehmiger .esInputgroup__addon:before {
   font-family: 'easySoft-Publish' !important;
   content: "\e905"; }

.esFormularfeld--AuswahlGenehmiger .hiddenInput {
   z-index: -1;
   position: absolute;
   width: 1px !important;
   height: 1px !important;
   padding: 0 !important; }

.esFormularfeld--AuswahlGenehmiger.esFormularfeld--hatInhalt .esInputgroup__input {
   padding-right: 30px; }

.esFormularfeld--AuswahlGenehmiger.esFormularfeld--hatInhalt .esInputgroup__bezeichnungWrapper {
   color: #333; }

.esFormularfeld--AuswahlGenehmiger.esFormularfeld--hatInhalt .esInputgroup__delete {
   display: inline-block;
   position: absolute;
   right: 10px; }

/*
   Spezialfall Vue-SPA mit Mehrfachformular, für das es keine JS-Höhenberechnung geben soll.
   Auf mobile alles schön untereinander, daher der Breakpoint für Styles ab ca. Tabletgröße
*/
@media screen and (min-width: 768px) {
   .controller__qal .esFormulargroup {
      margin-bottom: 0; }
   .controller__qal .esVolleSeitenbreiteMitMargin {
      height: calc(100% - 15px); }
   .controller__qal .qalDokumentieren {
      height: calc(100% - 80px); }
   .controller__qal #esFormular {
      height: calc(100% - 15px); }
   .controller__qal .esFormularMitController-interaction {
      height: calc(100% - 30px); }
   .controller__qal .esFormularMitController-wrapper {
      height: calc(100% - 40px); }
   .controller__qal .esFormularMitController,
   .controller__qal .esFormularMitController-forms,
   .controller__qal .esFormular--mehrfachanmeldung,
   .controller__qal .esLayout_main_inner,
   .controller__qal #qal {
      height: 100%; }
   .controller__qal .esFormularMitController-forms,
   .controller__qal .esFormularMitController-interaction {
      overflow-y: auto; } }

.layout__presentation.controller__qal .esLayout_main_inner,
.layout__presentation.controller__qal #qal {
   height: unset; }

.esFormulargroup {
   overflow: hidden;
   margin-bottom: 17px;
   width: 100%; }
   .esFormulargroup .esFormulargroup__head {
      cursor: pointer;
      display: flex;
      justify-content: flex-start;
      flex-direction: row; }
   .esFormulargroup .esFormulargroup__title--abgeschnitten {
      display: inline-block;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden; }

.esBewertungsbogen .esFormulargroup {
   position: relative; }
   .esBewertungsbogen .esFormulargroup .esFormulargroup__head {
      position: relative; }

.esFormulargroup--eingerueckt {
   /* Rechts am Titel gibt es ein kleines Rechteck, das den Status der Formulargroup anzeigt */ }
   .esFormulargroup--eingerueckt .esFormulargroup__head .esFormulargroup__title, .esFormulargroup--eingerueckt .esFormulargroup__head:before, .esFormulargroup--eingerueckt .esFormulargroup__head:after {
      padding: 5px 15px;
      color: white; }
   .esFormulargroup--eingerueckt .esFormulargroup__head .esFormulargroup__title {
      color: #000000;
      display: inline-block;
      background: #FAFAFA;
      border: 1px solid #dbdbdb;
      font-size: 16px;
      font-size: 1.6rem;
      left: 62px;
      line-height: 30px;
      right: 0;
      padding-left: 25px;
      font-weight: bold;
      margin-left: 15px;
      width: 100%; }
   .esFormulargroup--eingerueckt .esFormulargroup__head:before {
      box-sizing: border-box;
      background: #1E1E1E;
      width: 50px;
      height: 42px;
      text-align: center;
      padding-top: 14px;
      /* .fa -> wird noch durch Publish-Icon ersetzt*/
      display: inline-block;
      font: normal normal normal 14px/1 FontAwesome;
      font-size: inherit;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      /* .fa-minus */
      content: "\f068"; }
   .esFormulargroup--eingerueckt .esFormulargroup__head.collapsed {
      /* head is collapsed */ }
      .esFormulargroup--eingerueckt .esFormulargroup__head.collapsed.esFormulargroup__head:before {
         /* .fa-plus */
         content: "\f067";
         border: 1px solid #dbdbdb; }
      .esFormulargroup--eingerueckt .esFormulargroup__head.collapsed .esFormulargroup__title, .esFormulargroup--eingerueckt .esFormulargroup__head.collapsed.esFormulargroup__head:before {
         background: white;
         color: black; }
   .esFormulargroup--eingerueckt .esFormulargroup__content {
      padding: 20px 0 0 64px; }
      .esFormulargroup--eingerueckt .esFormulargroup__content--withBackground {
         background: #FAFAFA;
         border: 1px solid #dbdbdb;
         padding-left: 0;
         margin-left: 64px;
         margin-top: 27px; }
      .esFormulargroup--eingerueckt .esFormulargroup__content--withPadding {
         padding: 20px; }
      .esFormulargroup--eingerueckt .esFormulargroup__content--withoutPadding {
         padding: 0; }
   .esFormulargroup--eingerueckt .esFormulargroup--withStatus .esFormulargroup__title {
      right: 62px; }
      .esFormulargroup--eingerueckt .esFormulargroup--withStatus .esFormulargroup__title:after {
         content: "";
         background: white;
         width: 50px;
         height: 42px;
         text-align: center;
         padding-top: 15px;
         position: absolute;
         right: 0;
         top: 0; }
   .esFormulargroup--eingerueckt .esFormulargroup--withStatus .esFormulargroup__content {
      padding-right: 62px; }
   .esFormulargroup--eingerueckt .esFormulargroup--status-ok .esFormulargroup__title:after {
      /* .fa-check */
      content: "\f00c";
      background: green;
      /* .fa -> wird noch durch Publish-Icon ersetzt*/
      display: inline-block;
      font: normal normal normal 14px/1 FontAwesome;
      font-size: inherit;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }

/* esFormulargroup--eingerueckt */
.esFormulargroup--gespiegelt {
   display: flex;
   flex-direction: column-reverse; }
   .esFormulargroup--gespiegelt .globalFormular-wrapper {
      margin-top: 0; }
   .esFormulargroup--gespiegelt .hauptFormular-wrapper {
      margin-top: 15px; }

.esFormulargroup__content--informationBackground {
   border: 1px solid #D0D0CF;
   background-color: #FAFAFA; }

.esFormulargroup__content--withBackground.esFormulargroup__content--whiteBackgroundAndNoBorder {
   border: none;
   background-color: white; }

.esFormulargroup--fullWidth .esFormulargroup__head {
   background-color: #4A4A4A;
   padding: 15px 25px;
   color: white;
   position: relative;
   font-size: 15px;
   font-size: 1.5rem;
   transition: background-color linear 0.3s; }
   .esFormulargroup--fullWidth .esFormulargroup__head.collapsed.esFormulargroup__head {
      background: #dbdbdb;
      color: black;
      line-height: 25px; }
      .esFormulargroup--fullWidth .esFormulargroup__head.collapsed.esFormulargroup__head:after {
         -webkit-transform: rotate(180deg);
                 transform: rotate(180deg);
         margin-top: -9px; }
   .esFormulargroup--fullWidth .esFormulargroup__head:before {
      content: "";
      border-radius: 50%;
      background: white;
      height: 2.2em;
      width: 2.2em;
      position: absolute;
      right: 25px;
      top: 50%;
      margin-top: -1.1em; }
   .esFormulargroup--fullWidth .esFormulargroup__head:after {
      content: "\64";
      font-family: 'easySoft-Publish' !important;
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      position: absolute;
      right: 30px;
      color: black;
      font-size: 22px;
      font-size: 2.2rem;
      top: 50%;
      margin-top: -12px;
      transition: all linear 0.3s; }
   .esFormulargroup--fullWidth .esFormulargroup__head--noCollapse {
      cursor: default; }
      .esFormulargroup--fullWidth .esFormulargroup__head--noCollapse:before, .esFormulargroup--fullWidth .esFormulargroup__head--noCollapse:after {
         display: none; }

.esFormulargroup--fullWidth .esFormulargroup__content {
   padding: 25px;
   background-color: #E9EBEC; }

@media screen and (min-width: 768px) {
   .esFormulargroup--gruppenlos {
      margin: 0 -20px; } }

select,
select.form-control {
   /* Selektor ueber Klasse zusaetzlich, da sonst Selektoren von Bootstrap exakter sind und anziehen*/
   border: 1px solid;
   width: 100%;
   height: 38px;
   padding: 6px 12px;
   background-color: white;
   background-image: url("../../../../App_Assets/Images/elemente/dropdown.png");
   background-position: right center;
   background-size: auto auto;
   background-repeat: no-repeat;
   border-color: #dbdbdb;
   padding-right: 40px;
   cursor: pointer;
   color: #555;
   font-size: 14px;
   font-size: 1.4rem;
   /*Disable Dropdown-Schaltflaeche*/
   -webkit-appearance: none;
   -moz-appearance: none; }
   select::-ms-expand,
   select.form-control::-ms-expand {
      display: none; }
   select.input-sm,
   select.form-control.input-sm {
      line-height: 1.25em; }
   select option,
   select.form-control option {
      padding: 7px 14px;
      color: #555; }
   select:hover,
   select.form-control:hover {
      background-image: url("../../../../App_Assets/Images/elemente/dropdown--hover.png"); }
   select:disabled,
   select.form-control:disabled {
      background-color: #ebebe4;
      cursor: default; }
   select.select--filterNotSet,
   select.form-control.select--filterNotSet {
      color: #A7A7A7; }
   select[esplaceholder],
   select.form-control[esplaceholder] {
      color: #aaa !important; }

input.toggle {
   max-height: 0;
   max-width: 0;
   opacity: 0; }

input.toggle + label {
   display: block;
   position: relative;
   box-shadow: inset 0 0 0 1px #d5d5d5;
   text-indent: -5000px;
   height: 24px;
   width: 50px;
   border-radius: 12px;
   cursor: pointer; }

input.toggle + label:before {
   content: "";
   position: absolute;
   display: block;
   height: 24px;
   width: 24px;
   top: 0;
   left: 0;
   border-radius: 15px;
   background: rgba(19, 191, 17, 0);
   transition: 0.25s ease-in-out; }

input.toggle + label:after {
   content: "";
   position: absolute;
   display: block;
   height: 24px;
   width: 24px;
   top: 0;
   left: 0;
   border-radius: 12px;
   background: white;
   box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.2);
   transition: 0.25s ease-in-out; }

input.toggle:checked + label:before {
   width: 50px;
   background: #13bf11; }

input.toggle:checked + label:after {
   left: 26px;
   box-shadow: inset 0 0 0 1px #13bf11, 0 2px 4px rgba(0, 0, 0, 0.2); }

.rating-container .empty-stars .star {
   color: #fcc978; }

.rating-container .filled-stars .star,
.rating-container .filled-stars .star .icon-evaluation_2 {
   color: #fcc978;
   text-shadow: none;
   -webkit-text-stroke: unset;
   -webkit-text-stroke-width: 0; }

.esDocumentview__PageWrapper {
   background-color: white;
   width: 100%;
   max-width: 900px;
   margin: 85px auto 50px;
   position: relative;
   box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.81);
   padding: 15px; }
   .esDocumentview__PageWrapper.esDocumentview--rtf {
      /*  Versuch alle Inline-Styles des Editors zu überschreiben */ }
      .esDocumentview__PageWrapper.esDocumentview--rtf table {
         width: 100%; }
         .esDocumentview__PageWrapper.esDocumentview--rtf table td {
            width: 100%; }
      .esDocumentview__PageWrapper.esDocumentview--rtf img {
         max-width: 100%;
         height: auto; }
      .esDocumentview__PageWrapper.esDocumentview--rtf ul li,
      .esDocumentview__PageWrapper.esDocumentview--rtf ol li,
      .esDocumentview__PageWrapper.esDocumentview--rtf ul li span,
      .esDocumentview__PageWrapper.esDocumentview--rtf ol li span,
      .esDocumentview__PageWrapper.esDocumentview--rtf p span {
         /*font-family: inherit !important;
      font-size: inherit !important;
      font-weight: inherit !important;
      font-style: inherit !important;
      color: inherit !important;
      background-color: inherit !important;
      text-decoration: inherit !important;*/ }
      .esDocumentview__PageWrapper.esDocumentview--rtf ul li, .esDocumentview__PageWrapper.esDocumentview--rtf ol li {
         margin-left: 0 !important; }
      .esDocumentview__PageWrapper.esDocumentview--rtf ol {
         padding-left: 15px; }
      .esDocumentview__PageWrapper.esDocumentview--rtf p {
         margin-left: 0 !important; }

/*Wrapper um die Navigation nach oben oder unten aus einem Element herauszuziehen*/
.esNavOberhalb,
.esNavUnterhalb {
   position: absolute;
   right: 0;
   left: 0; }

.esNavOberhalb {
   top: -50px; }

.esNavUnterhalb {
   bottom: -50px; }

.esNavStickyBottom {
   position: fixed;
   bottom: 0;
   left: 0;
   right: 0; }
   .esNavStickyBottom a {
      line-height: 2.5em; }

.esZurueckButton {
   line-height: 70px;
   background: #6B6B6B;
   font-family: 'easySoft-Publish' !important;
   -webkit-font-smoothing: antialiased;
   padding: 0 10px;
   display: inline-block;
   font-weight: bold;
   font-size: 19px;
   font-size: 1.9rem;
   color: white; }
   .esZurueckButton:before {
      content: "\62"; }
   .esZurueckButton:hover, .esZurueckButton:focus, .esZurueckButton:active {
      color: white;
      text-decoration: none;
      background-color: #5e5e5e; }

/*Standarddesign für die Menü-Navigation*/
#esLayoutNavigation ul {
   padding-left: 0;
   list-style-type: none; }

.esLayoutNavigation--basic {
   overflow: auto; }
   .esLayoutNavigation--basic .esLayoutNavigation__menuegruppe {
      width: 100%;
      float: left; }
   .esLayoutNavigation--basic .esLayoutNavigation__menuegruppeBezeichnung {
      cursor: pointer;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      .esLayoutNavigation--basic .esLayoutNavigation__menuegruppeBezeichnung .esSvgIcon svg {
         fill: #1E1E1E; }
   .esLayoutNavigation--basic .esLayoutNavigation__menuepunkte {
      float: left;
      overflow: auto;
      overflow-y: hidden;
      width: 300px;
      display: inline-block;
      transition: max-height 0.5s ease-in-out;
      height: auto; }
   .esLayoutNavigation--basic .esLayoutNavigation__menuegruppe.open {
      padding-bottom: 0; }
      .esLayoutNavigation--basic .esLayoutNavigation__menuegruppe.open .esLayoutNavigation__menuegruppeIcon {
         -webkit-transform: rotate(90deg);
                 transform: rotate(90deg); }
   .esLayoutNavigation--basic .esLayoutNavigation__menuegruppe.closed .esLayoutNavigation__menuepunkte {
      max-height: 0 !important; }
   .esLayoutNavigation--basic .esLayoutNavigation__menuepunkt {
      width: 100%;
      display: inline-block;
      float: left; }
      .esLayoutNavigation--basic .esLayoutNavigation__menuepunkt a {
         color: inherit;
         padding: 25px;
         display: flex;
         align-items: center; }
         .esLayoutNavigation--basic .esLayoutNavigation__menuepunkt a:hover, .esLayoutNavigation--basic .esLayoutNavigation__menuepunkt a:focus {
            text-decoration: none; }

.esLayoutNavigation--style1 {
   background: #FFFFFF; }
   .esLayoutNavigation--style1 .esLayoutNavigation__menuegruppe {
      border-bottom: 1px solid #E1E1E1; }
   .esLayoutNavigation--style1 .esLayoutNavigation__menuegruppeBezeichnung {
      padding: 22px 44px 22px 25px;
      position: relative;
      color: #1E1E1E; }
      .esLayoutNavigation--style1 .esLayoutNavigation__menuegruppeBezeichnung:hover {
         background: #0083C6;
         color: #FFFFFF; }
         .esLayoutNavigation--style1 .esLayoutNavigation__menuegruppeBezeichnung:hover .esSvgIcon svg {
            fill: #FFFFFF; }
   .esLayoutNavigation--style1 .esLayoutNavigation__menuegruppeIcon {
      font-weight: bold;
      line-height: 20px;
      transition: -webkit-transform 0.5s ease-in-out;
      transition: transform 0.5s ease-in-out;
      transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
      position: absolute;
      top: 50%;
      margin-top: -10px;
      right: 25px; }
   .esLayoutNavigation--style1 .esLayoutNavigation__menuepunkte {
      background: #e1e1e1 !important; }
   .esLayoutNavigation--style1 .esLayoutNavigation__menuepunkt {
      color: #1E1E1E; }
      .esLayoutNavigation--style1 .esLayoutNavigation__menuepunkt a {
         padding: 22px 38px; }
      .esLayoutNavigation--style1 .esLayoutNavigation__menuepunkt:hover {
         background: #0083C6;
         color: #FFFFFF; }
      .esLayoutNavigation--style1 .esLayoutNavigation__menuepunkt.active {
         background: #0083C6;
         color: #FFFFFF; }

#hamburgerMenue {
   display: none;
   width: 40px;
   height: 40px;
   margin: 0 3px;
   z-index: 103;
   position: relative;
   cursor: pointer; }

.hamburgerMenue__strich--oben, .hamburgerMenue__strich--unten {
   position: absolute;
   left: 28%;
   top: 50%;
   width: 44%;
   height: 1px;
   transition: -webkit-transform .2s ease;
   transition: transform .2s ease;
   transition: transform .2s ease, -webkit-transform .2s ease;
   -webkit-transform: none;
           transform: none; }

.hamburgerMenue__strich--oben:before, .hamburgerMenue__strich--unten:before {
   width: 100%;
   height: 100%;
   display: inline-block;
   position: absolute;
   content: '';
   background: #162B60;
   transition: -webkit-transform .15s ease .1s;
   transition: transform .15s ease .1s;
   transition: transform .15s ease .1s, -webkit-transform .15s ease .1s; }

.hamburgerMenue__strich--oben:before {
   -webkit-transform: translateY(-3px);
           transform: translateY(-3px); }

.hamburgerMenue__strich--unten:before {
   -webkit-transform: translateY(3px);
           transform: translateY(3px); }

#esPageWrapper.mobileMenueOpened .hamburgerMenue__strich--oben, #esPageWrapper.mobileMenueOpened .hamburgerMenue__strich--unten {
   transition: -webkit-transform .3s ease .1s;
   transition: transform .3s ease .1s;
   transition: transform .3s ease .1s, -webkit-transform .3s ease .1s; }

#esPageWrapper.mobileMenueOpened .hamburgerMenue__strich--oben:before, #esPageWrapper.mobileMenueOpened .hamburgerMenue__strich--unten:before {
   transition: -webkit-transform .2s ease;
   transition: transform .2s ease;
   transition: transform .2s ease, -webkit-transform .2s ease;
   -webkit-transform: none;
           transform: none; }

#esPageWrapper.mobileMenueOpened .hamburgerMenue__strich--oben {
   -webkit-transform: rotate(45deg);
           transform: rotate(45deg); }

#esPageWrapper.mobileMenueOpened .hamburgerMenue__strich--unten {
   -webkit-transform: rotate(-45deg);
           transform: rotate(-45deg); }

.esSlidebox {
   position: fixed;
   right: 0;
   top: 40%;
   min-height: 180px;
   width: 0;
   padding-left: 45px;
   color: #fff;
   transition: width .5s ease-in-out;
   overflow: hidden;
   z-index: 1; }

.layout__content .esSlidebox {
   top: calc(50% - 110px); }

.esSlidebox--open {
   width: 300px; }

.esSlidebox__content {
   padding: 20px;
   overflow: hidden;
   background-color: #4a4a4a;
   width: 260px;
   min-height: 180px; }

.esSlidebox__contentInnerWrapper {
   width: 100%;
   min-height: 140px;
   display: flex;
   flex-direction: column;
   justify-content: space-between; }

.esSlidebox__lug {
   position: absolute;
   left: 45px;
   /* same as height */
   height: 45px;
   line-height: 45px;
   text-align: center;
   background-color: #1E1E1E;
   -webkit-transform-origin: 0 0;
           transform-origin: 0 0;
   width: 180px;
   top: 180px;
   font-size: 16px;
   font-size: 1.6rem;
   cursor: pointer; }

.esSlidebox--fromRight .esSlidebox__lug {
   left: 0;
   -webkit-transform: rotate(270deg);
           transform: rotate(270deg); }

.esSlidebox__lugArrow {
   position: absolute;
   top: 0;
   right: 27px;
   font-size: 20px;
   font-size: 2rem;
   -webkit-transform: rotate(90deg);
           transform: rotate(90deg); }

.esSlidebox__lugArrow-active {
   -webkit-transform: rotate(270deg);
           transform: rotate(270deg); }

.esSlidebox__contentHead {
   text-transform: uppercase;
   font-size: 15px;
   font-size: 1.5rem;
   margin-bottom: 10px;
   display: inline-block; }

.esSlidebox__contentImage {
   border: 1px solid white;
   max-width: 135px;
   max-height: 108px;
   margin: 0 20px 10px 0; }

.esSlidebox__contentPerson {
   overflow: auto;
   display: flex;
   flex-direction: column; }

.esSlidebox__contentPersonInfo {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   align-items: flex-start; }
   .esSlidebox__contentPersonInfo span {
      padding-bottom: 10px; }

@media screen and (min-width: 481px) {
   .esSlidebox--open {
      width: 420px; }
   .esSlidebox__content {
      width: 380px; }
   .esSlidebox {
      right: 17px; }
   .esSlidebox__contentPerson {
      flex-direction: row; }
   .esSlidebox__contentImage {
      margin-bottom: 0; } }

.esBreadcrumb {
   margin-bottom: 10px; }
   .esBreadcrumb ul {
      list-style: none;
      display: inline-table;
      padding: 0;
      margin: 0; }
      .esBreadcrumb ul li {
         display: inline; }
         .esBreadcrumb ul li a, .esBreadcrumb ul li span {
            display: block;
            float: left;
            position: relative;
            text-decoration: none; }
   .esBreadcrumb--arrows li a, .esBreadcrumb--arrows li span {
      background: #1E1E1E;
      text-align: center;
      margin: 0 10px 7px 0;
      font-size: 15px;
      font-size: 1.5rem;
      height: 38px;
      color: #FFF;
      padding-top: 9px; }
      .esBreadcrumb--arrows li a:before, .esBreadcrumb--arrows li span:before {
         content: "";
         position: absolute; }
      .esBreadcrumb--arrows li a:after, .esBreadcrumb--arrows li span:after {
         content: "";
         position: absolute;
         z-index: 1; }
      .esBreadcrumb--arrows li a.active, .esBreadcrumb--arrows li span.active {
         background: #0083C6; }
   .esBreadcrumb--arrows li a:hover {
      background: #E30613; }
   .esBreadcrumb--arrows li:first-child a:before,
   .esBreadcrumb--arrows li:first-child span:before {
      display: none; }
   .esBreadcrumb--arrows__lastCrumb:after, .esBreadcrumb--arrows__lastCrumb:after {
      display: none; }
   .esBreadcrumb--text {
      display: inline-block; }
      .esBreadcrumb--text ul {
         vertical-align: top; }
      .esBreadcrumb--text a, .esBreadcrumb--text span {
         margin-right: 15px; }
         .esBreadcrumb--text a:after, .esBreadcrumb--text span:after {
            content: ">";
            display: inline-block;
            padding-left: 7px; }
      .esBreadcrumb--text a {
         text-decoration: none;
         color: #A7A7A7; }
         .esBreadcrumb--text a:hover {
            color: #6B6B6B; }
      .esBreadcrumb--text li:last-child a:after,
      .esBreadcrumb--text li:last-child span:after {
         content: ""; }

/* Unterscheide Displaybreite -> Pfeile nebeneinander oder mit voller Breite uebereinander */
@media screen and (min-width: 768px) {
   .esBreadcrumb--arrows li a, .esBreadcrumb--arrows li span {
      padding-left: 40px;
      padding-right: 20px; }
      .esBreadcrumb--arrows li a:before, .esBreadcrumb--arrows li span:before {
         /* Zahlenwerte jeweils halbe Gesamthoehe*/
         border-top: 19px solid transparent;
         border-bottom: 19px solid transparent;
         border-left: 19px solid white;
         left: 0;
         top: 0; }
      .esBreadcrumb--arrows li a:after, .esBreadcrumb--arrows li span:after {
         /* Zahlenwerte jeweils halbe Gesamthoehe*/
         border-top: 19.2px solid transparent;
         border-bottom: 19.2px solid transparent;
         border-left: 19px solid #1E1E1E;
         right: -19px;
         width: 19px;
         display: inline-block;
         top: 0; }
      .esBreadcrumb--arrows li a.active:after, .esBreadcrumb--arrows li span.active:after {
         border-left-color: #0083C6; }
   .esBreadcrumb--arrows li:first-child a,
   .esBreadcrumb--arrows li:first-child span {
      padding-left: 25px; }
   .esBreadcrumb--arrows li a:hover:after {
      border-left-color: #E30613; }
   .esBreadcrumb--arrows li.esBreadcrumb--arrows__lastCrumb a:after,
   .esBreadcrumb--arrows li.esBreadcrumb--arrows__lastCrumb span:after {
      content: "";
      right: 0; } }

@media screen and (max-width: 767px) {
   .esBreadcrumb--arrows ul {
      width: 100%; }
      .esBreadcrumb--arrows ul li a, .esBreadcrumb--arrows ul li span {
         width: 100%; }
         .esBreadcrumb--arrows ul li a:before, .esBreadcrumb--arrows ul li span:before {
            /* Zahlenwerte jeweils halbe Gesamthoehe*/
            border-top: 19px solid white;
            border-right: 19px solid transparent;
            border-left: 19px solid transparent;
            right: 25px;
            top: 0; }
         .esBreadcrumb--arrows ul li a:after, .esBreadcrumb--arrows ul li span:after {
            /* Zahlenwerte jeweils halbe Gesamthoehe*/
            border-right: 19px solid transparent;
            border-top: 19px solid #1E1E1E;
            border-left: 19px solid transparent;
            right: 25px;
            bottom: -16px; }
         .esBreadcrumb--arrows ul li a.active:after, .esBreadcrumb--arrows ul li span.active:after {
            border-top-color: #0083C6; }
      .esBreadcrumb--arrows ul li a:hover:after {
         border-top-color: #E30613; } }

.esBreadcrumb--arrows .esBreadcrumb__crumb--deactivated {
   background-color: #A7A7A7; }
   .esBreadcrumb--arrows .esBreadcrumb__crumb--deactivated:after {
      border-left: 19px solid #A7A7A7; }

.controller__obs.action__information .esBreadcrumb--arrows {
   width: 100%;
   max-width: 900px;
   margin: 50px auto 5px; }
   .controller__obs.action__information .esBreadcrumb--arrows .esBreadcrumb__crumb--deactivated:hover {
      background: #A7A7A7; }
   @media screen and (min-width: 768px) {
      .controller__obs.action__information .esBreadcrumb--arrows a:before,
      .controller__obs.action__information .esBreadcrumb--arrows span:before {
         border-left-color: #6B6B6B; }
      .controller__obs.action__information .esBreadcrumb--arrows .esBreadcrumb__crumb--deactivated:hover:after {
         border-left-color: #A7A7A7; } }
   @media screen and (max-width: 767px) {
      .controller__obs.action__information .esBreadcrumb--arrows {
         margin-bottom: 15px;
         margin-top: 20px; }
         .controller__obs.action__information .esBreadcrumb--arrows a:before,
         .controller__obs.action__information .esBreadcrumb--arrows span:before {
            border-top-color: #6B6B6B; }
         .controller__obs.action__information .esBreadcrumb--arrows .esBreadcrumb__crumb--deactivated:hover:after {
            border-top-color: #A7A7A7; } }

.esBreadcrumb2 {
   width: 100%;
   margin-bottom: 10px;
   display: inline-block; }
   .esBreadcrumb2 ul {
      list-style: none;
      padding: 0;
      margin: 0;
      width: 100%;
      vertical-align: top; }
      .esBreadcrumb2 ul li {
         display: inline; }
         .esBreadcrumb2 ul li > a, .esBreadcrumb2 ul li > span {
            position: relative;
            text-decoration: none;
            margin-right: 7px; }
            .esBreadcrumb2 ul li > a:after, .esBreadcrumb2 ul li > span:after {
               content: ">";
               display: inline-block;
               padding-left: 8px; }
         .esBreadcrumb2 ul li a {
            text-decoration: none;
            color: #A7A7A7; }
            .esBreadcrumb2 ul li a:hover {
               color: #6B6B6B; }
               .esBreadcrumb2 ul li a:hover:after {
                  color: #A7A7A7; }
         .esBreadcrumb2 ul li:last-child a:after, .esBreadcrumb2 ul li:last-child span:after {
            content: none; }
   @media screen and (min-width: 768px) {
      .esBreadcrumb2:not(.esBreadcrumb2--text) ul {
         display: flex;
         flex-flow: column; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li {
            display: block;
            margin: 0;
            padding: 0; }
            .esBreadcrumb2:not(.esBreadcrumb2--text) ul li:before {
               content: none; }
            .esBreadcrumb2:not(.esBreadcrumb2--text) ul li:after {
               content: none; }
            .esBreadcrumb2:not(.esBreadcrumb2--text) ul li:first-child > a:before, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li:first-child > span:before {
               content: none; }
            .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span {
               display: block;
               width: 100%;
               background: #1E1E1E;
               position: relative;
               padding: 9px 7px;
               margin: 0 10px 7px 0;
               text-align: center;
               font-size: 1.5rem;
               color: #FFF; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a .esBreadcrumbItem__text, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span .esBreadcrumbItem__text {
                  display: block;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a:before, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span:before {
                  content: "";
                  position: absolute;
                  border-top: 12px solid white;
                  border-right: 19px solid transparent;
                  border-left: 19px solid transparent;
                  right: 25px;
                  top: 0; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span:after {
                  content: "";
                  position: absolute;
                  z-index: 1;
                  border-right: 19px solid transparent;
                  border-top: 12px solid #1E1E1E;
                  border-left: 19px solid transparent;
                  right: 25px;
                  bottom: -12px;
                  padding: 0; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--active, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--active {
                  background: #0083C6; }
                  .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--active:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--active:after {
                     border-top-color: #0083C6; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--link:hover, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--link:hover {
                  cursor: pointer;
                  background: #E30613;
                  color: #FFF; }
                  .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--link:hover:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--link:hover:after {
                     border-top-color: #E30613; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--deactivated, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--deactivated {
                  background-color: #A7A7A7; }
                  .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--deactivated:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--deactivated:after {
                     border-left: 19px solid #A7A7A7; }
               .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--lastCrumb:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--lastCrumb:after {
                  display: none; } }

@media screen and (min-width: 768px) and (min-width: 768px) {
   .esBreadcrumb2:not(.esBreadcrumb2--text) ul {
      flex-flow: row; }
      .esBreadcrumb2:not(.esBreadcrumb2--text) ul li:first-child > a, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li:first-child span {
         margin-left: 0; }
      .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span {
         width: auto;
         width: initial;
         max-width: 18rem;
         padding-left: 20px;
         padding-right: 20px;
         margin-left: 20px; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--noMaxWidth, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--noMaxWidth {
            max-width: none; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a:before, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span:before {
            /* Zahlenwerte jeweils halbe Gesamthoehe*/
            border-top: 19px solid #1E1E1E;
            border-bottom: 19px solid #1E1E1E;
            border-left: 19px solid transparent;
            border-right: 0;
            right: auto;
            right: unset;
            bottom: 0;
            left: -19px;
            width: 19px; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span:after {
            /* Zahlenwerte jeweils halbe Gesamthoehe*/
            border-top: 19.2px solid transparent;
            border-bottom: 19.2px solid transparent;
            border-left: 19px solid #1E1E1E;
            border-right: 0;
            top: 0;
            bottom: 0;
            right: -19px;
            width: 19px; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--active:before, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--active:before {
            border-top: 19px solid #0083C6;
            border-bottom: 19px solid #0083C6; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--active:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--active:after {
            border-top-color: transparent;
            border-left-color: #0083C6; }
         .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--link:hover, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--link:hover {
            cursor: pointer; }
            .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--link:hover:before, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--link:hover:before {
               border-top: 19px solid #E30613;
               border-bottom: 19px solid #E30613; }
            .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > a.esBreadcrumb__item--link:hover:after, .esBreadcrumb2:not(.esBreadcrumb2--text) ul li > span.esBreadcrumb__item--link:hover:after {
               border-top-color: transparent;
               border-left-color: #E30613; } }
   .esBreadcrumb2--arrows ul {
      display: flex;
      flex-flow: column; }
      .esBreadcrumb2--arrows ul li {
         display: block;
         margin: 0;
         padding: 0; }
         .esBreadcrumb2--arrows ul li:before {
            content: none; }
         .esBreadcrumb2--arrows ul li:after {
            content: none; }
         .esBreadcrumb2--arrows ul li:first-child > a:before, .esBreadcrumb2--arrows ul li:first-child > span:before {
            content: none; }
         .esBreadcrumb2--arrows ul li > a, .esBreadcrumb2--arrows ul li > span {
            display: block;
            width: 100%;
            background: #1E1E1E;
            position: relative;
            padding: 9px 7px;
            margin: 0 10px 7px 0;
            text-align: center;
            font-size: 15px;
            font-size: 1.5rem;
            color: #FFF; }
            .esBreadcrumb2--arrows ul li > a .esBreadcrumbItem__text, .esBreadcrumb2--arrows ul li > span .esBreadcrumbItem__text {
               display: block;
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis; }
            .esBreadcrumb2--arrows ul li > a:before, .esBreadcrumb2--arrows ul li > span:before {
               content: "";
               position: absolute;
               border-top: 12px solid white;
               border-right: 19px solid transparent;
               border-left: 19px solid transparent;
               right: 25px;
               top: 0; }
            .esBreadcrumb2--arrows ul li > a:after, .esBreadcrumb2--arrows ul li > span:after {
               content: "";
               position: absolute;
               z-index: 1;
               border-right: 19px solid transparent;
               border-top: 12px solid #1E1E1E;
               border-left: 19px solid transparent;
               right: 25px;
               bottom: -12px;
               padding: 0; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--active, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--active {
               background: #0083C6; }
               .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--active:after, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--active:after {
                  border-top-color: #0083C6; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--link:hover, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--link:hover {
               cursor: pointer;
               background: #E30613;
               color: #FFF; }
               .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--link:hover:after, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--link:hover:after {
                  border-top-color: #E30613; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--deactivated, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--deactivated {
               background-color: #A7A7A7; }
               .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--deactivated:after, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--deactivated:after {
                  border-left: 19px solid #A7A7A7; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--lastCrumb:after, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--lastCrumb:after {
               display: none; }
   @media screen and (min-width: 768px) {
      .esBreadcrumb2--arrows ul {
         flex-flow: row; }
         .esBreadcrumb2--arrows ul li:first-child > a, .esBreadcrumb2--arrows ul li:first-child span {
            margin-left: 0; }
         .esBreadcrumb2--arrows ul li > a, .esBreadcrumb2--arrows ul li > span {
            width: auto;
            width: initial;
            max-width: 18rem;
            padding-left: 20px;
            padding-right: 20px;
            margin-left: 20px; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--noMaxWidth, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--noMaxWidth {
               max-width: none; }
            .esBreadcrumb2--arrows ul li > a:before, .esBreadcrumb2--arrows ul li > span:before {
               /* Zahlenwerte jeweils halbe Gesamthoehe*/
               border-top: 19px solid #1E1E1E;
               border-bottom: 19px solid #1E1E1E;
               border-left: 19px solid transparent;
               border-right: 0;
               right: auto;
               right: unset;
               bottom: 0;
               left: -19px;
               width: 19px; }
            .esBreadcrumb2--arrows ul li > a:after, .esBreadcrumb2--arrows ul li > span:after {
               /* Zahlenwerte jeweils halbe Gesamthoehe*/
               border-top: 19.2px solid transparent;
               border-bottom: 19.2px solid transparent;
               border-left: 19px solid #1E1E1E;
               border-right: 0;
               top: 0;
               bottom: 0;
               right: -19px;
               width: 19px; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--active:before, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--active:before {
               border-top: 19px solid #0083C6;
               border-bottom: 19px solid #0083C6; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--active:after, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--active:after {
               border-top-color: transparent;
               border-left-color: #0083C6; }
            .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--link:hover, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--link:hover {
               cursor: pointer; }
               .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--link:hover:before, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--link:hover:before {
                  border-top: 19px solid #E30613;
                  border-bottom: 19px solid #E30613; }
               .esBreadcrumb2--arrows ul li > a.esBreadcrumb__item--link:hover:after, .esBreadcrumb2--arrows ul li > span.esBreadcrumb__item--link:hover:after {
                  border-top-color: transparent;
                  border-left-color: #E30613; } }

.controller__obs.action__information .esBreadcrumb2,
.ref__obsExternAjax .esBreadcrumb2 {
   margin-top: 10px; }
   @media screen and (min-width: 768px) {
      .controller__obs.action__information .esBreadcrumb2 ,
      .ref__obsExternAjax .esBreadcrumb2 {
         display: block;
         max-width: 900px;
         margin: 50px auto 5px; }
         .controller__obs.action__information .esBreadcrumb2  li > a:before,
         .controller__obs.action__information .esBreadcrumb2  li > span:before,
         .ref__obsExternAjax .esBreadcrumb2  li > a:before,
         .ref__obsExternAjax .esBreadcrumb2  li > span:before {
            border-top-color: #6B6B6B; } }
   @media screen and (min-width: 768px) and (min-width: 768px) {
      .controller__obs.action__information .esBreadcrumb2  li:before,
      .ref__obsExternAjax .esBreadcrumb2  li:before {
         border-top-color: transparent;
         border-left-color: #6B6B6B; } }
   .controller__obs.action__information .esBreadcrumb2--arrows,
   .ref__obsExternAjax .esBreadcrumb2--arrows {
      display: block;
      max-width: 900px;
      margin: 50px auto 5px; }
      .controller__obs.action__information .esBreadcrumb2--arrows li > a:before,
      .controller__obs.action__information .esBreadcrumb2--arrows li > span:before,
      .ref__obsExternAjax .esBreadcrumb2--arrows li > a:before,
      .ref__obsExternAjax .esBreadcrumb2--arrows li > span:before {
         border-top-color: #6B6B6B; }
      @media screen and (min-width: 768px) {
         .controller__obs.action__information .esBreadcrumb2--arrows li:before,
         .ref__obsExternAjax .esBreadcrumb2--arrows li:before {
            border-top-color: transparent;
            border-left-color: #6B6B6B; } }
   @media screen and (max-width: 991px) {
      .controller__obs.action__information .esBreadcrumb2 .esBreadcrumb__item--link,
      .ref__obsExternAjax .esBreadcrumb2 .esBreadcrumb__item--link {
         cursor: pointer;
         color: #d6d6d6; }
      .controller__obs.action__information .esBreadcrumb2 .esBreadcrumb__item--active,
      .ref__obsExternAjax .esBreadcrumb2 .esBreadcrumb__item--active {
         color: white; } }

.esBreadcrumbModal {
   display: flex;
   padding-top: 15px;
   background-color: white;
   /*overflow-y: auto;*/ }
   .esBreadcrumbModal__item {
      margin-right: 30px;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      color: #bbbbbb; }
      .esBreadcrumbModal__item:hover {
         cursor: pointer; }
      .esBreadcrumbModal__item .esBreadcrumbModal__step {
         background-color: #bbbbbb;
         display: block;
         text-align: center;
         color: white;
         margin-right: 10px;
         border-radius: 100%;
         width: 24px;
         height: 24px;
         line-height: 24px;
         flex-shrink: 0; }
      .esBreadcrumbModal__item--active {
         color: #0083C6; }
         .esBreadcrumbModal__item--active .esBreadcrumbModal__step {
            background-color: #0083C6;
            width: 30px;
            height: 30px;
            line-height: 30px; }
      .esBreadcrumbModal__item--inactive {
         color: #1E1E1E; }
         .esBreadcrumbModal__item--inactive .esBreadcrumbModal__step {
            background-color: #1E1E1E; }
      @media screen and (max-width: 575px) {
         .esBreadcrumbModal__item .esBreadcrumbModal__stepText {
            display: none; } }
      .esBreadcrumbModal__item .esBreadcrumbModal__step--invalide {
         position: relative; }
         .esBreadcrumbModal__item .esBreadcrumbModal__step--invalide:before {
            content: '';
            position: absolute;
            top: -3px;
            right: -3px;
            left: -3px;
            bottom: -3px;
            border: 1px solid #a94442;
            border-radius: 50%; }
         .esBreadcrumbModal__item .esBreadcrumbModal__step--invalide:after {
            color: #a94442;
            content: '!';
            position: absolute;
            right: -6px;
            top: -9px;
            font-size: 25px;
            font-size: 2.5rem;
            font-weight: 600;
            background-color: white;
            border-radius: 3px; }

.esBreadcrumbModal__stickyWrapper {
   background-color: white;
   position: sticky;
   z-index: 1;
   top: 0; }

.esBreadcrumbModal__mobileTitle {
   display: none; }

@media screen and (max-width: 575px) {
   .esBreadcrumbModal__mobileTitle {
      display: block;
      color: #0083C6;
      font-size: 1.6rem;
      font-weight: 700;
      padding-bottom: 15px; } }

.alert {
   border-radius: 0; }

.alert-danger {
   border-color: #a94442; }

.alert-customColor {
   color: #FFFFFF;
   background-color: #1E1E1E;
   border-color: #1E1E1E; }

.esInlineAlert {
   position: relative;
   padding-left: 29px;
   display: flex;
   align-items: center;
   flex-direction: row;
   min-height: 23px; }
   .esInlineAlert:before {
      font-family: 'easySoft-Publish';
      content: "\e92d";
      position: absolute;
      left: -3px;
      top: 50%;
      font-size: 27px;
      margin-top: -19px; }

.esGreyBox {
   background-color: #E9EBEC;
   padding: 30px;
   margin-bottom: 20px; }

span.badge {
   background-color: red;
   position: absolute;
   top: 1px;
   right: 1px;
   font-size: 13px;
   font-size: 1.3rem;
   font-weight: normal; }
   span.badge.badge--filterBox {
      top: -13px;
      right: -13px;
      background-color: #afca26; }

.vorschauModus {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   border: 3px solid red;
   z-index: 20002;
   pointer-events: none; }
   .vorschauModus__text {
      width: 280px;
      height: 24px;
      background-color: red;
      margin: auto;
      text-align: center;
      color: white; }

.seminarplanDataviewObjectsWrapper {
   overflow: auto;
   padding: 12.5px 15px; }
   .seminarplanDataviewObjectsWrapper h3 {
      margin-top: 0;
      font-size: 19px;
      font-size: 1.9rem; }

.seminarplanDataviewObjectsWrapper--nachGrid {
   padding-top: 0; }

.esGrid ~ #seminarplan--datensicht {
   padding-top: 30px; }

.esKeineDaten {
   height: 100px;
   line-height: 100px;
   text-align: center; }

.info-box {
   margin-top: 10px;
   padding: 15px;
   border: 1px solid #dbdbdb;
   background: #fff;
   display: flex; }
   .info-box .esIcon {
      margin-right: 10px; }

.nav-tabs {
   border-bottom-color: #1E1E1E; }
   .nav-tabs > li:first-child {
      margin-left: 5px; }
   .nav-tabs > li > a {
      border-radius: 0;
      text-transform: uppercase;
      color: #1E1E1E;
      border: #1E1E1E 1px solid;
      margin-right: 4px;
      padding-top: 11px; }
   .nav-tabs > li.active > a,
   .nav-tabs > li.active > a:focus,
   .nav-tabs > li.active > a:hover {
      background-color: #1E1E1E;
      color: white;
      border-color: #1E1E1E; }
   .nav-tabs > li:focus:after,
   .nav-tabs > li:hover:after {
      content: "";
      background-color: #E30613;
      pointer-events: none;
      opacity: 0.15;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 1px;
      right: 4px; }
   .nav-tabs > li > a:focus,
   .nav-tabs > li > a:hover {
      color: #E30613;
      border-color: #E30613; }

.nav-tabs--withStatus > li > a {
   padding-right: 40px; }
   .nav-tabs--withStatus > li > a .fa-check,
   .nav-tabs--withStatus > li > a .fa-exclamation {
      display: inline-block;
      font-size: 30px;
      font-size: 3rem;
      position: absolute;
      right: 4px;
      top: 50%;
      margin-top: -15px; }
   .nav-tabs--withStatus > li > a .fa-check {
      color: #afca26; }
   .nav-tabs--withStatus > li > a .fa-exclamation {
      color: #941914; }

.nav-tabs--aktivesElementHoch > li > a {
   margin-top: 10px;
   padding-left: 40px;
   padding-right: 40px; }

.nav-tabs--aktivesElementHoch > li.active > a {
   margin-top: 0;
   padding-top: 20px; }

.tab__item--active span {
   border-bottom: 3px solid #1E1E1E; }

/* ---- Tooltip ----*/
.esTooltip__title {
   text-transform: uppercase;
   font-weight: bold; }

.esElementMitTooltip .esTooltipWrapper, .esTooltipInfo .esTooltipWrapper {
   position: absolute;
   visibility: hidden;
   -ms-grid-row-align: center;
       align-self: center;
   width: 0;
   height: 0; }
   .esElementMitTooltip .esTooltipWrapper .esTooltip, .esTooltipInfo .esTooltipWrapper .esTooltip {
      min-width: 200px;
      margin-left: 20px;
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
      padding: 10px 20px;
      background-color: #FFFFFF;
      border: 2px solid #6B6B6B;
      font-weight: normal;
      font-size: 13px;
      font-size: 1.3rem;
      border-radius: 8px;
      z-index: 120;
      box-sizing: border-box;
      box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
      visibility: hidden;
      opacity: 0;
      transition: opacity 0.8s; }
      .esElementMitTooltip .esTooltipWrapper .esTooltip .esTooltipPfeil, .esTooltipInfo .esTooltipWrapper .esTooltip .esTooltipPfeil {
         position: absolute;
         top: 50%;
         right: 100%;
         margin-top: -12px;
         width: 12px;
         height: 24px;
         overflow: hidden; }
      .esElementMitTooltip .esTooltipWrapper .esTooltip .esTooltipPfeil:after, .esTooltipInfo .esTooltipWrapper .esTooltip .esTooltipPfeil:after {
         content: '';
         position: absolute;
         width: 12px;
         height: 12px;
         left: 0;
         top: 50%;
         -webkit-transform: translate(50%, -50%) rotate(-45deg);
                 transform: translate(50%, -50%) rotate(-45deg);
         background-color: #6B6B6B;
         box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5); }
      .esElementMitTooltip .esTooltipWrapper .esTooltip p, .esTooltipInfo .esTooltipWrapper .esTooltip p {
         text-transform: none; }
         .esElementMitTooltip .esTooltipWrapper .esTooltip p:last-of-type, .esTooltipInfo .esTooltipWrapper .esTooltip p:last-of-type {
            padding: 0; }

.esElementMitTooltip:hover .esTooltip, .esTooltipInfo:hover .esTooltip {
   visibility: visible;
   opacity: 1; }

.esTooltipInfo {
   color: #6B6B6B;
   display: inline-flex;
   flex-flow: row;
   font: normal normal normal 14px/1 FontAwesome;
   font-size: inherit;
   text-rendering: auto;
   cursor: pointer; }
   .esTooltipInfo * {
      font-family: "Open Sans", Helvetica, Arial; }
   .esTooltipInfo:before {
      content: "\f05a"; }

.esTooltip {
   position: relative; }
   .esTooltip:after {
      background: rgba(74, 74, 74, 0.95);
      border-radius: 0.1rem;
      bottom: 100%;
      color: #E9EBEC;
      content: attr(data-tooltip);
      display: block;
      left: 50%;
      max-width: 260px;
      max-width: 26rem;
      opacity: 0;
      overflow: hidden;
      padding: 2px 4px;
      padding: 0.2rem 0.4rem;
      pointer-events: none;
      position: absolute;
      text-overflow: ellipsis;
      -webkit-transform: translate(-50%, 0.4rem);
              transform: translate(-50%, 0.4rem);
      transition: opacity .2s, -webkit-transform .2s;
      transition: opacity .2s, transform .2s;
      transition: opacity .2s, transform .2s, -webkit-transform .2s;
      white-space: pre;
      z-index: 101; }
   .esTooltip:focus:after, .esTooltip:hover:after {
      opacity: 1;
      -webkit-transform: translate(-50%, -0.2rem);
              transform: translate(-50%, -0.2rem); }
   .esTooltip[disabled], .esTooltip.disabled {
      pointer-events: auto; }
   .esTooltip.tooltip-right:after {
      bottom: 50%;
      left: 100%;
      -webkit-transform: translate(-0.2rem, 50%);
              transform: translate(-0.2rem, 50%); }
   .esTooltip.tooltip-right:focus:after, .esTooltip.tooltip-right:hover:after {
      -webkit-transform: translate(0.2rem, 50%);
              transform: translate(0.2rem, 50%); }
   .esTooltip.tooltip-bottom:after {
      bottom: auto;
      top: 100%;
      -webkit-transform: translate(-50%, -0.4rem);
              transform: translate(-50%, -0.4rem); }
   .esTooltip.tooltip-bottom:focus:after, .esTooltip.tooltip-bottom:hover:after {
      -webkit-transform: translate(-50%, 0.2rem);
              transform: translate(-50%, 0.2rem); }
   .esTooltip.tooltip-left:after {
      bottom: 50%;
      left: auto;
      right: 100%;
      -webkit-transform: translate(0.4rem, 50%);
              transform: translate(0.4rem, 50%); }
   .esTooltip.tooltip-left:focus:after, .esTooltip.tooltip-left:hover:after {
      -webkit-transform: translate(-0.2rem, 50%);
              transform: translate(-0.2rem, 50%); }

/*
    Dieses Element esGauge wurde auf Basis der Library Material-Gauge erstellt. Aufgrund der umfangreichen �nderungen wurde der Code kopiert und ge�ndert um nicht umfangreich �berschreiben zu m�ssen.
    Copyright (c) 2015 Stephen Thomas
    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.esGauge--styleA .gauge__background {
   background-color: #8cb46e; }

.esGauge--styleA .gauge__data {
   background-color: #9f1924; }

.esGauge--styleA .gauge__marker {
   width: 2px;
   -webkit-transform-origin: 100% 100%;
           transform-origin: 100% 100%;
   background-color: white; }

.esGauge--styleA .gauge__needle {
   background-color: black;
   -webkit-transform: rotate(0deg);
           transform: rotate(0deg); }

.esGauge--styleA .gauge__center {
   background-color: white;
   border-radius: 100% 100% 0 0; }

.esGauge--styleA .esGauge__summary {
   z-index: 10 !important;
   position: absolute;
   margin-right: auto;
   border-radius: 50%;
   background-color: #A7A7A7; }
   .esGauge--styleA .esGauge__summary--fail {
      background-color: #9f1924 !important; }
   .esGauge--styleA .esGauge__summary--success {
      background-color: #8cb46e !important; }

.esGauge--styleA.esGauge--zeigeKeinSoll .gauge__background {
   background-color: #A7A7A7; }

.esGauge {
   position: absolute; }
   .esGauge .gauge__container {
      margin: 0;
      padding: 0;
      position: absolute;
      overflow: hidden; }
   .esGauge .gauge__background {
      z-index: 1;
      position: absolute;
      top: 0; }
   .esGauge .gauge__data {
      z-index: 2;
      position: absolute;
      margin-left: auto;
      margin-right: auto;
      -webkit-transform-origin: center bottom;
              transform-origin: center bottom; }
   .esGauge .gauge__center {
      z-index: 3;
      position: absolute;
      border-radius: 100vw 100vw 0 0; }
   .esGauge .esGauge__summary {
      z-index: 5; }
   .esGauge .gauge__marker {
      z-index: 4;
      position: absolute; }
   .esGauge .gauge__needle {
      z-index: 6;
      height: 3px;
      position: absolute;
      -webkit-transform-origin: left center;
              transform-origin: left center; }
   .esGauge .esGauge__cutOut {
      z-index: 0; }
   .esGauge.esGauge--zeigeKeinSoll .gauge__data {
      display: none; }

.esGauge--responsive .gauge__container,
.esGauge--responsive .gauge__background,
.esGauge--responsive .gauge__data {
   width: 100%;
   height: 100%; }

.esGauge--responsive .gauge__background,
.esGauge--responsive .gauge__data {
   border-radius: 100vw 100vw 0 0; }

.esGauge--responsive .gauge__needle {
   -webkit-transform-origin: 100% 100%;
           transform-origin: 100% 100%;
   width: 38%;
   height: 3px;
   left: 12%;
   bottom: -1px;
   top: auto; }

.esGauge--responsive .gauge__marker {
   -webkit-transform-origin: calc(100% - 1px) 100%;
           transform-origin: calc(100% - 1px) 100%;
   height: 100%;
   left: calc(50% - 1px);
   bottom: 0;
   width: 2px; }

.esGauge--responsive .gauge__center {
   width: 40%;
   height: 40%;
   top: auto;
   left: 30%;
   margin-left: 0;
   bottom: 0; }

.esGauge--responsive .esGauge__summary {
   width: 26%;
   height: 52%;
   bottom: -26%;
   left: 37%; }

.esGauge--size1 {
   width: 146px;
   height: 73px; }
   .esGauge--size1 .esGauge__summary {
      width: 32%;
      height: 64%;
      bottom: -32%;
      left: 34%; }

/* Eher schmales CutOut, 8%*/
.esGauge--hasCutout1 .esGauge__cutOut {
   background: white;
   width: 100%;
   height: 100%;
   position: absolute;
   border-radius: 30vw 30vw 0 0; }

.esGauge--hasCutout1 .gauge__container {
   width: 84%;
   height: 84%;
   bottom: 0;
   left: 8%; }

/* Mittleres CutOut */
.esGauge--hasCutout2 .esGauge__cutOut {
   background: white;
   width: 100%;
   height: 100%;
   position: absolute;
   border-radius: 30vw 30vw 0 0; }

.esGauge--hasCutout2 .gauge__container {
   width: 70%;
   height: 70%;
   bottom: 0;
   left: 15%; }

.popover {
   max-width: 350px;
   width: 100%;
   border-radius: 0; }

/* Popover mit Aufzählungen */
.popover__aufzaehlung {
   margin-bottom: 10px; }
   .popover__aufzaehlung:last-child {
      margin-bottom: 0; }

.popover__aufzaehlungWert {
   font-weight: bold; }

/* Popovers mit Schließen-Button */
.popover--hasCloseButton .popover-content {
   padding: 20px 25px; }

.popover--hasCloseButton:before {
   content: "X";
   position: absolute;
   right: 0;
   top: 0;
   bottom: 0;
   display: inline-block;
   background: black;
   width: 25px;
   height: 25px;
   color: white;
   line-height: 25px;
   text-align: center;
   z-index: 1;
   font-size: 18px;
   font-size: 1.8rem;
   cursor: pointer; }

.esH2Abstand1 {
   margin-bottom: 40px; }

.esRowWithFlexColumn {
   display: flex; }
   .esRowWithFlexColumn__flexColumn {
      flex-grow: 1; }

.esGreyBox2,
.esGreyBox3 {
   /* analog zu den Formularen*/
   background-color: #FAFAFA;
   border: 1px solid #dbdbdb;
   padding: 20px; }

.esGreyBox3 {
   padding: 30px 40px; }

.loadpanel.dx-overlay-wrapper {
   z-index: 20001 !important; }
   .loadpanel.dx-overlay-wrapper.loadpanel--underModal {
      z-index: 5000 !important; }

.loadpanel--legacy .dx-loadpanel-content:before {
   content: none; }

.loadpanel--legacy .vorgang {
   text-align: center; }

.loadpanel .esLoadindicator-simple:before {
   content: '';
   display: block;
   border-radius: 50%;
   border: 2px solid transparent;
   border-top-color: black;
   -webkit-animation: spin 1.3s linear infinite;
           animation: spin 1.3s linear infinite;
   width: 20px;
   height: 20px; }

.loadpanel .dx-loadpanel-content {
   min-width: 222px;
   max-width: 300px; }
   @media screen and (min-width: 576px) {
      .loadpanel .dx-loadpanel-content {
         max-width: 380px; } }
   .loadpanel .dx-loadpanel-content .esLoadpanel {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #dbdbdb; }
      .loadpanel .dx-loadpanel-content .esLoadpanel:last-of-type {
         margin-bottom: 0;
         padding-bottom: 0;
         border-bottom: 0; }
      .loadpanel .dx-loadpanel-content .esLoadpanel .vorgang {
         margin-bottom: 4px;
         margin-bottom: 0.4rem; }
         .loadpanel .dx-loadpanel-content .esLoadpanel .vorgang:last-of-type {
            margin-bottom: 0; }

.esLadekringelOhneText__wrapper {
   position: relative; }

.esLadekringelOhneText__positionierung {
   display: inline-block;
   width: 40px;
   height: 40px;
   position: absolute;
   top: 50%;
   margin-top: -20px;
   left: 50%;
   margin-left: -20px; }

.esLadekringelOhneText__ladekringel {
   display: block;
   width: 40px;
   height: 40px;
   position: relative;
   border-radius: 50%;
   border: 2px solid transparent;
   border-bottom-color: #979797;
   -webkit-animation: loadIndicatorSpin 2s linear infinite;
           animation: loadIndicatorSpin 2s linear infinite; }
   .esLadekringelOhneText__ladekringel:before {
      content: "";
      position: absolute;
      top: 4px;
      right: 4px;
      bottom: 4px;
      left: 4px;
      border-radius: 50%;
      border: 2px solid transparent;
      border-bottom-color: #1E1E1E;
      -webkit-animation: loadIndicatorSpin 1.5s linear infinite;
              animation: loadIndicatorSpin 1.5s linear infinite; }
   .esLadekringelOhneText__ladekringel:after {
      content: "";
      position: absolute;
      top: 10px;
      right: 10px;
      bottom: 10px;
      left: 10px;
      border-radius: 50%;
      border: 2px solid transparent;
      border-bottom-color: #4A4A4A;
      -webkit-animation: loadIndicatorSpin 3s linear infinite;
              animation: loadIndicatorSpin 3s linear infinite; }

@keyframes loadIndicatorSpin {
   0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }
   100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }

.esButton--loading {
   position: relative;
   padding-left: 30px;
   -webkit-animation: padding 0.1s ease-in-out;
           animation: padding 0.1s ease-in-out; }
   .esButton--loading:before {
      content: '';
      display: block;
      border-radius: 50%;
      border: 2px solid transparent;
      border-top-color: white;
      -webkit-animation: spin 1.3s linear infinite;
              animation: spin 1.3s linear infinite;
      width: 13px;
      height: 13px;
      position: absolute;
      top: 11px;
      left: 10px; }

@-webkit-keyframes spin {
   0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }
   100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }

@keyframes spin {
   0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }
   100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }

/* 
   Mehrzeiligen Text nach einigen Zeilen oben ausblenden 
*/
.fadeOutText {
   position: relative;
   max-height: 80px;
   max-height: 8rem;
   overflow: hidden;
   display: flex;
   flex-flow: column;
   justify-content: flex-end; }
   .fadeOutText div, .fadeOutText div p {
      width: 100%;
      text-align: left;
      margin-bottom: 0;
      line-height: 150%; }
   .fadeOutText--textFadeOutTop {
      position: absolute;
      bottom: 56px;
      bottom: 5.6rem;
      height: 24px;
      height: 2.4rem;
      width: 100%;
      background-image: linear-gradient(to bottom, white, rgba(255, 255, 255, 0)); }

/* 
   Anmeldefortschritt 
*/
.loadingPanelMessages__checkmark {
   color: #afca26; }

.loadingPanelMessages__hinweis {
   font-style: italic; }
   .loadingPanelMessages__hinweis--eingerueckt {
      display: block;
      margin: 0 0 0 14px;
      margin: 0 0 0 1.4rem; }

.esFileuploader__uploadButton {
   margin: 5px 0 15px;
   display: inline-block; }

.esFileuploader__dropzone {
   width: 100%;
   min-height: 222px;
   border: 2px #979797 dashed;
   padding: 20px;
   overflow: auto;
   padding-bottom: 5px;
   box-sizing: border-box; }
   .esFileuploader__dropzone--hovered {
      border-color: #4A4A4A;
      background: #FAFAFA; }

.esFileuploader--disabled .esFileuploader__dropzone {
   border-color: #bbbbbb;
   background: #f9f9f9; }

.esFileuploader--disabled .esFileuploader__dropMessage {
   color: #bbbbbb; }

.esFileuploader--disabled .esFileuploader__dateiKachel {
   opacity: 0.6; }

.esFileuploader--disabled .esFileuploader__dropzone--hovered {
   background: #f9f9f9;
   cursor: not-allowed; }
   .esFileuploader--disabled .esFileuploader__dropzone--hovered .esFileuploader__dropMessage:before {
      font-family: 'FontAwesome';
      content: '\f05e'; }
   .esFileuploader--disabled .esFileuploader__dropzone--hovered .esFileuploader__dropMessage--drop {
      display: none; }
   .esFileuploader--disabled .esFileuploader__dropzone--hovered .esFileuploader__dropMessage--disabled {
      display: inline-block; }

.esFileuploader__dropMessage {
   height: 160px;
   display: flex;
   align-items: flex-end;
   justify-content: center;
   margin-bottom: 15px;
   position: relative;
   left: 0;
   right: 0;
   bottom: 10px;
   color: #bbbbbb; }
   .esFileuploader__dropMessage:before {
      font-family: 'easySoft-Publish';
      font-size: 73px;
      content: "\e90e";
      color: #bbbbbb;
      position: absolute;
      bottom: 22.5%;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }

.esFileuploader__dropMessage--disabled {
   display: none; }

.esFileuploader__dropzone-multiupload .esFileuploader__dropMessage:before {
   font-size: 83px;
   content: "\e90f"; }

.esFileuploader__dateiKachel {
   width: 110px;
   height: 170px;
   background: #eee;
   border: 1px solid #c0c0c0;
   position: relative;
   float: left;
   margin: 0 20px 20px 0;
   box-shadow: 3px 3px 0 0 #dbdbdb; }

.esFileuploader__deleteFile {
   position: absolute;
   right: 4px;
   top: 4px;
   color: #4A4A4A;
   font-size: 11px;
   font-size: 1.1rem;
   cursor: pointer;
   padding: 3px;
   padding-bottom: 2px;
   border: 1px solid transparent;
   border-radius: 3px; }
   .esFileuploader__deleteFile:hover {
      border: 1px solid #A7A7A7; }

.esFileuploader__dateiIcon {
   font: normal normal normal 26px/1 FontAwesome;
   font-size: 60px;
   font-size: 6rem;
   position: absolute;
   top: 25px;
   left: 50%;
   margin-left: -25px;
   color: #A7A7A7; }
   .esFileuploader__dateiIcon:before {
      content: "\f15b"; }

.esFileuploader__IMGWrapper {
   position: absolute;
   left: 0;
   top: -1px;
   width: 55px;
   height: 65px;
   background-size: cover;
   background-position: center; }

.esFileuploader__dateigroesse {
   position: absolute;
   bottom: 15px;
   text-align: center;
   left: 0;
   right: 0;
   font-size: 13px;
   font-size: 1.3rem;
   color: #4A4A4A;
   display: none; }

.esFileuploader__dateiendung {
   font-family: "Open Sans", Helvetica, Arial;
   display: inline-block;
   bottom: 9px;
   position: absolute;
   left: 0;
   right: 0;
   text-align: center;
   color: white;
   font-size: 14px;
   font-size: 1.4rem; }

.esFileuploader__dateiname {
   position: absolute !important;
   top: 95px;
   left: 15px;
   right: 15px;
   overflow: hidden;
   line-height: 1.4em;
   max-height: 2.8em;
   text-align: center;
   margin-right: -9px;
   padding-right: 9px;
   word-break: break-all; }
   .esFileuploader__dateiname:before {
      content: '...';
      position: absolute;
      right: -1px;
      bottom: 0; }
   .esFileuploader__dateiname:after {
      content: '';
      position: absolute;
      right: -5px;
      width: 1em;
      height: 1em;
      margin-top: 0.2em;
      background: #eee; }

.esFileuploader__loadCircle {
   font: normal normal normal 22px/1 FontAwesome;
   -webkit-animation: spin 1.3s linear infinite;
           animation: spin 1.3s linear infinite;
   position: absolute;
   bottom: 15px;
   left: 50%;
   margin-left: -11px;
   display: none; }
   .esFileuploader__loadCircle:before {
      content: "\f110"; }

.esFileuploader__statusIcon {
   position: absolute;
   bottom: -12px;
   right: -7px;
   z-index: 1;
   display: none; }
   .esFileuploader__statusIcon:after {
      content: "";
      display: inline-block;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      z-index: -1;
      background: #fff;
      position: absolute;
      left: 2px;
      top: 2px; }

.esFileuploader__errorMessages {
   color: red;
   padding: 3px 5px; }

/* Zustände */
.esFileuploader--fileUploading .esFileuploader__loadCircle {
   display: inline-block; }

.esFileuploader--fileSuccess .esFileuploader__dateigroesse,
.esFileuploader--error .esFileuploader__dateigroesse {
   display: block; }

.esFileuploader--fileSuccess .esFileuploader__statusIcon,
.esFileuploader--error .esFileuploader__statusIcon {
   display: inline-block;
   font: normal normal normal 26px/1 FontAwesome; }

.esFileuploader--fileSuccess .esFileuploader__statusIcon {
   color: green; }
   .esFileuploader--fileSuccess .esFileuploader__statusIcon:before {
      content: "\f058"; }

.esFileuploader--error .esFileuploader__statusIcon {
   color: #d4121e; }
   .esFileuploader--error .esFileuploader__statusIcon:before {
      content: "\f057"; }

.error--extensionError .esFileuploader__dateiendung {
   color: #d4121e; }

.error--sizeError .esFileuploader__dateigroesse {
   color: #d4121e; }

.error--duplicateFilenameError .esFileuploader__dateiname {
   color: #d4121e; }

.esFileUploader__checkboxWrapper {
   padding: 15px 0; }
   .esFileUploader__checkboxWrapper .esFileUploader__checkboxLabel {
      font-weight: inherit; }
   .esFileUploader__checkboxWrapper .esFileUploader__checkbox {
      vertical-align: middle;
      position: relative;
      bottom: 3px; }

div[id^=esFilterGrid_] {
   margin-left: -10px !important;
   margin-right: -10px !important; }
   div[id^=esFilterGrid_] .dx-header-row {
      display: none; }

.esFilterDropdown {
   margin-bottom: 20px; }

.esImg_cover {
   width: 100%;
   height: 100%; }

/*
   ---> SVG-Icon Element
*/
.esSvgIcon__wrapper {
   display: flex;
   align-items: flex-start; }

.esSvgIcon {
   margin-right: 15px;
   display: inline-block;
   height: 16px;
   width: 16px;
   flex-shrink: 0; }
   .esSvgIcon svg {
      fill: #333;
      width: 100%;
      height: 100%; }
   .esSvgIcon--md {
      height: 20px;
      width: 20px; }

/*
   <--- SVG-Icon Element
*/
.expires {
   border-bottom: 1px solid white;
   background-color: #D5121E;
   padding: 16px 16px 6px 32px;
   line-height: normal;
   position: relative;
   color: white; }
   .expires .expires__X {
      position: absolute;
      right: 16px;
      top: 16px; }
      .expires .expires__X:hover {
         font-weight: bold;
         cursor: pointer; }
   .expires > div.expires__title {
      font-weight: bold; }
   .expires > div:not(.expires__X) {
      padding-bottom: 10px; }
   .expires a, .expires .a {
      display: inline-block;
      text-decoration: underline;
      color: white; }
      .expires a:hover, .expires a:focus, .expires a:active, .expires a:visited, .expires .a:hover, .expires .a:focus, .expires .a:active, .expires .a:visited {
         color: white;
         font-weight: bold;
         cursor: pointer; }

.link-nodecoration,
.link-nodecoration:hover,
.link-nodecoration:focus {
   text-decoration: none; }

.link--withUnderline,
.link--withUnderline:hover,
.link--withUnderline:focus {
   text-decoration: underline; }

.esModal .dx-popup-content {
   display: flex;
   flex-direction: column; }

.esModal--simple .dx-toolbar-before {
   width: calc(100% - 30px); }

.accordion--wrapper {
   overflow: hidden;
   margin-bottom: 15px;
   position: relative;
   width: 100%; }
   .accordion--wrapper .accordion {
      position: relative;
      cursor: pointer;
      display: flex;
      flex-direction: row;
      justify-content: flex-start; }
      .accordion--wrapper .accordion:before {
         box-sizing: border-box;
         min-width: 50px;
         height: 42px;
         text-align: center;
         padding-top: 13px;
         display: inline-block;
         font: normal normal normal 14px/1 FontAwesome;
         font-size: inherit;
         text-rendering: auto;
         -webkit-font-smoothing: antialiased;
         -moz-osx-font-smoothing: grayscale;
         content: "\f067";
         color: #333;
         border: 1px solid #ccc; }
      .accordion--wrapper .accordion[aria-expanded="true"]:before {
         content: "\f068"; }
      .accordion--wrapper .accordion .accordionTitle {
         color: #333;
         border: 1px solid #dbdbdb;
         font-size: 16px;
         font-size: 16px;
         font-size: 1.6rem;
         left: 62px;
         line-height: 30px;
         right: 0;
         font-weight: 700;
         margin-left: 15px;
         width: 100%;
         padding: 5px 15px;
         display: flex;
         align-items: center;
         justify-content: space-between; }
      .accordion--wrapper .accordion .accordion-icon {
         font-size: 18px;
         font-size: 1.8rem; }
         .accordion--wrapper .accordion .accordion-icon--danger {
            color: red; }
         .accordion--wrapper .accordion .accordion-icon--check {
            color: green; }
   .accordion--wrapper .accordionContent {
      padding: 20px 15px 15px;
      background: #fafafa;
      border: 1px solid #dbdbdb;
      margin-left: 65px;
      margin-top: 15px; }
   .accordion--wrapper .accordionContent--white {
      background: unset;
      border: unset;
      margin-top: 15px;
      padding-top: 0;
      margin-left: 30px; }
   .accordion--wrapper .accordionHyphen {
      margin-bottom: 0; }
   .accordion--wrapper .accordion--circleLayout {
      align-items: center; }
      .accordion--wrapper .accordion--circleLayout:before {
         min-width: 30px;
         height: 30px;
         border: 2px solid #333;
         border-radius: 50%;
         padding-top: 7px; }
      .accordion--wrapper .accordion--circleLayout .accordionTitle {
         border: unset;
         margin-left: 0; }

.esCollapsible .details {
   max-height: 0;
   transition: max-height 0.35s ease-out;
   overflow: hidden; }

.esCollapsible .details.open {
   max-height: 1000px;
   /*bewusst unrealistische Hoehe, damit die Animation passt*/
   transition: max-height .6s ease-in; }

.esCollapsible .icon-arrow-down-12 {
   display: inline-block;
   width: 15px;
   height: 15px;
   transition: -webkit-transform .4s ease-in-out;
   transition: transform .4s ease-in-out;
   transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; }

.esCollapsible .icon-arrow-down-12.rotated {
   -webkit-transform: rotate(-180deg);
           transform: rotate(-180deg); }

#toastWrapper {
   position: absolute;
   right: 23px;
   bottom: 23px;
   z-index: 20001;
   max-width: calc(100% - 40px); }

.toast {
   width: 380px;
   max-width: 100%;
   color: white;
   position: relative;
   min-height: 60px;
   margin-top: 15px;
   opacity: 1; }
   .toast:hover .toastClose {
      border-color: white; }
   .toast:before {
      display: inline-block;
      font-family: FontAwesome;
      font-size: 30px;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      position: absolute;
      left: 15px;
      top: 14px;
      line-height: 30px; }
   .toast--info {
      background-color: #337ab7; }
      .toast--info:before {
         content: "\f05a"; }
   .toast--warning {
      background-color: #f0ad4e;
      color: black; }
      .toast--warning:before {
         content: "\f071"; }
   .toast--error {
      background-color: #d9534f; }
      .toast--error:before {
         content: "\f00d"; }
   .toast--success {
      background-color: #5cb85c; }
      .toast--success:before {
         content: "\f00c"; }

.toastTextWrapper {
   padding: 15px 40px 15px 55px;
   min-height: 60px;
   display: flex;
   align-items: center; }

.toastClose {
   position: absolute;
   right: 10px;
   top: 10px;
   width: 24px;
   height: 24px;
   border: 1px solid transparent;
   border-radius: 4px;
   text-align: center; }
   .toastClose:before {
      content: "\65";
      font-family: "easySoft-Publish";
      font-size: 14px;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      line-height: 22px; }

.toastProgress {
   background: #000000;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 4px;
   opacity: 0.5; }

.toastHide {
   min-height: 0;
   -webkit-animation: hideToast 1s ease-out forwards;
           animation: hideToast 1s ease-out forwards; }

@-webkit-keyframes hideToast {
   100% {
      opacity: 0; } }

@keyframes hideToast {
   100% {
      opacity: 0; } }

/* Rahmen */
/* Rahmengeruest */
/* Variante: Standard */
.layout__standard #esPageWrapper,
.layout__presentation #esPageWrapper {
   min-width: 100%;
   /* min-width überschreibt den kleinen, vorherigen Wert. Workaround fuer iOS-Iframe-Problem*/
   overflow-y: auto;
   /* damit auch alle Elemente drin sind */
   display: -ms-grid;
   display: grid;
       grid-template-areas: "burgerNavLogo headerUserInfo" "headerImg headerImg" "nav content" "nav footer";
   -ms-grid-columns: 300px 1fr;
   grid-template-columns: 300px 1fr;
   -ms-grid-rows: 46px auto 1fr auto;
   grid-template-rows: 46px auto 1fr auto; }
   .layout__standard #esPageWrapper #esLayoutHeader__burgerNavLogo,
   .layout__presentation #esPageWrapper #esLayoutHeader__burgerNavLogo {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: burgerNavLogo;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-direction: row-reverse;
      background-color: #FFFFFF; }
   .layout__standard #esPageWrapper #esLayoutHeader__usr,
   .layout__presentation #esPageWrapper #esLayoutHeader__usr {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
      grid-area: headerUserInfo;
      display: flex;
      flex-flow: row-reverse;
      align-items: center;
      max-height: 100%;
      background-color: #FFFFFF; }
   .layout__standard #esPageWrapper #esLayoutHeader__headerImg,
   .layout__presentation #esPageWrapper #esLayoutHeader__headerImg {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
      -ms-grid-column-span: 2;
      grid-area: headerImg;
      overflow: hidden;
      line-height: 0;
      max-height: 270px;
      position: relative; }
      .layout__standard #esPageWrapper #esLayoutHeader__headerImg .esImg_cover,
      .layout__presentation #esPageWrapper #esLayoutHeader__headerImg .esImg_cover {
         display: block;
         margin-bottom: 1px; }
   .layout__standard #esPageWrapper #esLayoutHeader__logo,
   .layout__presentation #esPageWrapper #esLayoutHeader__logo {
      grid-area: logo;
      height: 46px;
      transition: height 150ms ease-in-out;
      flex-grow: 1;
      padding: 5px 0; }
   .layout__standard #esPageWrapper #esLayoutNavigation,
   .layout__presentation #esPageWrapper #esLayoutNavigation {
      -ms-grid-row: 3;
      -ms-grid-row-span: 2;
      -ms-grid-column: 1;
      grid-area: nav; }
   .layout__standard #esPageWrapper #esLayout_main,
   .layout__presentation #esPageWrapper #esLayout_main {
      -ms-grid-row: 3;
      -ms-grid-column: 2;
      grid-area: content; }
   .layout__standard #esPageWrapper #esLayoutFooter,
   .layout__presentation #esPageWrapper #esLayoutFooter {
      -ms-grid-row: 4;
      -ms-grid-column: 2;
      grid-area: footer; }

.innerWidthLt992Px #esPageWrapper {
   /**Workaround: CSS-Klasse wird per JS-Function bei onResize gesetzt, da grid-template-area nicht innerhalb einer Media-Query enthalten sein darf -> Kompilierugnsfehler
         siehe: rahmen.js */
       grid-template-areas: "burgerNavLogo headerUserInfo" "headerImg headerImg" "content content" "footer footer"; }
   .innerWidthLt992Px #esPageWrapper #esLayout_main {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
      -ms-grid-column-span: 2;
      grid-area: content; }

.innerWidthLt992Px.browser__internetexplorer #esPageWrapper #esLayoutFooter {
   -ms-grid-row: 4;
   -ms-grid-column: 1;
   -ms-grid-column-span: 2; }

/* Variante: Auf Content reduziert */
.layout__content #esPageWrapper {
       grid-template-areas: "burgerNavLogo headerUserInfo" "headerImg headerImg" "content content" "footer footer";
   overflow: hidden;
   -ms-grid-columns: 0 1fr;
   grid-template-columns: 0 1fr;
   -ms-grid-rows: 0 0 1fr 0;
   grid-template-rows: 0 0 1fr 0;
   display: -ms-grid;
   display: grid; }
   .layout__content #esPageWrapper #esLayout_main {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
      -ms-grid-column-span: 2;
      grid-area: content; }

/* Variante: Presentation Anpassung */
.layout__presentation.publishVersionModul__P2 #esPageWrapper {
       grid-template-areas: "burgerNavLogo headerUserInfo" "headerImg headerImg" "content content" "footer footer";
   background-color: #ccc; }
   .layout__presentation.publishVersionModul__P2 #esPageWrapper #esLayout_main {
      width: 98%;
      margin: 20px auto;
      background-color: #fff;
      box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.81); }
   @media screen and (min-width: 1200px) {
      .layout__presentation.publishVersionModul__P2 #esPageWrapper #esLayout_main {
         width: 1000px; } }
   .layout__presentation.publishVersionModul__P2 #esPageWrapper #esLayoutHeader__logo {
      padding-left: 15px; }
   .layout__presentation.publishVersionModul__P2 #esPageWrapper .esLayout_main_inner {
      height: 100%; }

.layout__presentation.publishVersionModul__P3 #esPageWrapper {
       grid-template-areas: "burgerNavLogo headerUserInfo" "headerImg headerImg" "content content" "footer footer";
   background-color: #ccc; }
   .layout__presentation.publishVersionModul__P3 #esPageWrapper #esLayout_main_inner > div {
      width: 98%;
      min-height: calc(100% - 40px);
      margin: 20px auto;
      padding: 60px;
      background-color: #fff;
      box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.81);
      overflow: auto; }
   @media screen and (min-width: 1200px) {
      .layout__presentation.publishVersionModul__P3 #esPageWrapper #esLayout_main_inner > div {
         width: 1000px; } }
   .layout__presentation.publishVersionModul__P3 #esPageWrapper #esLayoutHeader__logo {
      padding-left: 15px; }
   .layout__presentation.publishVersionModul__P3 #esPageWrapper .esLayout_main_inner {
      height: 100%; }

.layout__presentation.publishVersionModul__P3.controller__obs.action__information #esPageWrapper #esLayout_main_inner > div {
   min-height: calc(100% - 100px); }

.layout__presentation.publishVersionModul__P3.action__berichtanzeige #esPageWrapper #esLayout_main_inner > div {
   height: calc(100% - 100px); }

#esLayoutNavigation {
   overflow: auto;
   overflow-x: hidden;
   z-index: 102; }

#esLayoutHeader__usr {
   background-color: #f6f6f6;
   z-index: 103; }

#esLayoutFooter {
   background-color: #FFFFFF;
   color: #162B60; }

#esLayout_main {
   overflow: auto;
   display: flex;
   flex-direction: column;
   position: relative; }

.esLayout_main_inner {
   display: flex;
   flex-direction: column;
   overflow: auto;
   width: 100%; }

.esLayout_main_inner--fullHeight {
   overflow: hidden;
   height: 100%; }

@media screen and (min-width: 992px) {
   .esLayout_main_inner--FullHeightDesktopOnly {
      overflow: hidden;
      height: 100%; } }

.esIos_9 .esLayout_main_inner,
.esIos_10 .esLayout_main_inner,
.esIos_11 .esLayout_main_inner,
.esIos_12 .esLayout_main_inner,
.esIos_13 .esLayout_main_inner {
   -webkit-overflow-scrolling: touch; }

/* Fallunterscheidung Layout: Im Standard volle Höhe, contentreduziert (LC) nur so hoch wie der Inhalt */
.layout__standard .esLayout_main_inner {
   flex-grow: 1;
   position: relative; }

.layout__content.publishVersionModul__P3 .esLayout_main_inner {
   /*min-height: 500px; // Wurde eingebaut, damit beim Grid der Ladekringel nicht abgeschnitten wird (sonst Seite nicht hoch genug) */
   display: block;
   height: auto; }

.layout__presentation .esLayout_main_inner {
   display: block; }

/* Fix für externe Seiten ohne Höhenanpassung*/
.istAnzeigeExternerSeite .esLayout_main_inner {
   height: 100%; }

/* Fix für Moodle/Ilias Höhenberechnung des iFrame*/
.controller__moo #esLayout_main_inner,
.controller__ili #esLayout_main_inner {
   height: 100%; }

[id^=esLayoutHeader] {
   z-index: 102; }

#esLayoutHeader__burgerNavLogo {
   z-index: 103; }

/* IE-Fix: Ist kein Desktop-Headerbild gesetzt, jedoch aber Bilder für Tablet/Mobile, gibt es einen weißen leeren Kasten im IE.  */
.esLayoutHeader__headerImg--internetexplorer-inactive {
   display: none; }

@media screen and (min-width: 992px) {
   .layout__standard #esPageWrapper #esLayoutHeader__logo {
      padding-left: 15px; } }

@media screen and (max-width: 991px) {
   #esLayoutNavigation {
      top: 46px;
      position: absolute;
      width: 300px; }
   .layout__standard #esPageWrapper {
      -ms-grid-columns: 300px 1fr;
      grid-template-columns: 300px 1fr; }
      .layout__standard #esPageWrapper #esLayoutNavigation {
         top: -100%;
         transition: top 500ms ease-out;
         height: calc(100% - 90px - 2px); }
   #esPageWrapper.mobileMenueOpened #esLayoutNavigation {
      top: 46px;
      transition: top 400ms ease-out;
      height: calc(100% - 46px); }
   .layout__standard_reversed #esLayoutNavigation,
   .layout__standard_reversed.active #esLayoutNavigation {
      right: 0; }
   #hamburgerMenue {
      display: inline-block; } }

@media screen and (max-width: 480px) {
   .layout__standard .esLayoutUserPopup__name {
      display: none; } }

@media print {
   #esPageWrapper {
      display: block;
      overflow-y: unset; }
   .layout__standard #esPageWrapper {
      display: block; }
   html,
   body,
   #esPageWrapper,
   iframe {
      height: auto !important; }
   #esLayout_main,
   .esLayout_main_inner,
   .auflistungDozenten,
   .auflistungPreisgruppen {
      display: block !important; }
   .auflistungDozenten .dozent--item {
      clear: both; }
      .auflistungDozenten .dozent--item .dozent--bild {
         float: left;
         margin-right: 30px; }
   a.btn {
      display: none; } }

/* Header */
.header__userdata {
   float: right;
   line-height: 30px;
   padding-right: 30px; }

.esNachrichtenIcon {
   position: absolute;
   top: 10px;
   right: 230px;
   z-index: 104; }
   .esNachrichtenIcon__innerWrapper {
      position: relative;
      display: inline-block; }
   .esNachrichtenIcon .icon-fi-rs-envelope {
      font-size: 24px;
      color: #1E1E1E; }
      .esNachrichtenIcon .icon-fi-rs-envelope:hover {
         color: #E30613; }
   .esNachrichtenIcon__anzahl {
      position: absolute;
      background: #0083C6;
      border-radius: 9px;
      padding: 0 5px;
      font-size: 12px;
      line-height: 20px;
      min-width: 20px;
      text-align: center;
      top: -5px;
      right: -10px;
      color: white;
      font-weight: bold; }
      .esNachrichtenIcon__anzahl:hover {
         color: white; }
   .esNachrichtenIcon__anzahl--schwarz, .esNachrichtenIcon__anzahl--schwarz:hover {
      color: black; }

/* Popup mit Userinfos */
#esLayoutHeader__UserPopup {
   position: absolute;
   top: 0;
   right: 0;
   padding: 7px 15px 15px;
   height: 46px;
   overflow: hidden;
   border: 1px solid transparent;
   border-top: none;
   color: #162B60;
   z-index: 103; }
   #esLayoutHeader__UserPopup .esLayoutUserPopup__AllwaysOn {
      display: flex;
      justify-content: flex-end; }
   #esLayoutHeader__UserPopup a {
      color: #162B60; }
   #esLayoutHeader__UserPopup.open {
      color: #162B60;
      background-color: #FFFFFF;
      border-color: #bbbbbb;
      height: auto;
      overflow: auto; }
      #esLayoutHeader__UserPopup.open .esLayoutUserPopup__oeffnen {
         -webkit-animation: rotateUserPopupArrow-in 0.2s ease-in-out;
                 animation: rotateUserPopupArrow-in 0.2s ease-in-out;
         -webkit-animation-fill-mode: forwards;
                 animation-fill-mode: forwards;
         color: #1E1E1E; }
   @media (pointer: fine) {
      #esLayoutHeader__UserPopup:hover {
         color: #162B60;
         background-color: #FFFFFF;
         border-color: #bbbbbb;
         height: auto;
         overflow: auto; }
         #esLayoutHeader__UserPopup:hover .esLayoutUserPopup__oeffnen {
            -webkit-animation: rotateUserPopupArrow-in 0.2s ease-in-out;
                    animation: rotateUserPopupArrow-in 0.2s ease-in-out;
            -webkit-animation-fill-mode: forwards;
                    animation-fill-mode: forwards;
            color: #1E1E1E; } }
   #esLayoutHeader__UserPopup.internetexplorer:hover {
      color: #162B60;
      background-color: #FFFFFF;
      border-color: #bbbbbb;
      height: auto;
      overflow: auto; }
      #esLayoutHeader__UserPopup.internetexplorer:hover .esLayoutUserPopup__oeffnen {
         -webkit-animation: rotateUserPopupArrow-in 0.2s ease-in-out;
                 animation: rotateUserPopupArrow-in 0.2s ease-in-out;
         -webkit-animation-fill-mode: forwards;
                 animation-fill-mode: forwards;
         color: #1E1E1E; }

#esLayoutHeader__UserPopup.wk-aktiv {
   right: 50px; }

@-webkit-keyframes rotateUserPopupArrow-in {
   from {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
      margin-top: 1px; }
   to {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      margin-top: 2px; } }

@keyframes rotateUserPopupArrow-in {
   from {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
      margin-top: 1px; }
   to {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      margin-top: 2px; } }

@-webkit-keyframes rotateUserPopupArrow-out {
   from {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      margin-top: 2px; }
   to {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
      margin-top: 1px; } }

@keyframes rotateUserPopupArrow-out {
   from {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      margin-top: 2px; }
   to {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
      margin-top: 1px; } }

.esLayoutUserPopup__kontaktbild {
   height: 30px;
   width: 30px;
   border-radius: 50%;
   display: inline-block;
   margin-right: 10px;
   background-size: cover;
   background-position: 50% 50%; }

.esLayoutUserPopup__nameWrapper {
   display: flex; }

.esLayoutUserPopup__name {
   line-height: 30px;
   height: 30px;
   display: inline-block;
   vertical-align: top;
   width: 130px;
   overflow: hidden;
   word-break: break-all; }

.esLayoutUserPopup__oeffnen {
   vertical-align: top;
   line-height: 30px;
   font-size: 8px;
   font-size: .8rem;
   display: inline-block;
   margin-top: 1px;
   margin-left: 10px;
   -webkit-animation: rotateUserPopupArrow-out 0.2s ease-in-out;
           animation: rotateUserPopupArrow-out 0.2s ease-in-out; }

.esLayoutUserPopup__sprachwahl {
   margin-bottom: 15px;
   margin-top: 8px;
   overflow: auto;
   display: flex;
   align-items: center;
   justify-content: center; }

.esLayoutUserPopup__sprache {
   padding: 5px;
   line-height: 1em;
   cursor: default; }
   .esLayoutUserPopup__sprache--aktiv {
      background: #1E1E1E;
      color: white;
      margin: 0 7px;
      border-radius: 3px; }
   .esLayoutUserPopup__sprache:not(.esLayoutUserPopup__sprache--aktiv):hover {
      text-decoration: underline;
      color: #162B60;
      cursor: pointer; }

.esLayoutUserPopup__logout,
.esLayoutUserPopup__hilfe {
   margin-top: 5px; }

.esLayoutUserPopup__profil,
.esLayoutUserPopup__hilfe,
.esLayoutUserPopup__logout,
.esLayoutUserPopup__login,
.esLayoutUserPopup__registrieren {
   display: block; }

.esLayoutUserPopup__version {
   font-size: 10px;
   font-size: 1rem;
   margin-top: 20px; }

@media screen and (max-width: 575px) {
   .esNachrichtenIcon {
      right: 100px; }
   .esLayoutUserPopup__name {
      display: none;
      max-width: 101px; }
   #esLayoutHeader__UserPopup .esLayoutUserPopup__AllwaysOn {
      display: flex;
      justify-content: flex-end; }
   #esLayoutHeader__UserPopup.open .esLayoutUserPopup__AllwaysOn {
      justify-content: flex-start; }
      #esLayoutHeader__UserPopup.open .esLayoutUserPopup__AllwaysOn .esLayoutUserPopup__name {
         display: block; }
   .obsInformation__stellenTitel {
      font-size: 2.8rem; }
   .layout__standard #esPageWrapper {
      -ms-grid-columns: 1fr 80px;
      grid-template-columns: 1fr 80px; }
      .layout__standard #esPageWrapper #esLayout_main {
         -ms-grid-row: 3;
         -ms-grid-column: 1;
         -ms-grid-column-span: 2;
         grid-area: content; } }

@media screen and (max-width: 767px) {
   #esLayoutHeader__headerImg {
      transition: max-height 0.3s ease-in-out;
      max-height: 28px;
      overflow: hidden; }
      #esLayoutHeader__headerImg.scrollDown {
         max-height: 0 !important; } }

@media screen and (max-width: 991px) {
   #LNE > .overflowYAuto,
   #BRH > .overflowYAuto {
      overflow-y: visible; } }

/* Footer */
#esLayoutFooter {
   text-align: center;
   line-height: 1.4em;
   position: relative;
   padding: 4px; }
   @media screen and (min-width: 768px) {
      #esLayoutFooter {
         line-height: 1.5em;
         padding: 6px; } }
   #esLayoutFooter a {
      color: #162B60; }

.esLayoutFooter__centeredText {
   clear: both;
   display: inline-block;
   margin: 0 20px 0 0; }

.esLayoutFooter__impressum,
.esLayoutFooter__datenschutz {
   padding-left: 21px;
   position: relative; }
   .esLayoutFooter__impressum:before,
   .esLayoutFooter__datenschutz:before {
      content: '|';
      position: absolute;
      left: 6px;
      top: 1px;
      color: #162B60;
      line-height: 1em; }

#esLayoutFooter__seitenlinkAnzeigen {
   cursor: pointer;
   float: right;
   display: none; }
   @media screen and (max-width: 767px) {
      #esLayoutFooter__seitenlinkAnzeigen {
         display: none !important; } }

#esLayoutFooter__seitenlink {
   display: none;
   position: absolute;
   right: 10px;
   bottom: 34px;
   background: white;
   color: black;
   border: 1px solid gray;
   padding: 5px 15px; }
   #esLayoutFooter__seitenlink.open {
      display: inline-block; }

#esLayoutFooter__seitenlinkCopySuccess {
   position: absolute;
   right: 0;
   bottom: 7px; }

/* Spezielle Formatierungen für einzelne Module in Publish */
.bewertung-intro,
.bewertung-outro,
.bewertung-title {
   max-width: 700px; }

.controller__brg .cap {
   display: none;
   position: absolute;
   bottom: 800%; }

.controller__brg #esLayout_main .esBRG {
   max-width: 720px; }
   .controller__brg #esLayout_main .esBRG .esFormular {
      margin-top: 0; }
      .controller__brg #esLayout_main .esBRG .esFormular .esFormularinstanz {
         padding-top: 0; }
   .controller__brg #esLayout_main .esBRG .alert {
      margin-bottom: 10px; }

.controller__brg #esIntro {
   margin: 0 20px;
   margin: 0 2rem; }

.controller__brg #brgForm1 {
   max-width: 580px;
   padding: 10px 20px;
   padding: 1rem 2rem; }

.controller__brg .esFormularfeld {
   margin: 0; }

.controller__brg #esLayout_main .esEingeschraenkteSeitenbreite {
   margin-right: 15px;
   width: calc(100% - ($esBaseUnit * 2)); }

.controller__brg .esFormularwrapper--BrgKontaktAnlegen form {
   max-width: 576px; }
   .controller__brg .esFormularwrapper--BrgKontaktAnlegen form .esFormularinstanz {
      background-color: #FFFFFF;
      padding: 0; }

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

.controller__brg form {
   margin: 0 auto;
   padding: 10px;
   padding: 1rem; }
   @media screen and (min-width: 768px) {
      .controller__brg form .esForm-group {
         display: flex;
         flex-direction: row; }
         .controller__brg form .esForm-group > label {
            width: 180px;
            font-weight: 700;
            font-size: 1.4rem;
            padding-right: 10px;
            margin-bottom: 0;
            display: inline-flex;
            flex-direction: column;
            min-height: 38px;
            align-items: flex-end;
            justify-content: center;
            text-align: right; }
         .controller__brg form .esForm-group > div, .controller__brg form .esForm-group > hr {
            flex-grow: 1;
            flex-basis: 0; }
      .controller__brg form .esFormularfeld__ErweiterungBild,
      .controller__brg form .esFormularfeld__fehlerWrapper {
         margin-left: 180px; } }
   .controller__brg form .esFormularfeld--darfZweispaltigeAnzeige {
      width: 100%; }
   .controller__brg form .esFormularfeld__innerWrapper {
      margin-bottom: 16px;
      margin-bottom: 1.6rem; }

.controller__brg .esKennwortVergessenLink {
   color: #0097B3;
   clear: both;
   cursor: pointer; }

.controller__brg.action__kontaktanlegen .esFormulargroup--gruppenlos {
   margin: 0; }

.controller__brg.action__kontaktanlegen .esFormularinstanz__teilnehmer {
   margin-bottom: 15px;
   display: none; }

.controller__brh .esGrid .ampel__bezeichnung {
   display: block; }

.controller__obs.action__information body {
   background-color: #6B6B6B; }

.controller__obs.action__information:not(.istDesign) body {
   background-color: #c4c4c4; }

.obsInformation .esDocumentview__PageWrapper {
   margin-bottom: 60px;
   margin-top: 0;
   padding: 45px 0 0; }

.obsInformation__innerWrapper {
   width: 100%;
   height: auto;
   padding: 0 100px 50px;
   margin-bottom: 110px; }

.layout__standard .obsInformation__innerWrapper {
   margin-bottom: 90px; }

.layout__content .obsInformation__innerWrapper {
   margin-bottom: 110px; }

.obsInformation__firmenlogo {
   min-height: 40px; }
   .obsInformation__firmenlogo img {
      display: block;
      margin: 0 auto;
      max-height: 140px;
      max-width: 260px !important; }

.obsInformation__headerBild {
   text-align: center;
   margin-top: 35px; }

.obsInformation__stellenTitel {
   line-height: 1.3em;
   display: block;
   margin: 60px 0 40px; }

.obsInformation__stellenInfos {
   display: block;
   text-align: center;
   margin-top: 40px; }

.obsInformation__stelleOrt,
.obsInformation__stelleBeginn,
.obsInformation__stelleVollzeit,
.obsInformation__stelleBerufserfahrung {
   margin-bottom: 10px;
   line-height: 18px;
   vertical-align: top;
   display: inline-block;
   margin-right: 25px; }

.esIcon {
   font-size: 18px;
   font-size: 1.8rem;
   color: #6B6B6B;
   display: inline-block;
   margin-right: 5px;
   float: left;
   vertical-align: top; }

.obsInformation__stelleBeginn .esIcon {
   position: relative;
   width: 18px;
   height: 18px;
   font-size: 22px;
   font-size: 2.2rem; }
   .obsInformation__stelleBeginn .esIcon:before {
      position: absolute;
      left: 0;
      top: -4px; }

.obsInformation__hr {
   width: 100%;
   border-color: black;
   margin: 25px 0; }

.obsInformation__einleitung {
   margin-bottom: 20px; }
   .obsInformation__einleitung p,
   .obsInformation__einleitung li {
      line-height: 1.5em !important; }

.obsInformation__stellenAbschnitt {
   margin-bottom: 30px; }
   .obsInformation__stellenAbschnitt ul {
      padding-left: 20px; }
   .obsInformation__stellenAbschnitt p,
   .obsInformation__stellenAbschnitt li {
      line-height: 1.5em !important; }
   .obsInformation__stellenAbschnitt li {
      padding-bottom: 0.1em !important; }

.obsInformation__stellenAbschnittUeberschrift {
   margin-bottom: 8px; }

/* Jetzt bewerben Button darf nicht mitscrollen */
.controller__obs.action__information.layout__standard #esLayout_main,
.controller__obs.action__information.layout__presentation #esLayout_main {
   position: relative; }

.controller__obs.action__information.layout__standard .esNavStickyBottom,
.controller__obs.action__information.layout__presentation .esNavStickyBottom {
   position: absolute; }

.controller__obs.action__information.layout__standard .obsInformation,
.controller__obs.action__information.layout__presentation .obsInformation {
   height: calc(100% - 63px);
   overflow-y: auto; }

.controller__obs.action__information.layout__standard:not(.istDesign) .obsInformation,
.controller__obs.action__information.layout__presentation:not(.istDesign) .obsInformation {
   height: 100%; }

.controller__obs.action__information.layout__standard.esIos_9 .esNavStickyBottom, .controller__obs.action__information.layout__standard.esIos_10 .esNavStickyBottom, .controller__obs.action__information.layout__standard.esIos_11 .esNavStickyBottom, .controller__obs.action__information.layout__standard.esIos_12 .esNavStickyBottom, .controller__obs.action__information.layout__standard.esIos_13 .esNavStickyBottom,
.controller__obs.action__information.layout__presentation.esIos_9 .esNavStickyBottom,
.controller__obs.action__information.layout__presentation.esIos_10 .esNavStickyBottom,
.controller__obs.action__information.layout__presentation.esIos_11 .esNavStickyBottom,
.controller__obs.action__information.layout__presentation.esIos_12 .esNavStickyBottom,
.controller__obs.action__information.layout__presentation.esIos_13 .esNavStickyBottom {
   position: fixed;
   bottom: 20px; }
   .controller__obs.action__information.layout__standard.esIos_9 .esNavStickyBottom a, .controller__obs.action__information.layout__standard.esIos_10 .esNavStickyBottom a, .controller__obs.action__information.layout__standard.esIos_11 .esNavStickyBottom a, .controller__obs.action__information.layout__standard.esIos_12 .esNavStickyBottom a, .controller__obs.action__information.layout__standard.esIos_13 .esNavStickyBottom a,
   .controller__obs.action__information.layout__presentation.esIos_9 .esNavStickyBottom a,
   .controller__obs.action__information.layout__presentation.esIos_10 .esNavStickyBottom a,
   .controller__obs.action__information.layout__presentation.esIos_11 .esNavStickyBottom a,
   .controller__obs.action__information.layout__presentation.esIos_12 .esNavStickyBottom a,
   .controller__obs.action__information.layout__presentation.esIos_13 .esNavStickyBottom a {
      padding-bottom: 35px; }

.controller__obs.action__information.layout__presentation .obsInformation {
   height: unset;
   overflow-y: unset; }

.layout__presentation.controller__obs.publishVersionModul__P3 #esPageWrapper #esLayout_main_inner > div.esStructuredData--JobPosting {
   min-height: 0;
   padding: 0;
   margin: 0; }

.controller__obs.action__information.layout__content .obsInformation {
   padding: 0;
   display: flex;
   flex-direction: column;
   align-items: center; }

.controller__obs.action__information.layout__content nav:not(.esNavStickyBottom) {
   width: calc(100% - 30px);
   max-width: 900px;
   margin: 0 15px; }

.controller__obs.action__information.layout__content .esDocumentview__PageWrapper {
   margin-left: 15px;
   margin-right: 15px;
   width: calc(100% - 30px); }

.controller__obs.action__information.layout__content .esNavStickyBottom {
   position: static;
   bottom: unset;
   left: unset;
   right: unset;
   width: 100%; }

.obsBestaetigung__text {
   margin-top: 50px; }
   .obsBestaetigung__text--withMarginBottom {
      margin-bottom: 20px; }

.obsBestaetigung__heading {
   margin-top: 50px;
   margin-bottom: 20px; }

.obsBestaetigung__schlussatz {
   margin-top: 25px;
   margin-bottom: 55px; }

.obsBestaetigung__pfeil {
   font-size: 42px;
   font-size: 4.2rem;
   line-height: 30px;
   line-height: 3rem;
   vertical-align: top;
   margin-right: 12px;
   color: #b3b3b3; }

.obsBestaetigung__hr {
   border-color: #a5a5a5; }

.obsSelbsteinschaetzung__anrede {
   font-size: 24px;
   font-size: 2.4rem;
   font-weight: bold;
   margin-top: 20px; }

.obsSelbsteinschaetzung__stelle {
   font-weight: bold; }

.obsSelbsteinschaetzung__anrede,
.obsSelbsteinschaetzung__stelle,
.obsSelbsteinschaetzung__aufforderung {
   display: inline-block;
   margin-bottom: 15px; }

.obsSelbsteinschaetzung__fragen {
   display: block;
   margin-top: 30px;
   font-weight: bold;
   font-size: 19px;
   font-size: 1.9rem; }

.obsSelbsteinschaetzungDanke__ueberschrift {
   margin-bottom: 20px; }

.applywith__kanal {
   display: block;
   color: black;
   padding: 10px;
   display: flex;
   flex-direction: row;
   align-items: center; }

.applywith__kanal--cv-lebenslauf {
   position: relative; }

#applywith_cvUpload {
   position: absolute;
   right: 0;
   top: 0;
   left: 0;
   bottom: 0;
   cursor: pointer;
   opacity: 0;
   width: 100%;
   height: 100%;
   font-size: 0; }

.applywith__kanal:hover,
.applywith__kanal:focus,
.applywith__kanal:active {
   text-decoration: none;
   color: black; }

.applywith__kanal:hover {
   background-color: #eeeeee;
   color: black; }

.applywith__kanal:visited {
   background-color: #eeeeee;
   color: black; }

.applywith__kanal--icon {
   color: white;
   display: inline-block;
   vertical-align: middle;
   margin-right: 10px;
   padding: 15px;
   font-size: 30px;
   font-size: 3rem;
   text-align: center; }

.applywith__kanal--text {
   display: inline-block;
   width: calc(100% - 77px); }

.applywith__kanal--bold,
.applywith__fehlerbox--bold {
   font-weight: bold; }

.icon-applywith-linkedin {
   background-color: #0077b7; }

.icon-applywith-xing {
   background-color: #026365; }

.icon-applywith-cv-lebenslauf {
   background-color: #009eb0; }

.icon-applywith-formular {
   background-color: #1c787c; }

.esFormular--VerifizierungEMail input {
   margin: 0 15px 15px 0; }
   .esFormular--VerifizierungEMail input.form-control {
      max-width: 350px; }

@media screen and (max-width: 576px) {
   .obsInformation__innerWrapper {
      padding: 0 25px 50px; }
   .obsInformation__stellenTitel {
      font-size: 2.6rem;
      margin: 40px 0; }
   .obsInformation__firmenlogo {
      min-height: 0; } }

/*
   START: OBS - Stil fuer alle Seiten die von einem AJAX-OBS aus aufgerufen werden anpassen
*/
.ref__obsExternAjax.controller__obs.action__information.layout__content .esNavStickyBottom {
   width: 100%;
   position: fixed;
   bottom: 0; }

.ref__obsExternAjax.controller__obs.action__selbsteinschaetzungdanke .esEingeschraenkteSeitenbreite > span, .ref__obsExternAjax.controller__obs.action__selbsteinschaetzunghinweis .esEingeschraenkteSeitenbreite > span {
   display: block;
   background-color: white;
   padding: 60px;
   padding: 6rem;
   box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.81);
   flex-grow: 1; }

.ref__obsExternAjax.controller__obs body {
   background-color: #6B6B6B; }

.ref__obsExternAjax.controller__obs .esLayout_main_inner {
   min-height: 100%; }

.ref__obsExternAjax.controller__obs .esEingeschraenkteSeitenbreite {
   width: 100%;
   max-width: 900px;
   margin-left: auto;
   margin-right: auto;
   padding: 0 15px;
   min-height: calc(100% - 50px);
   display: flex;
   flex-direction: column; }
   .ref__obsExternAjax.controller__obs .esEingeschraenkteSeitenbreite > section {
      background-color: white;
      padding: 60px;
      padding: 6rem;
      box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.81);
      flex-grow: 1; }
      .ref__obsExternAjax.controller__obs .esEingeschraenkteSeitenbreite > section > span {
         display: block; }

@media screen and (min-width: 768px) {
   .ref__obsExternAjax.controller__obs .esAbstandOben {
      margin-top: 0; } }

.ref__obsExternAjax.controller__obs .esAbstandUnten {
   padding-bottom: 50px; }

.ref__obsExternAjax.controller__obs .esFormular {
   width: 100%; }

.ref__obsExternAjax.controller__obs .obsBestaetigung__heading {
   margin-top: 20px; }

.ref__obsExternAjax.controller__obs .obsSelbsteinschaetzung__anrede {
   margin-top: 0; }

/*
   ENDE: OBS - Stil fuer alle Seiten die von einem AJAX-OBS aus aufgerufen werden anpassen
   */
.controller__dsb.action__uebersicht #esLayout_main,
.controller__dsb.action__uebersicht .esLayout_main_inner {
   overflow-x: hidden; }

.controller__dsb.action__uebersicht.browser__internetexplorer .panelControl__buttons {
   -ms-grid-row-align: auto;
       align-self: auto;
   margin-top: 10px; }

html.controller__dsb.action__uebersicht.browser__internetexplorer .esLayout_main_inner {
   overflow: visible; }

#DSB_Container {
   font-size: 12px;
   font-size: 1.2rem; }
   #DSB_Container .dxlpLoadingDiv {
      min-height: 50px; }
   #DSB_Container .btn-group .btn + .btn, #DSB_Container .btn-group .btn + .btn-group, #DSB_Container .btn-group .btn-group + .btn, #DSB_Container .btn-group .btn-group + .btn-group {
      margin-left: 2px;
      margin-bottom: 4px; }

.panelControl {
   display: flex;
   flex-direction: column;
   align-items: flex-end; }

.panelControlContainer {
   margin-top: 5px;
   margin-bottom: 5px;
   padding-bottom: 5px;
   display: flex;
   flex-direction: row;
   width: 100%; }
   .panelControlContainer .esIcon {
      font-size: 30px;
      font-size: 3rem; }
   @media screen and (max-width: 1199px) {
      .panelControlContainer {
         flex-direction: column; } }

.panelControl__heading {
   font-size: 35px;
   font-size: 3.5rem;
   text-transform: uppercase;
   flex-grow: 1; }

.panelControl__buttons {
   align-self: flex-end;
   display: flex; }

.panelIcon {
   cursor: pointer;
   float: left; }

.panelControl__separator:after {
   content: ' ';
   display: block;
   float: left;
   background: #ADADAD;
   margin: 0 10px;
   height: 34px;
   width: 1px; }

.dxdzControlVert .dxpclW {
   margin-bottom: 20px; }

.dockPanelHeader {
   display: flex;
   /*color: #8B8B8D;*/
   color: #6b6b6b;
   font-size: 14px;
   font-size: 1.4rem;
   /*background-color: #8B8B8D;*/ }

.dockPanelHeader_IconAndTitle {
   display: flex;
   padding: 11px 0 11px 15px;
   flex: 1; }

.dockPanelHeader__icon {
   font-size: 25px;
   font-size: 2.5rem;
   line-height: 17px;
   line-height: 1.7rem;
   /*color: #fff;*/ }

.dockPanelHeader__title {
   text-transform: uppercase;
   font-weight: bold;
   margin-left: 10px; }

.dockPanelHeader__close {
   align-self: flex-end;
   cursor: pointer;
   padding: 9px;
   height: 100%;
   border-left: 1px solid #6B6B6B; }

.dsb__dockzone {
   padding-top: 15px;
   border-top: 1px solid #000;
   width: 100%;
   margin-bottom: 20px; }
   .dsb__dockzone > div {
      /*margin-right:15px;*/
      padding-right: 15px; }
   .dsb__dockzone > div:last-of-type {
      /*margin-right:0;*/
      padding-right: 0; }

.rightZone, .leftZone, .centerZone {
   min-width: 280px;
   float: left;
   height: auto !important; }
   @media screen and (max-width: 767px) {
      .rightZone, .leftZone, .centerZone {
         width: 100% !important;
         padding-right: 0 !important; } }
   @media screen and (min-width: 768px) and (max-width: 1399.98px) {
      .rightZone, .leftZone, .centerZone {
         width: 50% !important; }
         .rightZone:not(.leftZone):not(.centerZone), .leftZone:not(.leftZone):not(.centerZone), .centerZone:not(.leftZone):not(.centerZone) {
            clear: both;
            width: 50% !important;
            padding-right: 15px; } }

.dockPanelHeader__closebutton {
   border-left: 1px solid #6B6B6B;
   display: flex;
   align-items: center;
   padding: 16px 20px 16px 19px;
   cursor: pointer; }

.close.icon {
   color: #000;
   position: relative;
   margin-top: 0;
   margin-left: 0;
   width: 21px;
   height: 21px; }
   .close.icon:before {
      content: '';
      position: absolute;
      top: 10px;
      width: 21px;
      height: 2px;
      background-color: currentColor;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
   .close.icon:after {
      content: '';
      position: absolute;
      top: 10px;
      width: 21px;
      height: 2px;
      background-color: currentColor;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }

.topSection {
   margin-bottom: 10px; }

.bottomSection {
   /*max-height: 220px;*/ }

.bottomSection h5 {
   color: #6B6B6B;
   text-transform: uppercase; }

.list {
   margin: 10px; }

.amountWrapper {
   display: flex;
   flex-direction: row;
   align-items: flex-end;
   margin: 10px 0; }
   .amountWrapper a {
      color: inherit;
      text-decoration: none; }

.amountIndicator {
   font-size: 55px;
   font-size: 5.5rem;
   line-height: 49px;
   line-height: 4.9rem;
   margin: 0 20px;
   flex-grow: 1; }

.amountTypeWrapper {
   flex-grow: 4; }

.amountType {
   text-transform: uppercase;
   font-weight: bold;
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 18px;
   line-height: 1.8rem; }

.topSection__bewertungen .amountIndicator,
.topSection__bewertungen .amountType {
   color: #F39527; }

#widget--nachrichten.collapse.in {
   /*display:inline-block;*/ }

.list--msg {
   padding-left: 5px; }

.list--msg .list__item {
   /*padding-left:10px;*/ }

.list--msg .list__topic {
   font-weight: bold;
   font-size: 11.5px;
   font-size: 1.15rem; }

.list--msg .list__item {
   /*margin-bottom:15px;*/ }

.list--msg .list__dateAndUser {
   font-weight: bold; }

.list--msg span {
   font-size: 26px;
   font-size: 2.6rem;
   line-height: 21px;
   line-height: 2.1rem; }

.list--team {
   /*margin-right:10px;*/
   /*padding: 10px;*/ }

.list--team .list__item {
   background-color: #E9EBEC;
   margin-top: 10px; }

.list--team > .container-fluid > .list__item:first-child {
   margin-top: 0; }

.list--team .list__image {
   width: 75px;
   height: 75px;
   padding: 6px; }

.list--team .list__content {
   margin-left: 5px; }

.list--team .list__name {
   font-weight: bold;
   font-size: 13px;
   font-size: 1.3rem; }

.list--team .list__position {
   font-size: 13px;
   font-size: 1.3rem;
   min-height: 18px;
   min-height: 1.8rem; }

.list--team .list__anzahl {
   font-size: 28px;
   font-size: 2.8rem; }

.list--team.overflow {
   overflow-y: scroll;
   max-height: 520px; }

.kurseGenehmigungWrapper {
   margin-left: 24px;
   margin-top: 6px; }

.kurseGenehmigungWrapper__indicator {
   font-size: 28px;
   font-size: 2.8rem;
   line-height: 33px;
   line-height: 3.3rem;
   width: 36px;
   float: left; }
   .kurseGenehmigungWrapper__indicator a {
      color: inherit;
      text-decoration: none; }

.kurseGenehmigungWrapper__qualifikationBalkenWrapper {
   height: 28px;
   height: 2.8rem;
   position: relative;
   float: left; }

.kurseGenehmigungWrapper__qualifikationBalken {
   position: absolute;
   bottom: 0; }

.list--kursanmeldung .list__item, .list--meineKurse .list__item, .list--bewertungen .list__item, .list--msg .list__item {
   border-bottom: 1px dashed #000;
   padding-bottom: 10px;
   margin-top: 10px; }
   .list--kursanmeldung .list__item a, .list--meineKurse .list__item a, .list--bewertungen .list__item a, .list--msg .list__item a {
      color: inherit;
      text-decoration: none; }
   .list--kursanmeldung .list__item:last-of-type, .list--meineKurse .list__item:last-of-type, .list--bewertungen .list__item:last-of-type, .list--msg .list__item:last-of-type {
      border: none; }

.list--kursanmeldung .list__dateAndUser, .list--meineKurse .list__dateAndUser, .list--bewertungen .list__dateAndUser, .list--msg .list__dateAndUser {
   font-weight: bold; }

.list--kursanmeldung .list__topic, .list--meineKurse .list__topic, .list--bewertungen .list__topic, .list--msg .list__topic {
   text-transform: uppercase;
   font-weight: bold; }

/* Workaround fuer variable Hoehe der Kacheln - BLu */
.dxpc-content,
.dxpc-contentWrapper,
.dxpclW {
   height: auto !important; }

/*Load panel benötigt eine gewisse Höhe für eine optimale Darstellung*/
.dxpc-contentWrapper {
   min-height: 100px;
   background-color: #FFF;
   display: flex !important; }

.dxpclW .esWidgetExpand__button {
   padding: 0; }
   .dxpclW .esWidgetExpand__button i {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 26px;
      vertical-align: top;
      transition: all ease 0.4s;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
   .dxpclW .esWidgetExpand__button.collapsed i {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }

.dxpc-content {
   overflow: hidden !important; }

.dxpc-closeBtn {
   float: right;
   background-color: red; }

.heuteWidget {
   padding: 20px;
   display: flex;
   justify-content: space-around;
   align-items: center; }

.heuteWidget__spacer {
   border-right: 1px dashed #000;
   height: 62px;
   height: 6.2rem;
   /*margin:0 25px;*/ }

.heuteWidget__zeit, .heuteWidget__datum {
   text-align: center;
   font-weight: bold; }

.heuteWidget__zeit--label {
   font-size: 50px;
   font-size: 5rem; }

.heuteWidget__datum--label {
   font-size: 19px;
   font-size: 1.9rem;
   line-height: 22px;
   line-height: 2.2rem; }

.heuteWidget__datum--label .wochentag {
   text-transform: uppercase; }

.qualisWidget {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: space-around; }

.qualisWidget__legende {
   text-transform: uppercase;
   margin-left: 5px;
   margin-bottom: 3px;
   padding-left: 20px; }

.qualisWidget__legende:before {
   content: "";
   display: inline-block;
   border: 7px solid transparent;
   border: 0.7rem solid transparent;
   width: 0;
   height: 0;
   border-radius: 2px;
   margin-right: 6px;
   margin-bottom: -2px; }

.qualisWidget__legende.lgnd1:before,
.qualisWidget__legende.lgnd2:before,
.qualisWidget__legende.lgnd3:before {
   margin-left: -20px; }

.qualisWidget__legende.lgnd1:before {
   border-color: #A5006B; }

.qualisWidget__legende.lgnd2:before {
   border-color: #CD5B1C; }

.qualisWidget__legende.lgnd3:before {
   border-color: #0497A7; }

.topSection__berichte {
   /*display:flex;
    flex-direction:row;
    align-items:center;
    text-transform:uppercase;
    font-size: 1.6rem;*/
   /*margin-top:20px;*/ }

img.topSection__bericht {
   padding: 12px;
   /*box-shadow: 0 0 9px #6B6B6B;*/ }

.topSection__berichte .bildLinks {
   flex-grow: 3; }

.topSection__berichte .textRechts {
   flex-grow: 8; }

.list--bewertungen {
   /*padding-top:10px;*/ }

.list--bewertungen .list__item {
   /*margin-bottom:15px;*/ }

.list--bewertungen .list__kontext {
   font-weight: bold;
   font-size: 11.5px;
   font-size: 1.15rem; }

.centeredElement {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column; }
   .centeredElement > div {
      min-height: 30px;
      line-height: 30px; }

.fullheight {
   height: 100%; }

.dsb__imageWrapper {
   max-height: 100%; }

/* BMS - Seite Bewerbungen */
.bmsBewerbungen__header {
   margin-bottom: 20px; }

.bmsKachelWrapper {
   display: flex;
   flex-wrap: wrap;
   padding-right: 20px; }

.bmsKachelBewerber,
.bmsKachelBewerber--placeholder {
   position: relative;
   background: white;
   padding: 15px 20px 12px;
   overflow: visible;
   border: 1px solid #dbdbdb;
   margin-left: 20px;
   margin-bottom: 20px;
   flex-basis: 270px;
   flex-grow: 1; }

.bmsKachelBewerber--placeholder {
   padding-bottom: 1px;
   padding-top: 1px;
   margin-bottom: 1px;
   margin-top: 1px;
   border-color: transparent;
   background-color: transparent; }

.bmsKachelBewerber:before {
   content: '';
   transition: background ease 0.1s; }

.bmsKachelBewerber:before {
   content: '';
   transition: background ease 0.1s; }

.bmsKachelBewerber:hover:before {
   position: absolute;
   background: #1E1E1E;
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   opacity: 0.5;
   z-index: 1; }

.bmsKachelBewerber:hover:after {
   content: '\e95f';
   font-family: 'easySoft-Publish';
   color: #fff;
   font-size: 45px;
   font-size: 4.5rem;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-top: -32px;
   margin-left: -22px;
   z-index: 2; }

.bmsKachelBewerber__lug {
   position: absolute;
   right: 30px;
   top: -7px;
   width: 32px;
   height: 38px;
   line-height: 38px;
   text-align: center; }

.bmsKachelBewerber:hover .bmsKachelBewerber__lug:after {
   content: '';
   position: absolute;
   background: #1E1E1E;
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   opacity: 0.5;
   z-index: 1; }

.bmsKachelBewerber__lug--check {
   background: #dbdbdb;
   font-size: 22px;
   font-size: 2.2rem; }

.bmsKachelBewerber__lug--check:before {
   color: #1E1E1E;
   content: "\f00c";
   font-family: 'FontAwesome'; }

.bmsKachelBewerber__lug--todo {
   background: #1E1E1E;
   font-size: 22px;
   font-size: 2.2rem; }

.bmsKachelBewerber__lug--todo:before {
   color: white;
   content: "\f12a";
   font-family: 'FontAwesome'; }

.bmsKachelBewerber__name {
   text-transform: uppercase;
   font-size: 19px;
   font-size: 1.9rem;
   font-weight: bold;
   display: block;
   margin-bottom: 10px;
   overflow: hidden;
   padding-right: 44px;
   text-overflow: ellipsis; }

.bmsKachelBewerber__2spalten {
   display: flex;
   flex-direction: row; }

.bmsKachelBewerber__spalteLinks,
.bmsKachelBewerber__spalteRechts {
   display: flex;
   flex-direction: column; }

.bmsKachelBewerber__spalteLinks {
   margin-right: 10px;
   float: left;
   min-width: 107px; }

.bmsKachelBewerber__bewertungTextWrapper,
.bmsKachelBewerber__prozentbalkenWrapper {
   flex-grow: 1;
   position: relative; }

.bmsKachelBewerber__spalteRechts {
   display: block;
   width: 100%; }

.bmsKachelBewerber__bild {
   width: 106px;
   height: 105px;
   margin-bottom: 5px; }
   .bmsKachelBewerber__bild img {
      max-height: 100%; }

.bmsKachelBewerber__bewertungTextWrapper {
   text-transform: uppercase;
   color: #1E1E1E;
   font-size: 12px;
   font-size: 1.2rem;
   font-weight: bold; }

.bmsKachelBewerber__infoUeberschrift,
.bmsKachelBewerber__infoText {
   display: block; }

.bmsKachelBewerber__infoUeberschrift {
   font-weight: bold;
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 1em; }

.bmsKachelBewerber__infoText {
   padding-bottom: 13px;
   margin-bottom: 10px;
   border-bottom: 1px dashed #6B6B6B; }
   .bmsKachelBewerber__infoText:last-of-type {
      padding-bottom: 10px; }

.bmsKachelBewerber__infoText--standalone {
   padding-bottom: 13px;
   margin-bottom: 10px; }
   .bmsKachelBewerber__infoText--standalone:last-of-type {
      padding-bottom: 10px; }

.bmsKachelBewerber__prozentbalkenWrapper {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   height: 17px;
   align-items: flex-end; }

.bmsKachelBewerber__prozentbalkenWrapper .esProzentbalken {
   display: block;
   width: auto;
   flex-grow: 1;
   height: 16px; }

.bmsKachelBewerber__bewertungenAusgefuellt {
   flex-grow: 0;
   margin-left: 5px;
   color: #1E1E1E;
   font-size: 12px;
   font-size: 1.2rem;
   font-weight: bold; }

.bmsKachelBewerber__open {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 3; }

/* BMS - Seite Bewerber */
.bmsBewerber__bewerbung {
   margin-top: 25px;
   margin-bottom: 20px; }

.bmsBewerber__bildUndDaten {
   margin-bottom: 10px;
   padding-bottom: 10px;
   border-bottom: 1px solid #A7A7A7; }

.bmsBewerber__bild {
   margin-right: 20px;
   max-width: 250px;
   max-height: 180px; }
   .bmsBewerber__bild img {
      max-width: inherit;
      max-height: inherit; }

.bmsBewerber__name,
.bmsBewerber__abschluss {
   display: inline-block;
   width: 100%; }

.bmsBewerber__name {
   font-weight: bold;
   font-size: 18px;
   font-size: 1.8rem;
   /* Todo*/ }

.bmsBewerber__abschluss,
.bmsBewerber__alter,
.bmsBewerber__adresse {
   margin-bottom: 10px; }

.bmsBewerber__datei {
   display: block;
   position: relative;
   line-height: 30px;
   padding-left: 22px;
   margin-bottom: 3px; }

.bmsBewerber__datei,
.bmsBewerber__datei:hover,
.bmsBewerber__datei:active,
.bmsBewerber__datei:focus {
   color: black;
   text-decoration: none; }

.bmsBewerber__datei:before {
   font-family: FontAwesome;
   text-rendering: auto;
   -webkit-font-smoothing: antialiased;
   display: inline-block;
   text-align: right;
   content: "\f0c6";
   font-size: 23px;
   font-size: 2.3rem;
   color: #6B6B6B;
   -webkit-transform: rotate(225deg);
           transform: rotate(225deg);
   position: absolute;
   left: 0; }

.bmsBewerber__bewertungen .esH4 {
   margin-bottom: 10px; }

.bmsBewerber__bewertungen .esProzentbalken {
   margin-bottom: 25px; }

.bmsBewerber__keineBewertung {
   margin-bottom: 25px;
   display: inline-block; }

@media only screen and (max-width: 599px) {
   .bmsBewerber__bild {
      margin-bottom: 10px; }
   .bmsBewerber__anhaenge {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #A7A7A7; } }

@media only screen and (min-width: 600px) {
   .bmsBewerber__bewertungen.bmsBewerber__anhaengeVorhanden {
      margin-left: 10px;
      padding-left: 20px;
      border-left: 1px solid #A7A7A7; } }

@media only screen and (min-width: 1100px) {
   .bmsBewerber__bildUndDaten {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none; }
   .bmsBewerber__anhaenge,
   .bmsBewerber__bewertungen {
      margin-left: 10px;
      padding-left: 20px;
      border-left: 1px solid #A7A7A7; } }

/* Flex für Bewerberfeld auf Seite BMS - Bewerber */
.bmsBewerber__bewerbung {
   display: flex;
   flex-direction: column; }

.bmsBewerber__bildUndDaten {
   display: flex;
   flex-direction: column; }

.bmsBewerber__anhaengeUndBewertungen {
   display: flex;
   flex-direction: column; }

.bmsBewerber__bild {
   flex-grow: 0; }

.bmsBewerber__daten,
.bmsBewerber__anhaenge,
.bmsBewerber__bewertungen {
   flex: 1; }

/* Phone/Tablet */
@media only screen and (min-width: 600px) {
   .bmsBewerber__bildUndDaten,
   .bmsBewerber__anhaengeUndBewertungen {
      flex-direction: row; } }

/* IE11-Fix für Darstellung des Bewerbers im BMS auf mobilen Bildschirmgrößen */
@media only screen and (max-width: 599px) {
   .bmsBewerber__daten,
   .bmsBewerber__anhaenge,
   .bmsBewerber__bewertungen {
      flex: none; } }

/* Desktop */
@media only screen and (min-width: 1100px) {
   .bmsBewerber__bewerbung {
      flex-direction: row; }
   .bmsBewerber__bildUndDaten {
      /*order: -1;*/
      flex: 5; }
   .bmsBewerber__anhaengeUndBewertungen {
      flex: 4; }
   .bmsBewerber__anhaenge,
   .bmsBewerber__bewertungen {
      flex: 2; } }

.bmsBewerber__daten .row {
   line-height: 18px;
   line-height: 1.8rem; }

.bmsBewerber__daten .row:not(.bmsBewerber__adresse):not(.bmsBewerber__alter) {
   margin-bottom: 6px; }

.action__berichtanzeige.publishVersionModul__P3 .esLayout_main_inner {
   overflow: hidden;
   height: 100%; }
   .action__berichtanzeige.publishVersionModul__P3 .esLayout_main_inner .esER3Wrapper {
      display: flex;
      flex-direction: column;
      height: 100%; }

.action__berichtanzeige.publishVersionModul__P3 #documentviewer {
   height: calc(100% - 44px) !important; }

.action__berichtanzeige.publishVersionModul__P3.browser__internetexplorer .esER3Wrapper {
   margin: 0; }

.action__berichtanzeige.publishVersionModul__P2 .esER3Wrapper {
   height: 100%;
   margin: 0;
   display: flex;
   flex-direction: column; }

.action__berichtanzeige.publishVersionModul__P2.browser__internetexplorer #documentviewer {
   height: 480px !important;
   margin-bottom: 30px; }

.controller__er3.action__uebersicht.publishVersionModul__P2 #esPageWrapper {
   overflow: visible;
   display: flex;
   flex-direction: column; }

/* Gemeinsame Style für verschiedene Actions*/
@media all and (max-width: 600px) {
   .controller__prf.action__kennwortaendern .esRowWithFlexColumn,
   .controller__prf.action__kennwortvergessen .esRowWithFlexColumn {
      flex-direction: column; } }

.controller__prf.action__uebersicht .esGreyBox3 {
   display: flex; }

.controller__prf.action__uebersicht .prfUebersicht__daten {
   flex-grow: 1; }

@media all and (max-width: 550px) {
   .controller__prf.action__uebersicht .esGreyBox3 {
      display: block; }
      .controller__prf.action__uebersicht .esGreyBox3 > div {
         display: block; }
   .controller__prf.action__uebersicht .prfUebersicht__daten {
      margin-left: -15px;
      margin-right: -15px; }
   .controller__prf.action__uebersicht .prfUebersicht__btnKennwortAendern {
      width: 100%;
      white-space: normal; } }

.prfUebersicht__kontaktBildWrapper {
   display: inline-block; }

.prfUebersicht__kontaktBild {
   max-width: 160px;
   margin-right: 15px;
   margin-bottom: 25px; }

.prfUebersicht__btnKennwortAendern {
   margin-top: 15px; }

.prfUebersicht__adHinweisWrapper {
   position: relative;
   min-height: 4em; }
   @media all and (max-width: 360px) {
      .prfUebersicht__adHinweisWrapper {
         min-height: 6em; } }

.prfUebersicht__Hinweis {
   font-size: 13px;
   font-size: 1.3rem; }

.prfUebersicht__adHinweis {
   position: absolute;
   left: 0;
   right: 0;
   top: 4px;
   font-size: 90%;
   font-style: italic; }

.controller__prf.action__kennwortaendern .prfKennwortaendern__form {
   max-width: 600px; }

.controller__prf.action__kennwortaendern .prfKennwortaendern__zeilenabstand {
   margin-bottom: 25px; }

.controller__prf.action__kennwortaendern .esLabel--verticalCenter,
.controller__prf.action__kennwortaendern .esLabel--alignWithInput {
   width: 190px;
   min-width: 190px;
   margin-right: 30px;
   margin-bottom: 0; }

.controller__prf.action__kennwortaendern hr {
   border-color: #d0d0cf;
   margin: 32px 0; }

.controller__prf.action__kennwortaendern .prfKennwortaendern__emailHinweis {
   display: inline-block;
   margin-top: 13px; }

.prfKennwortVergessen__zeilenabstand {
   margin-bottom: 25px; }

.prfKennwortVergessen__form {
   max-width: 600px; }
   .prfKennwortVergessen__form .control-label {
      width: 240px;
      min-width: 240px; }

.prfKennwortVergessen__sicherheitsfrageHinweis {
   margin-bottom: 10px;
   display: inline-block; }

/* KAW */
.kawModal__block--abstandUnten {
   margin-bottom: 30px; }

.kawModal__ueberschrift {
   font-weight: bold;
   margin-bottom: 10px; }

#Modal_KAW_ScrollView .esFormular__submit,
#Modal_KAW_ScrollView .esFormular__hrVorButton,
.controller__kaw.action__genehmigung .esFormular__submit,
.controller__kaw.action__genehmigung .esFormular__hrVorButton {
   display: none; }

.controller__kaw.action__genehmigung #esFormular,
#Modal_KAW_ScrollView #esFormular {
   margin-top: 30px;
   overflow: hidden; }

#kawGenehmigung__speichernButton {
   margin-bottom: 10px; }

/* INF - Info-Seiten */
.controller__inf.action__uebersicht #esPageWrapper main {
   font-family: Arial, Helvetica, sans-serif;
   font-size: 12px;
   font-size: 1.2rem;
   line-height: normal;
   color: black; }

.controller__inf.action__uebersicht #esPageWrapper main .esLayout_main_inner {
   padding: 10px; }

.controller__inf.action__uebersicht #esPageWrapper caption {
   text-align: center;
   font-size: 16px;
   font-size: 1.6rem;
   padding: 0;
   color: black; }

.controller__inf.action__uebersicht #esPageWrapper td,
.controller__inf.action__uebersicht #esPageWrapper th {
   padding: 3px;
   font-size: 14px;
   font-size: 1.4rem; }

.controller__inf.action__uebersicht #esPageWrapper th {
   text-align: center; }

.kursanmeldung_hinweis {
   font-size: 16px;
   font-size: 1.6rem;
   margin-top: 30px; }

/* Detailseite */
h1.kursDetail--item-titel {
   color: #1E1E1E;
   margin-bottom: 20px; }

.controller__kip.action__detailbenutzerdefiniertauflistung .kursDetail--item {
   margin-bottom: 0; }

.controller__kip.action__detailbenutzerdefiniertauflistung .esGrid {
   margin-bottom: 0; }
   .controller__kip.action__detailbenutzerdefiniertauflistung .esGrid .dx-row.main-row > td {
      padding-left: 0;
      padding-top: 0; }
   .controller__kip.action__detailbenutzerdefiniertauflistung .esGrid.esGrid--auflistung .dx-row.main-row td.odd {
      padding-left: 0; }
      .controller__kip.action__detailbenutzerdefiniertauflistung .esGrid.esGrid--auflistung .dx-row.main-row td.odd div .esGrid__spaltenWert {
         margin-top: 0; }
      .controller__kip.action__detailbenutzerdefiniertauflistung .esGrid.esGrid--auflistung .dx-row.main-row td.odd > :last-child {
         margin-bottom: 0; }
      .controller__kip.action__detailbenutzerdefiniertauflistung .esGrid.esGrid--auflistung .dx-row.main-row td.odd .esGrid__spaltenWrapper--1spalte,
      .controller__kip.action__detailbenutzerdefiniertauflistung .esGrid.esGrid--auflistung .dx-row.main-row td.odd .esGrid__spaltenWrapper--2spalten {
         margin-top: 0; }

/* Sonderfall Firefox: damit Zelleninhalt nicht im Title-Attribute angezeigt wird */
.browser__firefox .esGrid--auflistung td span:last-child:not(.ampel__bezeichnung),
.browser__firefox .esGrid--auflistung th span:last-child:not(.ampel__bezeichnung) {
   display: inline-block; }

.browser__firefox .esGrid--vertical .esTextRichtigUmbrechen,
.browser__firefox .esGrid--vertical .spaltenUeberschrift > span,
.browser__firefox .esGrid--vertical .spaltenWert > span {
   display: inline-block; }

.browser__firefox .esGrid--horizontal .esTextRichtigUmbrechen,
.browser__firefox .esGrid--horizontal .esGrid__column > span:not(.ampel__center) {
   display: inline-block;
   white-space: break-spaces; }

.browser__firefox .esGrid--kachel .kursinformationen--kachel span {
   display: inline-block; }

.kursDetail--item,
.controller__kip.action__detailbenutzerdefiniert .esGrid {
   margin-bottom: 30px; }

.kursDetail--item .gruppentitel {
   color: #1E1E1E; }

.kursDetail--wrapper {
   display: grid;
   grid-template-columns: 410px auto;
   grid-template-rows: auto;
   /* autoprefixer: off */
   grid-auto-rows: auto;
   /* beliebig erweiterbar */ }
   .kursDetail--wrapper.kursDetail--wrapper-keinBild {
      -ms-grid-columns: 0 100%;
      grid-template-columns: 0 100%; }
      .kursDetail--wrapper.kursDetail--wrapper-keinBild .kursDetail--item-uebersicht {
         -ms-grid-column-span: 2;
         grid-column: span 2; }
   .kursDetail--wrapper .wertePaare--wrapper {
      display: flex;
      flex-direction: column; }
   .kursDetail--wrapper .wertePaar {
      display: flex;
      flex-direction: row;
      line-height: 22px;
      line-height: 2.2rem; }
   .kursDetail--wrapper .wertePaare--name {
      flex-grow: 0;
      min-width: 145px;
      font-weight: bold;
      margin-right: 20px; }
      @media screen and (min-width: 768px) {
         .kursDetail--wrapper .wertePaare--name {
            min-width: 160px;
            margin-right: 30px; } }
   .kursDetail--wrapper .wertePaare--wert {
      flex-grow: 1; }
   .kursDetail--wrapper .kursDetail--item {
      -ms-grid-column: 2;
          grid-column-start: 2; }
      .kursDetail--wrapper .kursDetail--item:last-child {
         margin-bottom: 0; }
   .kursDetail--wrapper .kursDetail--item-bild {
      height: 250px;
      /* lässt sich dann immer noch fest skalieren, um es bei Bedarf zu begrenzen */
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      grid-row: 1 / 4;
      /* geht grundsätzlich aber bis zur 4ten Linie (nach der 3. row), das sollte ausreichen */
      -ms-grid-column: 1;
          grid-column-start: 1;
      width: 100%;
      padding-right: 40px; }
      .kursDetail--wrapper .kursDetail--item-bild img {
         height: 100%;
         width: 100%;
         -o-object-fit: cover;
            object-fit: cover; }
   @media screen and (max-width: 1600px) {
      .kursDetail--wrapper {
         -ms-grid-columns: 35% auto;
         grid-template-columns: 35% auto; } }
   @media screen and (max-width: 1199px) {
      .kursDetail--wrapper {
         -ms-grid-columns: 43% auto;
         grid-template-columns: 43% auto; }
      .kursDetail--wrapper .kursDetail--item {
         -ms-grid-column: 1;
         -ms-grid-column-span: 2;
         grid-column: 1 / span 2; }
      .kursDetail--wrapper .kursDetail--item-bild,
      .kursDetail--wrapper .kursDetail--item-uebersicht {
         -ms-grid-row: 1;
         -ms-grid-row-span: 1;
         grid-row: 1 / 2;
         -ms-grid-column-span: 1;
         grid-column: span 1; } }
   @media screen and (max-width: 767px) {
      .kursDetail--wrapper .kursDetail--item-bild,
      .kursDetail--wrapper .kursDetail--item-uebersicht {
         -ms-grid-column: 1;
         -ms-grid-column-span: 2;
         grid-column: 1 / span 2;
         grid-row: auto; }
      .kursDetail--wrapper .kursDetail--item-bild {
         padding-right: 0;
         height: 60vw; } }
   .kursDetail--wrapper .kursDetail--item-seminarplan--datensicht {
      overflow-x: auto; }

.controller__kip .semPlan--wrapper {
   width: 100%; }
   .controller__kip .semPlan--wrapper .table > tbody > tr > td,
   .controller__kip .semPlan--wrapper .table > tbody > tr > th,
   .controller__kip .semPlan--wrapper .table > tfoot > tr > td,
   .controller__kip .semPlan--wrapper .table > tfoot > tr > th,
   .controller__kip .semPlan--wrapper .table > thead > tr > td,
   .controller__kip .semPlan--wrapper .table > thead > tr > th {
      border-top: none;
      border-bottom: none;
      padding: 6px 9px; }
   .controller__kip .semPlan--wrapper .table-responsive {
      border: none; }
   .controller__kip .semPlan--wrapper table.seminarplan thead {
      background-color: #f2f2f2;
      border-top: 1px solid #c4c4c4;
      border-bottom: 1px solid #c4c4c4; }
   @media all and (max-width: 550px) {
      .controller__kip .semPlan--wrapper {
         width: calc(100vw - 30px); }
         .controller__kip .semPlan--wrapper .esHideFor-small {
            display: none; } }
   @media all and (max-width: 320px) {
      .controller__kip .semPlan--wrapper {
         width: calc(100vw - 20px); } }

.controller__kip .auflistungDozenten {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   align-items: flex-start;
   margin-right: -15px; }

.controller__kip .dozent--item {
   flex-grow: 1;
   flex-basis: 280px;
   margin-right: 15px;
   margin-bottom: 15px;
   padding: 15px 10px;
   border: 1px solid #e0e0e0;
   box-shadow: 1px 2px 4px 1px #e0e0e0; }
   .controller__kip .dozent--item:last-child {
      margin-right: 0;
      margin-bottom: 0; }
   .controller__kip .dozent--item .dozent--name {
      color: #1E1E1E; }
   .controller__kip .dozent--item .dozent--bild {
      margin: 10px 0; }
      .controller__kip .dozent--item .dozent--bild img {
         width: 120px;
         height: 100px;
         -o-object-fit: cover;
            object-fit: cover;
         overflow: hidden; }
   .controller__kip .dozent--item .dozentCollapsable--inner {
      min-height: 119px; }
   .controller__kip .dozent--item .dozent--vorbildung {
      margin-top: 5px;
      white-space: pre-wrap;
      overflow-x: hidden; }
   .controller__kip .dozent--item .dozentCollapsable {
      max-height: 124px;
      overflow-y: hidden;
      transition: max-height 1s; }
      .controller__kip .dozent--item .dozentCollapsable.open {
         max-height: 700px;
         transition: max-height 1s; }
   .controller__kip .dozent--item a.collapseTrigger {
      float: right;
      cursor: pointer;
      margin-top: 9px; }
      .controller__kip .dozent--item a.collapseTrigger span {
         font-size: 12px;
         font-size: 1.2rem; }
      .controller__kip .dozent--item a.collapseTrigger:hover {
         text-decoration: none; }

.controller__kip .dozent--item-platzhalter {
   flex-grow: 1;
   flex-basis: 280px;
   margin-right: 15px;
   padding: 0 10px; }

.controller__kip .auflistungPreisgruppen {
   display: flex;
   flex-wrap: wrap;
   margin-right: -15px; }
   .controller__kip .auflistungPreisgruppen .preis--item,
   .controller__kip .auflistungPreisgruppen .preis--item-platzhalter {
      flex-basis: 230px;
      margin-right: 15px;
      flex-grow: 1;
      padding-left: 15px;
      padding-right: 15px; }
   .controller__kip .auflistungPreisgruppen .preis--item {
      border: 1px solid #E9EBEC;
      padding-top: 20px;
      padding-bottom: 20px;
      margin-bottom: 15px;
      display: flex;
      flex-direction: column;
      text-align: center; }
      @supports (align-items: center) {
         .controller__kip .auflistungPreisgruppen .preis--item {
            align-items: center; } }
      .controller__kip .auflistungPreisgruppen .preis--item-titel {
         color: #0083C6;
         padding-bottom: 5px; }
      .controller__kip .auflistungPreisgruppen .preis--item-beschreibung {
         flex-grow: 2;
         padding-bottom: 20px; }
      .controller__kip .auflistungPreisgruppen .preis--item-global {
         font-size: 12.5px;
         font-size: 1.25rem; }
      .controller__kip .auflistungPreisgruppen .preis--item-preisStatt {
         color: #0083C6;
         padding-top: 10px;
         text-decoration: line-through; }
      .controller__kip .auflistungPreisgruppen .preis--item-preisStattInfo {
         color: #0083C6;
         padding-top: 10px; }
      .controller__kip .auflistungPreisgruppen .preis--item-preis {
         font-weight: 700;
         color: #0083C6;
         font-size: 22.5px;
         font-size: 2.25rem; }

.controller__kip .preis--item-ungruppiert {
   margin-bottom: 15px; }
   .controller__kip .preis--item-ungruppiert .preis--item {
      text-align: left; }
      @supports (align-items: left) {
         .controller__kip .preis--item-ungruppiert .preis--item {
            align-items: left; } }
      .controller__kip .preis--item-ungruppiert .preis--item-global {
         font-size: 12.5px;
         font-size: 1.25rem; }
      .controller__kip .preis--item-ungruppiert .preis--item-preisStatt {
         color: #0083C6;
         text-decoration: line-through; }
      .controller__kip .preis--item-ungruppiert .preis--item-preisStattInfo {
         color: #0083C6; }
      .controller__kip .preis--item-ungruppiert .preis--item-preis {
         font-weight: 700;
         color: #0083C6;
         font-size: 22.5px;
         font-size: 2.25rem; }

/**
   esKontakt - Bereich
*/
.esKontakt {
   padding: 8px 10px 8px 5px;
   background-color: #FAFAFA;
   word-break: break-word;
   border: 1px solid #FAFAFA;
   display: flex;
   flex-wrap: nowrap; }
   .esKontakt:last-of-type {
      margin-bottom: 0; }
   .esKontakt:hover {
      background-color: #ccc;
      cursor: pointer; }
   .esKontakt--invalide {
      border: 1px solid #a94442;
      margin: 3px 0;
      padding-top: 10px;
      padding-bottom: 10px; }
   .esKontakt--icon {
      font-size: 19px;
      font-size: 1.9rem;
      vertical-align: bottom;
      margin-left: 5px; }
   .esKontakt .esKontakt--kontaktNr {
      flex-basis: 21px;
      text-align: right;
      flex-shrink: 0;
      margin-right: 2px; }
   .esKontakt .esKontakt--inner {
      flex-grow: 1;
      display: flex; }
      .esKontakt .esKontakt--inner .esKontakt--name {
         flex-grow: 1; }
   .esKontakt .esKontakt--icon.icon-link-3 {
      display: none; }
   .esKontakt .esKontakt--icon.dx-icon-close {
      color: #1E1E1E; }
      .esKontakt .esKontakt--icon.dx-icon-close:hover {
         color: #a94442; }

/*
     TPK - Tagespunktkacheln
  */
.esKachel--tagespunkt {
   box-sizing: border-box;
   height: 100%; }
   .esKachel--tagespunkt .esKachel__title {
      font-weight: bold; }
   .esKachel--tagespunkt .tagespunkt__hinweis {
      padding: 10px 0; }
   .esKachel--tagespunkt .tagespunkt__freieplatze,
   .esKachel--tagespunkt .tagespunkt__dozent {
      padding-bottom: 2px; }

.tagespunktBlock__uhrzeit {
   display: inline-block;
   padding: 10px 0 7px 1px;
   font-weight: bold; }

.esTagespunkte {
   border-top: 1px solid #eee;
   margin-top: 25px;
   padding-top: 15px; }
   .esTagespunkte__titel {
      margin-top: 10px; }
   .esTagespunkte__ankerButton {
      display: none; }
   @media screen and (max-width: 767px) {
      .esTagespunkte__ankerButton {
         display: inline-block; } }

.esTagespunkteTabs {
   margin-bottom: 10px; }
   .esTagespunkteTabs button {
      margin: 0 2px 2px 0;
      box-sizing: border-box;
      width: calc(50% - 2px); }
      .esTagespunkteTabs button:hover {
         background-color: #E30613;
         color: white; }
      @media screen and (max-width: 1399px) {
         .esTagespunkteTabs button {
            padding-left: 7.5px;
            padding-right: 7.5px; } }

/*
   Durch die Kontaktauswahl im KIP-Modul fehlt Platz, sodass die Items hier anders berechnet werden sollen
*/
@media screen and (min-width: 768px) and (max-width: 1199.98px) {
   .esFormular--mehrfachanmeldung .esFlexContainer__item {
      width: 100%; }
   .esFormular--mehrfachanmeldung .esFlexContainer__item:nth-child(1n) {
      margin-right: 0; }
   .esFormular--mehrfachanmeldung .esFormularfeld--darfZweispaltigeAnzeige {
      width: 100%; } }

@media screen and (min-width: 1200px) and (max-width: 1399.98px) {
   .esFormular--mehrfachanmeldung .esFlexContainer__item {
      width: calc(50% - 7.5px); }
   .esFormular--mehrfachanmeldung .esFlexContainer__item:nth-child(2n) {
      margin-right: 0; } }

@media screen and (min-width: 1400px) and (max-width: 1679.98px) {
   .esFormular--mehrfachanmeldung .esFlexContainer__item {
      width: calc(33% - 10px); }
   .esFormular--mehrfachanmeldung .esFlexContainer__item:nth-child(3n) {
      margin-right: 0; } }

@media screen and (min-width: 1680px) {
   .esFormular--mehrfachanmeldung .esFlexContainer__item {
      width: calc(25% - 11.25px); }
   .esFormular--mehrfachanmeldung .esFlexContainer__item:nth-child(4n) {
      margin-right: 0; } }

/*
     TPK - Tabbuttons
 */
@media screen and (min-width: 768px) and (max-width: 991.98px) {
   .esTagespunkteTabs button {
      width: calc(33.3% - 2px); } }

@media screen and (min-width: 1200px) and (max-width: 1399.98px) {
   .esTagespunkteTabs button {
      width: calc(25% - 2px); } }

@media screen and (min-width: 1400px) and (max-width: 1679.98px) {
   .esTagespunkteTabs button {
      width: calc(20% - 2px); } }

@media screen and (min-width: 1680px) {
   .esTagespunkteTabs button {
      width: calc(16.6% - 2px); } }

@media screen and (min-width: 768px) and (max-width: 1399.98px) {
   .esFormular--mehrfachanmeldung .esTagespunkteTabs button {
      width: calc(50% - 2px); } }

@media screen and (min-width: 1400px) {
   .esFormular--mehrfachanmeldung .esTagespunkteTabs button {
      width: calc(33.3% - 2px); } }

@media screen and (min-width: 1680px) {
   .esFormular--mehrfachanmeldung .esTagespunkteTabs button {
      width: calc(20% - 2px); } }

.layout__presentation .esTagespunkteTabs button,
.layout__presentation .esFormular--mehrfachanmeldung .esTagespunkteTabs button {
   width: auto; }

/*
   IE10 + IE11 Extrawurst
*/
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
   .browser__internetexplorer .kursDetail--wrapper {
      display: block;
      /* Bild und Übersicht werden im CSS-Code ein Paar Zeilen drüber auf 50% gesetzt. Das gilt aber nur, wenn ein Bild gesetzt ist. Sonst soll die Beschreibung 100% einnehmen, alles andere sieht nicht gut aus. */ }
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-beschreibung {
         clear: both; }
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-bild,
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-uebersicht {
         float: left;
         width: 50%;
         overflow: hidden; }
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-bild {
         height: 250px;
         position: relative; }
         .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-bild img {
            height: auto; }
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-bild {
         width: 40%;
         height: auto;
         max-height: 300px; }
      .browser__internetexplorer .kursDetail--wrapper.kursDetail--wrapper-keinBild .kursDetail--item-uebersicht {
         width: 100%; } }
   @media screen and (-ms-high-contrast: active) and (max-width: 767px) {
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-uebersicht {
         float: none;
         width: 100%; }
      .browser__internetexplorer .kursDetail--wrapper .kursDetail--item-bild {
         display: none; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
   .browser__internetexplorer .dozent--item .dozent--bild {
      position: relative;
      width: 120px;
      height: 100px;
      overflow: hidden;
      margin: 10px 0; }
      .browser__internetexplorer .dozent--item .dozent--bild img {
         -o-object-fit: unset;
            object-fit: unset;
         position: absolute;
         top: 50%;
         left: 50%;
         -webkit-transform: translate(-50%, -50%);
                 transform: translate(-50%, -50%);
         height: 100%;
         width: auto; } }

/* LGN - Seite Login */
html.controller__lgn.action__login .esLayout_main_inner {
   align-items: center;
   justify-content: center;
   flex-grow: 1; }

.login {
   width: 100%;
   padding: 15px; }
   .login--centered {
      display: flex;
      flex-flow: column;
      align-items: center;
      justify-content: center;
      align-items: flex-end; }
   .login__inputArea {
      display: flex;
      flex-flow: column;
      width: 100%;
      position: relative; }
   .login #login {
      width: 100%; }
   .login__table {
      width: 100%; }
      .login__table tr {
         display: block;
         padding-bottom: 20px; }
         .login__table tr td {
            width: 100%;
            display: block; }
         .login__table tr > td:first-of-type {
            text-align: left;
            vertical-align: central;
            padding-right: 30px;
            width: auto; }
   .login__firmenlogo {
      max-width: 170px;
      max-height: 130px;
      margin: 0 auto 30px;
      display: block; }
   .login__remembeMeLabel {
      font-weight: normal;
      vertical-align: top;
      cursor: pointer; }
   .login__button {
      margin-bottom: 15px;
      width: 100%; }
   .login__button--wrapper {
      display: flex;
      align-items: flex-end;
      flex-direction: column; }
      .login__button--wrapper .login__button--trennwort {
         padding: 0 15px;
         display: block;
         text-align: center; }
   .login__kennwortVergessen, .login__registrierenUrl {
      color: #1E1E1E;
      float: right;
      clear: both;
      cursor: pointer; }
   .login__registrierenUrl {
      margin-top: 5px; }
   .login__hinweistext--wrapper {
      display: flex;
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
      top: 100%;
      padding: 15px;
      border: 1px solid #ccc;
      align-items: center;
      margin: 20px 0 0;
      width: 100%; }
      .login__hinweistext--wrapper:before {
         content: ' ';
         width: 0;
         height: 0;
         border-left: 12px solid transparent;
         border-right: 12px solid transparent;
         border-bottom: 12px solid #ccc;
         position: absolute;
         right: 47%;
         top: -12px; }
      .login__hinweistext--wrapper:after {
         content: ' ';
         width: 0;
         height: 0;
         border-left: 12px solid transparent;
         border-right: 12px solid transparent;
         border-bottom: 12px solid white;
         position: absolute;
         right: 47%;
         top: -11px; }
   .login__hinweistext--icon {
      color: #d4121e;
      font-size: 30px;
      font-size: 3rem;
      padding-right: 15px; }

.login--modal .login__hinweistext--wrapper {
   position: relative; }

.login--standard .login__hinweistext--wrapper {
   position: absolute; }

@media (min-width: 400px) {
   .login--standard {
      max-width: 370px; } }

@media screen and (min-width: 768px) {
   .login--standard {
      max-width: 440px; }
      .login--standard table tr {
         display: table-row; }
         .login--standard table tr td {
            display: table-cell;
            padding-bottom: 15px; }
         .login--standard table tr > td:first-of-type {
            text-align: right;
            margin-bottom: 0; }
      .login--standard .login__button--wrapper {
         display: flex;
         justify-content: flex-end;
         align-items: center;
         flex-direction: row; }
         .login--standard .login__button--wrapper .login__button {
            width: auto; } }

@media screen and (min-width: 1400px) {
   .login--standard {
      position: relative; }
      .login--standard .login--centered {
         align-items: flex-start; }
      .login--standard .login__inputArea {
         flex-flow: row; }
      .login--standard .login__hinweistext--wrapper {
         width: 300px;
         top: 0;
         left: 105%;
         margin: 0; }
         .login--standard .login__hinweistext--wrapper:before {
            content: ' ';
            width: 0;
            height: 0;
            border-top: 12px solid transparent;
            border-right: 12px solid #ccc;
            border-bottom: 12px solid transparent;
            position: absolute;
            right: 100%;
            top: 33%; }
         .login--standard .login__hinweistext--wrapper:after {
            content: ' ';
            width: 0;
            height: 0;
            border-top: 12px solid transparent;
            border-right: 12px solid #fff;
            border-bottom: 12px solid transparent;
            position: absolute;
            right: 99.55%;
            top: 33%; } }

.controller__pfq.action__uebersicht #Modal_KursbesuchPlanen_ScrollView .detailLink {
   display: none; }

.controller__pun.action__bearbeiten .esFormularinstanz {
   background: #fafafa;
   padding-right: 15px; }

@media screen and (min-width: 768px) {
   .controller__pun.action__bearbeiten .esFormularinstanz {
      padding-right: 20px; } }

.controller__ups.action__cec403 #esLayout_main_inner,
.controller__ups.action__cec404 #esLayout_main_inner {
   height: 100%; }

#upsWeltall__wrapper {
   position: relative;
   height: 100%;
   width: 100%;
   overflow: hidden; }

#upsWeltall__wrapper.upsWeltall__wrapper--transition i {
   transition-property: -webkit-transform;
   transition-property: transform;
   transition-property: transform, -webkit-transform;
   transition-duration: 0.4s; }

.upsWeltall__wolkeRechtsUnten {
   position: absolute;
   opacity: 0.18; }

.upsWeltall__wolkeLinksUnten {
   position: absolute;
   opacity: 0.18; }

.upsWeltall__wolkeRechtsObenGross {
   position: absolute;
   opacity: 0.18; }

.upsWeltall__wolkeRechtsObenKlein {
   position: absolute;
   opacity: 0.15; }

.upsWeltall__sterneWrapper {
   width: 100%;
   height: 100%;
   position: relative;
   overflow: hidden;
   z-index: -1; }

.upsWeltall__stern {
   display: inline-block;
   position: absolute; }

.upsWeltall__statusWrapper {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column; }

.upsWeltall__status {
   color: #1E1E1E; }

.upsWeltall__statusText {
   background: white;
   display: inline-block;
   text-align: center;
   margin-top: 2vh; }

.upsWeltall__mond,
.upsWeltall__rakete,
.upsWeltall__komet1,
.upsWeltall__komet2,
.upsWeltall__komet3 {
   position: absolute; }

@media (orientation: landscape) {
   .upsWeltall__wolkeRechtsUnten {
      bottom: -40px;
      right: -54px;
      font-size: 19vw; }
   .upsWeltall__wolkeLinksUnten {
      bottom: -44px;
      left: -87px;
      font-size: 15vw; }
   .upsWeltall__wolkeRechtsObenGross {
      top: -34px;
      right: -52px;
      font-size: 17vw; }
   .upsWeltall__wolkeRechtsObenKlein {
      top: -60px;
      right: -70px;
      font-size: 12vw; }
   .upsWeltall__status {
      font-size: 13vw; }
   .upsWeltall__statusText {
      font-size: 1.5vw;
      max-width: 33vw; }
   .upsWeltall__mond {
      font-size: 6vw;
      left: 6vw;
      top: 4vw; }
   .upsWeltall__rakete {
      font-size: 16vw;
      left: 18%;
      top: 17%; }
   .upsWeltall__komet1 {
      font-size: 8vw;
      left: 76%;
      top: 52%; }
   .upsWeltall__komet2 {
      font-size: 10vw;
      left: 72%;
      top: 8%; }
   .upsWeltall__komet3 {
      font-size: 7vw;
      left: 80%;
      top: 31%; } }

@media (orientation: landscape) and (max-width: 991px) {
   .upsWeltall__status {
      font-size: 18vw; }
   .upsWeltall__wolkeRechtsUnten {
      bottom: -24px;
      right: -34px; }
   .upsWeltall__wolkeLinksUnten {
      bottom: -14px;
      left: -17px; }
   .upsWeltall__wolkeRechtsObenGross {
      top: -24px;
      right: -35px; }
   .upsWeltall__wolkeRechtsObenKlein {
      top: -18px;
      right: -43px; }
   .upsWeltall__statusText {
      font-size: 3vw;
      max-width: 52vw;
      margin-top: 2vh; }
   .upsWeltall__mond,
   .upsWeltall__komet1 {
      display: none; }
   .upsWeltall__rakete {
      font-size: 25vw;
      left: 10%;
      top: 17%; }
   .upsWeltall__komet2 {
      font-size: 14vw;
      left: 72%;
      top: 6%; }
   .upsWeltall__komet3 {
      font-size: 11vw;
      top: 31%; } }

@media (orientation: portrait) {
   .upsWeltall__status {
      font-size: 20vw; }
   .upsWeltall__statusText {
      font-size: 3.5vw;
      max-width: 65vw; }
   .upsWeltall__wolkeRechtsUnten {
      bottom: -17px;
      right: -23px;
      font-size: 29vw;
      opacity: 0.23; }
      .upsWeltall__wolkeRechtsUnten:before {
         content: '\e987'; }
   .upsWeltall__wolkeLinksUnten {
      bottom: -19px;
      left: -12px;
      font-size: 35vw; }
      .upsWeltall__wolkeLinksUnten:before {
         content: '\e97c';
         -webkit-transform: rotateY(180deg);
                 transform: rotateY(180deg);
         display: inline-block; }
   .upsWeltall__wolkeRechtsObenGross {
      top: -40px;
      right: -32px;
      font-size: 26vw; }
      .upsWeltall__wolkeRechtsObenGross:before {
         content: '\e988'; }
   .upsWeltall__wolkeRechtsObenKlein {
      top: -79px;
      right: -36px;
      font-size: 26vw; }
      .upsWeltall__wolkeRechtsObenKlein:before {
         content: '\e986'; }
   .upsWeltall__mond,
   .upsWeltall__komet1 {
      display: none; }
   .upsWeltall__rakete {
      top: 24%;
      left: 7%;
      font-size: 33vw; }
   .upsWeltall__komet2 {
      font-size: 16vw;
      left: 79%;
      top: 27%; }
   .upsWeltall__komet3 {
      font-size: 14vw;
      left: 85%;
      top: 41%; } }

.controller__ade .esEingeschraenkteSeitenbreite {
   max-width: 850px; }

.modulEinleitung {
   margin: 20px 0 30px; }

.modulInfoWrapper {
   display: -ms-grid;
   display: grid;
   /* autoprefixer: ignore next */
   grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
   .modulInfoWrapper .modulInfo {
      margin-bottom: 25px;
      padding-right: 20px; }
      .modulInfoWrapper .modulInfo div:first-child {
         font-weight: 700; }

.controller__ade.browser__internetexplorer .modulInfoWrapper {
   display: flex;
   flex-wrap: wrap; }
   .controller__ade.browser__internetexplorer .modulInfoWrapper .modulInfo {
      width: 50%; }

.entriesToggle {
   text-decoration: underline;
   color: #1E1E1E; }
   .entriesToggle:hover {
      cursor: pointer; }

.entriesList {
   border: 1px solid #ccc;
   background-color: white;
   padding: 15px;
   margin-top: 15px; }

.menueEntry-wrapper {
   border-bottom: 1px solid #ccc; }
   .menueEntry-wrapper:last-of-type {
      border-bottom: none; }

.menueEntry {
   padding: 5px; }
   .menueEntry-header {
      display: none; }
   .menueEntry-col {
      padding: 5px 10px; }
   .menueEntry-title {
      font-weight: 700; }
   @media screen and (min-width: 576px) {
      .menueEntry-header {
         display: block;
         font-weight: 700;
         background-color: #eee; }
      .menueEntry-col {
         display: inline-block;
         width: 50%; }
      .menueEntry-title {
         display: none; } }

.hinweis {
   padding: 30px 10px 10px; }
   @media screen and (min-width: 576px) {
      .hinweis {
         padding: 30px 10px 20px; } }

.asterix {
   font-weight: 700; }

@media screen and (min-width: 768px) {
   .controller__epl .esEingeschraenkteSeitenbreite {
      width: 96%; } }

.controller__epl .eplDetails .marginTop {
   margin-top: 20px;
   margin-top: 2rem; }

.controller__epl .eplDetails .marginBottom {
   margin-bottom: 20px;
   margin-bottom: 2rem; }

.controller__epl .eplDetails h5 {
   margin: 40px 0 10px;
   margin: 4rem 0 1rem; }

.controller__epl .eplDetails .zeileZweispaltig {
   display: -ms-grid;
   display: grid;
   /* autoprefixer: ignore next */
   grid-gap: 1rem;
   -ms-grid-columns: 1fr 1fr;
   grid-template-columns: 1fr 1fr; }

@media screen and (max-width: 767px) {
   .controller__epl .eplDetails .zeileZweispaltig {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr; } }

.controller__epl .inner {
   min-height: 550px; }

@media screen and (min-width: 768px) {
   .controller__tpl .esEingeschraenkteSeitenbreite {
      width: 96%; } }

.controller__tpl .esPowersuche {
   margin-top: -15px; }

@media screen and (min-width: 768px) and (max-width: 1399.98px) {
   .controller__tpl input[type="search"] {
      width: 200px; }
   .controller__tpl .esPowersuche {
      width: 220px; } }

@media screen and (min-width: 1680px) {
   .controller__tpl input[type="search"] {
      width: 350px; }
   .controller__tpl .esPowersuche {
      width: 370px; } }

.controller__lne .content {
   overflow: auto;
   -webkit-transform: translateZ(0);
           transform: translateZ(0); }
   .controller__lne .content .esFormulargroup__content {
      margin-top: 20px; }

.controller__lne .esFormulargroup--eingerueckt .esFormulargroup__content--withBackground {
   border: none; }

.controller__lne .labelInput {
   display: block;
   font-size: 14px; }

@media screen and (min-width: 768px) and (max-width: 991.98px) {
   .controller__lne .labelInput {
      display: none; } }

@media screen and (min-width: 1400px) {
   .controller__lne .labelInput {
      display: none; } }

@media screen and (min-width: 992px) and (max-width: 1199.98px) {
   .teilnehmerliste--lne > div:nth-child(4n+5) {
      margin-top: 15px; } }

@media screen and (min-width: 0) and (max-width: 575.98px) {
   .teilnehmerliste--lne > div:nth-child(4n+5) {
      margin-top: 15px; } }

@media screen and (min-width: 576px) and (max-width: 767.98px) {
   .teilnehmerliste--lne > div:nth-child(4n) {
      margin-bottom: 30px; } }

@media screen and (min-width: 1200px) and (max-width: 1399.98px) {
   .teilnehmerliste--lne > div:nth-child(4n) {
      margin-bottom: 30px; } }

/* Grundlegende Regeln */
/*
Für eine neue Zeile (Desktop-Layout) wird eine neue Row angelegt. Darüber wird dann eventuelles Top-Margin angelegt.

Durchgehende Hintergrundfarben werden über die Row angelegt,
Horizontal wechselnde über die Cols.

Abschnittsüberschriften sind 2
Kacheln beinhaltet h3 und h4
Überschrfiten einzelner Elemente sind h3

 */
:root {
   /* Schriftgroeßen */
   --pd-fontsize: 14px;
   --pd-abstand: 15px;
   /* Farbplatzhalter ersetzen! 
  
    --pd-bgfarbe1: #e9ebec;
    --pd-bgfarbe2: #f2f2f1;
    --pd-grau3: #6a6a69;

    --pd-buttonfarbe1: #B8C703;
    --pd-buttonfarbe1h: rgb(204, 219, 43);

    --pd-buttonfarbe2: #003875;
    --pd-buttonfarbe2h: rgb(30, 76, 137);

 */
   /* Neue Farbennamen, ersetzen obere dann */
   --pd-grau: #e9ebec;
   --pd-hgrau: #f2f2f1;
   --pd-dgrau: #6a6a69;
   --pd-farbe1: #B8C703;
   --pd-farbe1hell: rgb(204, 219, 43);
   --pd-farbe2: #003875;
   --pd-farbe2hell: rgb(30, 76, 137);
   --pd-linkfarbe: #003875;
   /* Falls die default-Linkfarbe zu hell wäre, kann hier eine andere eingetauscht wäre */ }

.pd * {
   font-family: "Open Sans", sans-serif;
   color: #141414; }

/* Bootstrap Overwrites */
.pd.row {
   display: flex;
   flex-wrap: wrap;
   margin-top: 0;
   margin-right: -7.5px;
   margin-right: -.75rem;
   margin-left: 0; }

@media screen and (min-width: 1400px) {
   .row.pd .col-xxl-3 {
      width: 25%;
      float: left; }
   .row.pd .col-xxl-4 {
      width: 33.33333333%;
      float: left; } }

/* Allgemeines */
.pd {
   width: 100%;
   margin: 0;
   padding: 0;
   box-sizing: border-box; }

section.pd {
   padding: calc(6 * var(--pd-abstand)) calc(2 * var(--pd-abstand)); }

section.pd.pd-hero,
section.pd.pd-margin-2 {
   padding: calc(2 * var(--pd-abstand)) calc(2 * var(--pd-abstand)); }

section.pd.pd-margin-4 {
   padding: calc(4 * var(--pd-abstand)) calc(2 * var(--pd-abstand)); }

section.pd.pd-margin-1 {
   padding: calc(1 * var(--pd-abstand)) calc(2 * var(--pd-abstand)); }

/* für Überschriften, denen direkt eine weitere section folgt */
section.pd.pd-margin-around {
   padding-bottom: calc(2 * var(--pd-abstand)); }

section.pd.pd-margin-around + section.pd {
   padding-top: calc(1 * var(--pd-abstand)); }

/* Headlines */
/* sind im Vergleich zu den üblichen Publish-Seiten größer, d.h. h2 entspricht eher h1 in der Größe */
.pd h1 {
   font-size: calc(var(--pd-fontsize) * 4);
   line-height: 1.1;
   margin-bottom: calc(var(--pd-fontsize) * 2); }

.pd h2 {
   margin-top: 0;
   font-size: calc(var(--pd-fontsize) * 2.5);
   margin-bottom: var(--pd-fontsize);
   line-height: calc(var(--pd-fontsize) * 3); }

.pd h3 {
   font-size: calc(var(--pd-fontsize) * 1.5);
   /*font-weight: bold;*/ }

.pd h4 {
   font-size: calc(var(--pd-fontsize) * 1.1); }

.pd p, .pd li, .pd span, .pd div {
   font-size: var(--pd-fontsize);
   line-height: 1.45; }

/* Overwrites für Standards */
/*.pd p
{
    margin: 0 16px;
}*/
.pd a, .pd a span {
   color: var(--pd-linkfarbe); }

/* Besondere Layouts: 5er-Reihe und 9er-Block */
@media screen and (min-width: 1300px) {
   .row.pd .col-lg-2er {
      width: 20%; } }

@media screen and (min-width: 1500px) {
   .row.pd.neuner .col-lg-4 {
      aspect-ratio: 5/3; } }

.row.pd.doppel .col-xs-12 {
   padding: 0; }
   .row.pd.doppel .col-xs-12 .pd-image {
      min-height: 300px; }
   .row.pd.doppel .col-xs-12 .pd-text {
      padding: calc(2 * var(--pd-abstand)); }

.row.pd.doppel .col-xs-12:nth-of-type(2n) {
   padding-left: calc(2 * var(--pd-abstand)); }
   .row.pd.doppel .col-xs-12:nth-of-type(2n) .pd-text {
      padding-left: 0; }

/* pd-buttons */
.pd a.pd-btn {
   height: 38px;
   padding: 0 14px;
   display: inline-block;
   text-align: center;
   text-decoration: none;
   font-weight: 600;
   line-height: 38px;
   color: #fff;
   background-color: var(--pd-farbe2); }

.pd p a.pd-btn {
   display: block;
   margin: var(--pd-abstand) auto;
   width: -webkit-fit-content;
   width: -moz-fit-content;
   width: fit-content; }

.pd a.pd-btn:focus {
   background-color: var(--pd-farbe2hell); }

.pd a.pd-btn:hover {
   color: #fff;
   text-decoration: none;
   background-color: var(--pd-farbe2hell); }

.pd a.pd-btn:disabled {
   opacity: .5; }

.pd a.pd-btn__prim {
   background-color: var(--pd-farbe1); }

.pd a.pd-btn__prim:focus {
   background-color: var(--pd-farbe1hell); }

.pd a.pd-btn__prim:hover {
   background-color: var(--pd-farbe1hell); }

.pd-kachel .pd-btn-wrapper {
   width: 100%; }

.pd-kachel a.pd-btn {
   margin-top: var(--pd-abstand); }

.pd-kachel p:first-of-type {
   margin-top: var(--pd-abstand); }

.pd-kachel p:last-of-type {
   margin-bottom: var(--pd-abstand); }

.pd-link__down,
.pd-link__right,
.pd-link__left {
   text-decoration: none;
   text-align: right;
   width: 100%; }

.pd-link__down:after,
.pd-link__left:after,
.pd-link__right:after {
   font-family: 'easySoft-Publish' !important;
   content: "\63";
   padding-left: 15px;
   font-size: 80%;
   text-decoration: none !important; }

a.pd-link__down span,
a.pd-link__left span,
a.pd-link__right span {
   display: inline;
   color: inherit;
   text-decoration: none; }

a.pd-link__down span:hover,
a.pd-link__left span:hover,
a.pd-link__right span:hover {
   text-decoration: underline; }

.pd-link__down:after {
   content: "\61"; }

.pd-link__left:after {
   content: "\62"; }

/* pd-text */
.pd-text {
   padding: var(--pd-abstand); }

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

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

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

.pd-text h1, .pd-text h2, .pd-text h3, .pd-text h4 {
   margin-top: 0;
   margin-bottom: var(--pd-abstand); }

.pd-text.pd-stretch {
   height: 100%; }

.pd-text.pd-stretch.pd-textkachel {
   background-attachment: fixed;
   display: flex;
   flex-direction: column;
   justify-content: space-evenly; }

@media screen and (max-width: 1200px) {
   .pd-text.pd-stretch.pd-textkachel {
      padding: calc(2 * var(--pd-abstand)); }
   .pd-text.pd-stretch.pd-textkachel p {
      font-size: 20px; } }

/* Listen */
.pd-text ul, .pd-text ol {
   line-height: 2;
   padding-left: 20px; }

/* obsolet, aber nett zum Aufbewahten
.pd-text ul.pd-list__chevron
{
list-style: none;
}
*/
.pd-text ol {
   list-style: none;
   counter-reset: orderedlist; }

.pd-text ol li:before {
   counter-increment: orderedlist;
   content: counter(orderedlist) ".";
   margin-right: 10px; }

/* Listenstile: Große Zahlen, Karos, Kreise und Dreiecke */
.pd-text ol.pd-list__grossenummern li:before {
   counter-increment: orderedlist;
   content: counter(orderedlist) ".";
   margin-right: 10px;
   font-size: 150%;
   line-height: 10px;
   font-weight: bold;
   color: var(--pd-farbe2); }

.pd-text ol.pd-list__karos li:before {
   counter-increment: orderedlist;
   content: counter(orderedlist);
   display: inline-block;
   margin-right: 10px;
   margin-bottom: 10px;
   padding: 0 10px;
   height: 30px;
   line-height: 30px;
   text-align: center;
   /* oder 14px padding und 40px Höhe */
   font-size: 20px;
   font-weight: bold;
   color: white;
   background-color: var(--pd-farbe2); }

.pd-text ol.pd-list__kreise li:before {
   counter-increment: orderedlist;
   content: counter(orderedlist);
   display: inline-block;
   margin-right: 10px;
   margin-bottom: 10px;
   padding: 0 14px;
   height: 40px;
   line-height: 40px;
   text-align: center;
   border-radius: 50%;
   font-size: 20px;
   font-weight: bold;
   color: white;
   background-color: var(--pd-farbe2); }

/* obsolet, aber nett zum Aufbewahten
.pd-text ul.pd-list__chevron li:before
{
  font-family: "easySoft-Publish";
  display: inline-block;
  content: "\63 ";
  margin-right: 10px;
  font-weight: 900;
  color: var(--pd-farbe2);
}
*/
/*  pd-image  */
.pd-image {
   width: 100%;
   padding: 0 var(--pd-abstand) var(--pd-abstand) var(--pd-abstand);
   box-sizing: border-box; }

.pd-image img {
   width: calc(100% - (2 * var(--pd-abstand)));
   height: auto; }

/* Bilder im Hintergrund - wird an row oder col vergeben */
.pd-image__bg {
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover; }

.pd-image__parallax {
   background-attachment: fixed; }

.pd-image.pd-stretch {
   height: 100%; }

/* pd-kachel */
.pd-kachel {
   padding: calc(2 * var(--pd-abstand));
   margin-bottom: var(--pd-abstand);
   background-color: #fff;
   border: 1px solid #dbdbdb;
   display: flex;
   justify-content: center;
   flex-direction: column;
   align-items: center;
   text-align: left;
   line-height: 1.5; }

/* Variante: Kacheln für Personen haben immer zentrierte Texte */
.pd-kachel__rund,
.pd-kachel__klein {
   text-align: center; }

.pd-kachel__klein {
   padding: 0 0 calc(2 * var(--pd-abstand)) 0;
   background-color: var(--pd-hgrau);
   border: none; }

/* Überschriften */
.pd-kachel h3, .pd-kachel h4 {
   width: 100%;
   margin-top: 0; }

.pd-kachel__rund h3 {
   margin-top: var(--pd-abstand); }

.pd-kachel h3, .pd-kachel h4 {
   margin-bottom: calc(var(--pd-abstand) / 2); }

.pd-kachel h4 {
   margin: 0;
   margin-bottom: var(--pd-abstand);
   font-weight: 300;
   color: #777; }

.pd-kachel.pd-kachel__klein h4,
.pd-kachel.pd-kachel__rund h4 {
   margin: 0; }

.pd .pd-kachel__klein h3 {
   font-size: calc(var(--pd-fontsize) * 1.1);
   font-weight: bold;
   padding: calc(1 * var(--pd-abstand)); }

.pd .pd-kachel__klein h4 {
   font-size: var(--pd-fontsize);
   padding: 0 var(--pd-abstand) var(--pd-abstand); }

/* Bilder in Kacheln */
.pd-kachel img {
   width: 100%; }

.pd-kachel__rund img {
   border-radius: 50%;
   margin: 0 auto;
   width: calc(100% - (4 * var(--pd-abstand)));
   max-width: calc(100% - (2 * var(--pd-abstand))); }

.pd-kachel__rund img.pd-img__s {
   width: calc(8 * var(--pd-abstand)); }

.pd-kachel__rund img.pd-img__m {
   width: calc(12 * var(--pd-abstand)); }

.pd-kachel__rund img.pd-img__l {
   width: calc(16 * var(--pd-abstand)); }

.pd-kachel__klein img {
   width: 100%; }

/* Alle gleiche Höhe bzw. mobile Ausnahmen */
.pd-kachel.pd-stretch {
   height: 100%;
   justify-content: space-between; }

/* Mehrzeiliges Layout */
.row.pd.kacheln {
   row-gap: calc(2 * var(--pd-abstand)); }

/* Farbvariationen */
.pd-kachel.pd-kachel__farbe1,
.pd-kachel.pd-kachel__farbe2,
.pd-kachel.pd-kachel__grau,
.pd-kachel.pd-kachel__hgrau,
.pd-kachel.pd-kachel__dgrau {
   border: none; }

.pd-kachel.pd-kachel__farbe1 {
   background-color: var(--pd-farbe1); }

.pd-kachel.pd-kachel__farbe2 {
   background-color: var(--pd-farbe2); }

.pd-kachel.pd-kachel__dgrau {
   background-color: var(--pd-dgrau); }

.pd-kachel.pd-kachel__hgrau {
   background-color: var(--pd-hgrau); }

.pd-kachel.pd-kachel__grau {
   background-color: var(--pd-grau); }

/* Overwrites */
.pd .pd-kachel p {
   margin-right: 0;
   margin-left: 0; }

.pd-kachel.pd-kachel__farbe2 a.pd-btn {
   background-color: var(--pd-farbe1); }

.pd-kachel.pd-kachel__farbe2 a.pd-btn:focus {
   background-color: var(--pd-farbe1hell); }

.pd-kachel.pd-kachel__farbe2 a.pd-btn:hover {
   background-color: var(--pd-farbe1hell); }

.pd-kachel.pd-kachel__farbe1 a.pd-btn {
   background-color: var(--pd-farbe2); }

.pd-kachel.pd-kachel__farbe1 a.pd-btn:focus {
   background-color: var(--pd-farbe2hell); }

.pd-kachel.pd-kachel__farbe1 a.pd-btn:hover {
   background-color: var(--pd-farbe2hell); }

/*
.pd-kachel.pd-kachel__farbe1 p,
.pd-kachel.pd-kachel__farbe1 h3,
.pd-kachel.pd-kachel__farbe1 h4,
.pd-kachel.pd-kachel__farbe2 p,
.pd-kachel.pd-kachel__farbe2 h3,
.pd-kachel.pd-kachel__farbe2 h4
{
  color: white;
}
*/
/* pd-accordeon */
.pd-accordeon {
   max-width: 800px;
   margin: 0 auto;
   /*background-color: #fff;*/
   padding: var(--pd-abstand); }

.pd-accordeon input {
   display: none; }

.pd-accordeon .pd-frage {
   display: flex;
   cursor: pointer; }

.pd-accordeon article label:before {
   content: "\f067";
   padding: 12px 15px;
   font-size: 14px;
   font-family: FontAwesome;
   font-weight: 200;
   width: 50px;
   margin-right: 0;
   height: 42px;
   color: #141414;
   text-align: center; }

.pd-accordeon label h3 {
   font-weight: bold; }

.pd-accordeon label h3, .pd-accordeon article label:before {
   display: inline-block;
   border: 1px solid rgba(0, 0, 0, 0.3);
   background-color: #fff;
   margin-top: 0;
   box-sizing: border-box; }

.pd-accordeon label div {
   padding: 0 25px;
   line-height: 40px;
   flex: 1 1 100%; }

.pd-accordeon label div h3 {
   width: 100%;
   margin: 0;
   padding: 7px 25px;
   line-height: 24px;
   font-size: 16px; }

.pd-accordeon article label div .pd-antwort {
   padding: o;
   background-color: var(--pd-hgrau);
   margin: calc(var(--pd-abstand) / 2) 1px;
   font-weight: normal;
   line-height: 1.5;
   max-height: 0;
   overflow-y: hidden;
   transition-duration: .3s; }

.pd-accordeon.pd-accordeon__white article label div .pd-antwort {
   background-color: #fff; }

.pd-accordeon article input:checked + label div .pd-antwort {
   max-height: 800px; }

.pd-accordeon article label div .pd-antwort p {
   padding: var(--pd-abstand); }

.pd-accordeon article {
   margin-bottom: 7px; }

.pd-accordeon input + * + .pd-antwort {
   overflow-y: hidden;
   height: auto;
   max-height: 0;
   padding: 0 10px;
   /*border: 1px solid white;*/
   transition-duration: .2s; }

.pd-accordeon input:checked + * + .pd-antwort {
   max-height: 0;
   padding: 15px 10px;
   /*border: 1px solid #dbdbdb;*/
   max-height: 1000px;
   transition-duration: 0;
   background-color: #fafafa; }

.pd-accordeon input:checked + .pd-frage {
   /*background-color: #fafafa;*/ }

.pd-accordeon input:checked + .pd-frage:before {
   background-color: var(--pd-farbe2);
   color: white;
   content: "\f068";
   padding-top: 11px; }

/* pd-hero */
.pd-hero .pd-text h1 {
   /*font-size: 52px;
    line-height: 60px;
    margin-bottom: 30px;*/ }

.pd-hero .pd-text p {
   margin-bottom: 30px;
   margin-left: 0; }

.pd-hero {
   /*min-height: 70vh;*/ }

.pd-hero .pd-text {
   margin-top: 60px;
   margin-bottom: 60px;
   -webkit-backdrop-filter: blur(10px);
           backdrop-filter: blur(10px);
   padding: 30px 30px 45px; }

.pd-hero__white .pd-text {
   background-color: rgba(255, 255, 255, 0.7); }

.pd-hero__dark .pd-text {
   background-color: rgba(0, 0, 0, 0.6); }

.pd-hero__dark .pd-text * {
   color: #fff; }

.pd-hero .pd-text h1 {
   margin: 0 0 15px; }

/*#############################################

Zentrierung (s.u.) stattdessen über eine pd-hero-left/right/center Klasse!!

*/
.pd-hero .pd-btn-wrapper {
   display: flex; }

.pd-hero .pd-btn-wrapper__right {
   display: flex;
   justify-content: flex-end; }

.pd-hero .pd-btn-wrapper__right .pd-btn {
   margin-left: 15px; }

/* pd-trenner */
/* drei Typen:
Abstände bzw. Trennlinien volle Breite (trenner-0 bis 3),
Trennlinien halbe Breite (pd-trenner),
seitliche Trennlinien */
.pd-trenner-0,
.pd-trenner-1,
.pd-trenner-2,
.pd-trenner-3 {
   box-sizing: border-box;
   width: 100%;
   margin: 0;
   padding: 0;
   height: var(--pd-abstand);
   min-height: var(--pd-abstand); }

.pd-trenner-halb {
   margin: var(--pd-abstand) auto;
   width: 50%;
   height: 3px;
   min-height: 3px;
   background-color: var(--pd-farbe1); }

.pd-trenner-0 {
   height: 3px;
   min-height: 3px; }

.pd-trenner-2 {
   height: calc(2 * var(--pd-abstand));
   min-height: calc(2 * var(--pd-abstand)); }

.pd-trenner-3 {
   height: calc(3 * var(--pd-abstand));
   min-height: calc(3 * var(--pd-abstand)); }

.pd-trenner__farbe1 {
   background-color: var(--pd-farbe1); }

.pd-trenner__farbe2 {
   background-color: var(--pd-farbe2); }

.pd-trenner__links {
   width: 30%;
   margin-left: 0;
   height: calc(var(--pd-abstand) * .5);
   min-height: calc(var(--pd-abstand) * .5);
   background-color: var(--pd-farbe1);
   margin-top: 45px;
   margin-bottom: 45px; }

.pd-trenner__links:after {
   content: " ";
   height: calc(var(--pd-abstand) * .5);
   min-height: calc(var(--pd-abstand) * .5);
   background-color: var(--pd-farbe2);
   width: 60%;
   display: block;
   position: relative;
   top: calc(var(--pd-abstand) * 1.5); }

.pd-trenner__rechts {
   width: 30%;
   margin-right: 0;
   height: calc(var(--pd-abstand) * .5);
   min-height: calc(var(--pd-abstand) * .5);
   background-color: var(--pd-farbe2);
   margin-top: 45px;
   margin-bottom: 45px;
   position: relative;
   right: -70%; }

.pd-trenner__rechts:before {
   content: " ";
   height: calc(var(--pd-abstand) * .5);
   min-height: calc(var(--pd-abstand) * .5);
   background-color: var(--pd-farbe1);
   width: 60%;
   display: block;
   position: relative;
   top: calc(var(--pd-abstand) * -1.5);
   margin-left: auto; }

.pd-karte {
   border: 1px solid #aaa;
   padding: 30px;
   background-color: #fff;
   height: 100%; }

.pd-kartewrapper {
   height: 100%;
   position: relative; }
   .pd-kartewrapper .pd-map-blocker {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #fafafa;
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }

.pd-kartewrapper iframe {
   min-height: 300px; }

.pd-kontakt span,
.pd-kontakt a,
.pd-kontakt .pd-link-right {
   display: block;
   text-align: left; }

.pd-kontakt span.pd-kontakt__label {
   text-transform: uppercase;
   font-size: 70%; }

.pd-kontakt {
   margin-bottom: calc(var(--pd-abstand)); }

/* Muss immer zuletzt kommen, da overwrite: */
/* Responsivität für kleine Bildschirme */
@media screen and (max-width: 767px) {
   .row.pd.doppel .col-xs-12:nth-of-type(2n) {
      padding-left: 0; }
      .row.pd.doppel .col-xs-12:nth-of-type(2n) .pd-text {
         padding-left: calc(2 * var(--pd-abstand)); }
   .pd-accordeon {
      padding: 0; }
      .pd-accordeon article label:before {
         margin-right: var(--pd-abstand); }
      .pd-accordeon label div {
         padding: 0; } }

/* Responsivität für sehr kleine Bildschirme */
@media screen and (max-width: 575px) {
   .pd h1 {
      font-size: calc(var(--pd-fontsize) * 3); }
   .pd h2 {
      font-size: calc(var(--pd-fontsize) * 1.8); }
   .pd h3 {
      font-size: calc(var(--pd-fontsize) * 1.3); }
   .pd .pd-accordeon article label:before {
      display: none !important; }
   .pd .pd-accordeon article input:checked + label h3 {
      background-color: var(--pd-farbe2);
      color: white; }
   .row.pd.pd-hero {
      padding-left: 0; }
   section.row.pd {
      padding: calc(2 * var(--pd-abstand)) 0 calc(2 * var(--pd-abstand)) 0; } }

/* ########################################################

                Overwrites: Farben, etc.

*/
.pd-farbe1 {
   color: var(--pd-farbe1) !important; }

.pd-farbe2 {
   color: var(--pd-farbe2) !important; }

.pd-dgrau {
   color: var(--pd-dgrau) !important; }

.pd-weiss {
   color: white !important; }

.pd-schwarz {
   color: #222 !important; }

.pd-bgfarbe1 {
   background-color: var(--pd-farbe1) !important; }

.pd-bgfarbe2 {
   background-color: var(--pd-farbe2) !important; }

.pd-bggrau {
   background-color: var(--pd-grau) !important; }

.pd-bghgrau {
   background-color: var(--pd-hgrau) !important; }

.pd-bgdgrau {
   background-color: var(--pd-dgrau) !important; }

/* Abstände, Größen, etc. */
.pd-pt-0 {
   padding-top: 0 !important; }

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

.pd-pl-0 {
   padding-left: 0 !important; }

.pd-pr-0 {
   padding-right: 0 !important; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZvcmxhZ2UuY3NzIiwiPG5vIHNvdXJjZT4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCLHNGQUFzRjtBQUN0RiwyQ0FBMkM7QUFDM0M7R0FDRyx5QkFBeUI7R0FDekIsc25CQUFzbkIsRUFBRTs7QUFFM25CO0dBQ0cseUJBQXlCO0dBQ3pCLGtsQkFBa2xCO0dBQ2xsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyx5QkFBeUI7R0FDekIsa29CQUFrb0I7R0FDbG9CLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLHlCQUF5QjtHQUN6QiwwbUJBQTBtQjtHQUMxbUIsbUJBQW1CLEVBQUU7O0FBRXhCLDhEQUE4RDtBQUM5RDtHQUNHLGtCQUFrQjtHQUNsQiwyQ0FBMkM7R0FDM0MsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRywyQ0FBMkMsRUFBRTs7QUFFaEQsOEJBQThCO0FBQzlCO0dBQ0csc0JBQXNCO0dBQ3RCLDBCQUEwQjtHQUMxQixrQkFBa0I7R0FDbEIsZ0JBQWdCO0dBQ2hCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLHNCQUFzQjtHQUN0QiwwQkFBMEI7R0FDMUIsa0JBQWtCO0dBQ2xCLGdCQUFnQjtHQUNoQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCOztHQUVHLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLDRCQUE0QixFQUFFOztBQUVqQztHQUNHLDRCQUE0QixFQUFFOztBQUVqQztHQUNHLDRCQUE0QixFQUFFOztBQUVqQztHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxjQUFjO0dBQ2QsZ0JBQWdCLEVBQUU7R0FDbEI7TUFDRyxvQkFBb0IsRUFBRTs7QUFFNUI7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csYUFBYSxFQUFFOztBQUVsQjtHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxlQUFlO0dBQ2YsYUFBYSxFQUFFOztBQUVsQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyxhQUFhO0dBQ2IsZUFBZTtHQUNmLFlBQVk7R0FDWixhQUFhO0dBQ2IsVUFBVTtHQUNWLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLDBCQUFrQjtNQUFsQix1QkFBa0I7T0FBbEIsc0JBQWtCO1dBQWxCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLHNCQUFjO09BQWQsa0JBQWM7V0FBZCxjQUFjLEVBQUU7O0FBRW5CO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csY0FBYyxFQUFFOztBQUVuQjtHQUNHLG1CQUFtQixFQUFFOztBQUV4Qjs7O0dBR0csc0JBQXNCO0dBQ3RCLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxjQUFjO0dBQ2QsZ0JBQWdCO0dBQ2hCLHdCQUF3QjtHQUN4QixPQUFPO0dBQ1AsVUFBVTtHQUNWLFFBQVE7R0FDUixTQUFTO0dBQ1QsZUFBZSxFQUFFOztBQUVwQixZQUFZO0FBQ1o7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0IseUJBQXlCO0FBQ3pCO0dBQ0csa0NBQTBCO1dBQTFCLDBCQUEwQixFQUFFOztBQUUvQiw2QkFBNkI7QUFDN0I7R0FDRywyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRyxrQkFBa0I7R0FDbEIsZ0JBQWdCO0dBQ2hCLFdBQVc7R0FDWCxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxjQUFjO0dBQ2QsV0FBVyxFQUFFO0dBQ2I7TUFDRyxzQkFBc0I7TUFDdEIsNENBQW9DO2NBQXBDLG9DQUFvQyxFQUFFOztBQUU1QztHQUNHO01BQ0csaUJBQWlCO01BQ2pCLFdBQVcsRUFBRTtHQUNoQjtNQUNHLG9CQUFvQjtNQUNwQixXQUFXLEVBQUUsRUFBRTs7QUFOckI7R0FDRztNQUNHLGlCQUFpQjtNQUNqQixXQUFXLEVBQUU7R0FDaEI7TUFDRyxvQkFBb0I7TUFDcEIsV0FBVyxFQUFFLEVBQUU7O0FBRXJCLFlBQVk7QUFDWjtHQUNHLGdCQUFnQixFQUFFOztBQUVyQix1QkFBdUI7QUFDdkI7R0FDRyx1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLGlCQUFpQjtHQUNqQixlQUFlLEVBQUU7R0FDakI7TUFDRyxhQUFhO01BQ2Isa0JBQWtCO01BQ2xCLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csa0JBQWtCLEVBQUU7R0FDdkI7TUFDRywyQkFBMkI7TUFDM0IsZUFBZTtNQUNmLHFCQUFxQixFQUFFOztBQUU3Qix1QkFBdUI7QUFDdkI7R0FDRztNQUNHLHlCQUF5QixFQUFFLEVBQUU7O0FBRW5DLDhEQUE4RDtBQUM5RDtHQUNHLGNBQWM7R0FDZCx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEIsc0JBQXNCO0FBQ3RCO0dBQ0csMEJBQXVCO01BQXZCLHVCQUF1QjtHQUN2QixhQUFhLEVBQUU7O0FBRWxCLDhCQUE4QjtBQUM5QjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQiw0RUFBNEU7QUFDNUU7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRywrQ0FBK0M7R0FDL0Msb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csNEJBQTRCLEVBQUU7O0FBRWpDO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csZ0JBQWdCO0dBQ2hCLDBCQUFrQjtNQUFsQix1QkFBa0I7T0FBbEIsc0JBQWtCO1dBQWxCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLGdCQUFnQjtHQUFoQixnQkFBZ0I7R0FDaEIsa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGdCQUFnQjtHQUFoQixnQkFBZ0I7R0FDaEIsa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQWtCO0dBQ2xCLG9CQUFvQjtHQUNwQixpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRztNQUNHLGtCQUFjO01BQWQsY0FBYztNQUNkLGVBQWU7TUFDZiw2QkFBa0M7TUFBbEMsa0NBQWtDO01BQ2xDLGFBQWEsRUFBRSxFQUFFOztBQUV2QiwwQkFBMEI7QUFDMUI7R0FDRyxrQkFBb0I7R0FBcEIsb0JBQW9CLEVBQUU7O0FBRXpCOzs7O0dBSUcsYUFBYSxFQUFFOztBQUVsQjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLGFBQWEsRUFBRTs7QUFFbEIsb0lBQW9JO0FBQ3BJO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0cscUJBQXFCLEVBQUU7O0FBRTFCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csWUFBWTtHQUNaLGlCQUFpQjtHQUNqQixjQUFjO0dBQ2Qsd0JBQXdCLEVBQUU7R0FDMUI7TUFDRztTQUNHLG9CQUFvQixFQUFFLEVBQUU7O0FBRWpDO0dBQ0csWUFBWTtHQUNaLGdCQUFnQjtHQUNoQix1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxZQUFZO0dBQ1osa0JBQWtCO0dBQ2xCLGdCQUFnQjtHQUNoQix1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRztNQUNHLGtCQUFrQjtNQUNsQixXQUFXLEVBQUUsRUFBRTs7QUFFckI7R0FDRztNQUNHLG1CQUFtQjtNQUNuQixvQkFBb0I7TUFDcEIsWUFBWTtNQUNaLHVCQUF1QixFQUFFLEVBQUU7O0FBRWpDO0dBQ0csVUFBVSxFQUFFOztBQUVmO0dBQ0csa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixhQUFhLEVBQUU7O0FBRWxCLGlJQUFpSTtBQUNqSTtHQUNHO01BQ0csb0JBQW9CLEVBQUU7R0FDekI7TUFDRyxtQkFBbUIsRUFBRSxFQUFFOztBQUU3QjtHQUNHLCtCQUErQjtHQUMvQiw4QkFBOEIsRUFBRTtHQUNoQztNQUNHLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csbUJBQW1CLEVBQUU7O0FBRTNCO0dBQ0c7TUFDRywrQkFBK0IsRUFBRSxFQUFFOztBQUV6Qzs7R0FFRyxnQkFBZ0I7R0FDaEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csZUFBZTtHQUNmLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLHlCQUF5QixFQUFFOztBQUU5QjtHQUNHLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLHFCQUFxQixFQUFFOztBQUUxQjtHQUNHLGdCQUFnQixFQUFFOztBQUVyQiwwRkFBMEY7QUFDMUY7R0FDRyxjQUFjO0dBQ2Qsa0JBQWtCO0dBQ2xCLFlBQVk7R0FDWixrQkFBa0IsRUFBRTtHQUNwQjtNQUNHLFlBQVksRUFBRTs7QUFFcEI7R0FDRztNQUNHLCtCQUErQixFQUFFO01BQ2pDO1NBQ0csWUFBWTtTQUNaLGVBQWU7U0FDZixvQkFBb0IsRUFBRSxFQUFFOztBQUVqQztHQUNHO01BQ0csaUJBQWlCO01BQ2pCLHVCQUF1QjtNQUN2QixpQkFBaUI7TUFDakIsa0JBQWtCLEVBQUUsRUFBRTs7QUFFNUI7R0FDRyxhQUFhO0dBQ2IsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csY0FBYztHQUNkLHVCQUF1QjtHQUN2QiwrQkFBK0I7R0FDL0Isb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0c7TUFDRyxvQkFBb0I7TUFDcEIsd0JBQXdCLEVBQUUsRUFBRTs7QUFFbEMsdUNBQXVDO0FBQ3ZDO0dBQ0csY0FBYztHQUNkLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLHNCQUFzQjtHQUN0QixrQkFBa0I7R0FDbEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0c7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHO01BQ0cseUJBQXlCLEVBQUU7R0FDOUI7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHO01BQ0csMkJBQTJCLEVBQUU7R0FDaEM7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHO01BQ0csMkJBQTJCLEVBQUU7R0FDaEM7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHO01BQ0csd0JBQXdCLEVBQUU7R0FDN0I7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHLHVCQUF1QjtHQUN2QixzQkFBYztPQUFkLGtCQUFjO1dBQWQsY0FBYztHQUNkLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLGNBQWM7R0FDZCxnQkFBZ0I7R0FDaEIsMEJBQTBCO0dBQzFCLGVBQWUsRUFBRTtHQUNqQjtNQUNHLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csYUFBYSxFQUFFO0dBQ2xCO01BQ0csbUJBQW1CLEVBQUU7R0FDeEI7TUFDRyxlQUFlO01BQ2YsMEJBQTBCO01BQzFCLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csYUFBYTtNQUNiLHdDQUF3QztNQUN4QyxvQ0FBb0MsRUFBRTtHQUN6QztNQUNHLGlEQUFpRDtNQUNqRCxtQ0FBbUMsRUFBRTtHQUN4QztNQUNHLDJCQUEyQjtNQUMzQixvQkFBb0IsRUFBRTs7QUFFNUI7R0FDRywwQkFBMEI7R0FDMUIsb0JBQW9CO0dBQ3BCLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxvQkFBb0I7R0FDcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csZUFBZSxFQUFFOztBQUVwQix3RkFBd0Y7QUFDeEYsbUdBQW1HO0FBQ25HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkcscUJBQXFCLEVBQUU7O0FBRTFCO0dBQ0csV0FBVyxFQUFFOztBQUVoQjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLHVDQUF1QyxFQUFFOztBQUU1Qzs7OztHQUlHLGlCQUFpQixFQUFFOztBQUV0Qiw2SUFBNkk7QUFDN0k7R0FDRyw4QkFBOEIsRUFBRTtHQUNoQztNQUNHLDBCQUEwQixFQUFFOztBQUVsQztHQUNHLGlCQUFpQixFQUFFOztBQUV0Qjs7R0FFRyxnQ0FBZ0MsRUFBRTs7QUFFckM7R0FDRyxnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxpQkFBaUI7R0FDakIsZ0NBQWdDO0dBQ2hDLGdCQUFnQjtHQUNoQixpQkFBaUI7R0FDakIsZUFBZTtHQUNmLGlCQUFpQixFQUFFOztBQUV0Qjs7O0dBR0cscUNBQXFDLEVBQUU7O0FBRTFDOzs7R0FHRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxpQkFBaUI7R0FDakIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCOzs7Ozs7O0dBT0csaUJBQWlCLEVBQUU7O0FBRXRCOzs7OztHQUtHLHNCQUFzQixFQUFFOztBQUUzQjs7OztHQUlHLDhDQUE4QyxFQUFFOztBQUVuRDtHQUNHLFlBQVksRUFBRTs7QUFFakI7OztHQUdHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxZQUFZO0dBQ1osc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0cscUJBQXFCLEVBQUU7O0FBRTFCO0dBQ0csY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csbUJBQW1CO01BQ25CLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHLGNBQWM7R0FDZCxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRywwQkFBMEIsRUFBRTtHQUM1QjtNQUNHLDBCQUEwQjtNQUMxQixzQkFBc0IsRUFBRTtNQUN4QjtTQUNHLGdDQUFnQztTQUNoQyw4QkFBOEIsRUFBRTs7QUFFekM7R0FDRyxvQ0FBb0M7R0FDcEMsaUNBQWlDLEVBQUU7R0FDbkM7O01BRUcsb0NBQW9DLEVBQUU7R0FDekM7TUFDRywwQ0FBMEMsRUFBRTtHQUMvQztNQUNHLDBDQUEwQyxFQUFFO0dBQy9DO01BQ0csMENBQTBDLEVBQUU7R0FDL0M7TUFDRyw0QkFBNEIsRUFBRTtHQUNqQztNQUNHLGVBQWUsRUFBRTs7QUFFdkI7R0FDRywyQkFBMkI7R0FDM0IsZUFBZTtHQUNmLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLFlBQVksRUFBRTtHQUNkO01BQ0csa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixlQUFlLEVBQUU7R0FDcEI7TUFDRyxrQkFBa0IsRUFBRTs7QUFFMUI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxpQkFBaUI7R0FDakIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csY0FBYyxFQUFFO0dBQ2hCO01BQ0c7U0FDRyxxQkFBcUIsRUFBRSxFQUFFOztBQUVsQztHQUNHLFdBQVcsRUFBRTtHQUNiOztNQUVHLHNCQUFzQjtNQUN0QixhQUFhLEVBQUU7R0FDbEI7TUFDRyxZQUFZLEVBQUU7R0FDakI7O01BRUcsY0FBYyxFQUFFO01BQ2hCO1NBQ0c7O1lBRUcscUJBQXFCLEVBQUUsRUFBRTs7QUFFckM7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csZ0JBQWdCLEVBQUU7O0FBRXJCOzs7R0FHRyxnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRywrQkFBK0I7R0FDL0IsMEJBQTBCO0dBQzFCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLGVBQWU7R0FDZixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRywyQ0FBMkMsRUFBRTs7QUFFaEQ7R0FDRywyQ0FBMkMsRUFBRTs7QUFFaEQ7O0dBRUcsWUFBWSxFQUFFOztBQUVqQjtHQUNHLHdCQUF3QixFQUFFOztBQUU3Qjs7R0FFRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxtQkFBbUI7R0FDbkIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0c7TUFDRyx1QkFBdUIsRUFBRTtNQUN6QjtTQUNHLGdCQUFnQjtTQUNoQixlQUFlLEVBQUUsRUFBRTs7QUFFNUI7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRztNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLFlBQVk7TUFDWixhQUFhO01BQ2IsbUJBQW1CLEVBQUU7TUFDckI7U0FDRyxxQ0FBcUMsRUFBRTtNQUMxQztTQUNHLHFDQUFxQyxFQUFFO01BQzFDO1NBQ0cscUNBQXFDLEVBQUU7R0FDN0M7TUFDRyxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLHNCQUFzQixFQUFFLEVBQUU7O0FBRWhDO0dBQ0csZ0NBQWdDLEVBQUU7R0FDbEM7TUFDRyxtQkFBbUIsRUFBRTtHQUN4QjtNQUNHLHVCQUF1QixFQUFFO0dBQzVCO01BQ0csY0FBYyxFQUFFO0dBQ25CO01BQ0csYUFBYSxFQUFFO0dBQ2xCO01BQ0csMEJBQTBCLEVBQUU7O0FBRWxDO0dBQ0csZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixrQkFBb0I7R0FBcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCOztHQUVHLHNCQUFzQjtHQUN0QiwwQkFBMEI7R0FDMUIsZ0JBQWtCO0dBQWxCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0cscUJBQXFCO01BQ3JCLGFBQWEsRUFBRTs7QUFFckI7R0FDRyxpQkFBaUI7R0FDakIsd0JBQXdCLEVBQUU7O0FBRTdCO0dBQ0csdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csWUFBWSxFQUFFOztBQUVqQjtHQUNHLGtCQUFrQjtHQUNsQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxrQkFBa0I7R0FDbEIsa0JBQWtCO0dBQ2xCLHFCQUFxQixFQUFFOztBQUUxQjtHQUNHLGtCQUFrQixFQUFFOztBQUV2Qjs7R0FFRyxpQkFBaUI7R0FDakIsa0JBQWtCO0dBQ2xCLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGVBQWU7R0FDZixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxjQUFjO0dBQ2QsaUJBQWlCLEVBQUU7R0FDbkI7TUFDRyxjQUFjLEVBQUU7O0FBRXRCO0dBQ0csY0FBYztHQUNkLG9CQUFvQjtHQUNwQiwrQkFBK0IsRUFBRTs7QUFFcEM7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxpQ0FBaUMsRUFBRTs7QUFFdEM7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFvQjtHQUFwQixvQkFBb0I7R0FDcEIsZUFBZTtHQUNmLG1CQUFtQixFQUFFO0dBQ3JCO01BQ0csY0FBYztNQUNkLGlCQUFpQjtNQUNqQixtQkFBbUI7TUFDbkIsbUJBQW1CO01BQ25CLGtCQUFrQjtNQUNsQixpQkFBaUI7TUFDakIsb0JBQW9CLEVBQUU7TUFDdEI7U0FDRyxlQUFlO1NBQ2YsbUJBQW1CO1NBQ25CLFlBQVk7U0FDWixVQUFVO1NBQ1Ysa0JBQWtCLEVBQUU7TUFDdkI7U0FDRyxZQUFZO1NBQ1osbUJBQW1CO1NBQ25CLGNBQWM7U0FDZCxtQkFBbUI7U0FDbkIsV0FBVztTQUNYLFlBQVk7U0FDWixrQkFBa0I7U0FDbEIsd0JBQXdCLEVBQUU7R0FDaEM7TUFDRyxnQkFBbUI7TUFBbkIsbUJBQW1CO01BQ25CLGlCQUFpQjtNQUNqQixtQkFBbUI7TUFDbkIsbUJBQW1CO01BQ25CLGtCQUFrQjtNQUNsQixpQkFBaUI7TUFDakIsb0JBQW9CLEVBQUU7TUFDdEI7U0FDRyxlQUFlO1NBQ2YsbUJBQW1CO1NBQ25CLFlBQVk7U0FDWixVQUFVO1NBQ1Ysa0JBQWtCLEVBQUU7TUFDdkI7U0FDRyxZQUFZO1NBQ1osbUJBQW1CO1NBQ25CLGNBQWM7U0FDZCxtQkFBbUI7U0FDbkIsV0FBVztTQUNYLFlBQVk7U0FDWixrQkFBa0I7U0FDbEIsd0JBQXdCLEVBQUU7O0FBRW5DO0dBQ0csb0JBQXNCO0dBQXRCLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsZUFBZSxFQUFFOztBQUVwQjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQW9CO0dBQXBCLG9CQUFvQjtHQUNwQixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGVBQWU7R0FDZixxQkFBcUIsRUFBRTtHQUN2QjtNQUNHLDBCQUEwQjtNQUMxQixtQkFBbUIsRUFBRTtHQUN4QjtNQUNHLGlDQUFpQyxFQUFFOztBQUV6QztHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLGNBQWM7R0FDZCxnQkFBa0I7R0FBbEIsa0JBQWtCLEVBQUU7R0FDcEI7TUFDRyxvQkFBb0IsRUFBRTtNQUN0QjtTQUNHLGtCQUFrQixFQUFFO1NBQ3BCO1lBQ0csZUFBZSxFQUFFOztBQUU3QjtHQUNHLGNBQWMsRUFBRTtHQUNoQjtNQUNHO1NBQ0csZUFBZTtTQUNmLGlCQUFpQjtTQUNqQixhQUFhO1NBQ2Isa0JBQWtCO1NBQ2xCLGNBQWM7U0FDZCxxQkFBa0I7WUFBbEIsa0JBQWtCO1NBQ2xCLGlCQUFpQjtTQUNqQixtQkFBbUIsRUFBRSxFQUFFOztBQUVoQztHQUNHLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csbUJBQXFCO01BQXJCLHFCQUFxQjtNQUNyQixlQUFlO01BQ2YsWUFBWTtNQUNaLGdCQUFnQjtNQUNoQixjQUFjO01BQ2Qsa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxjQUFjO01BQ2QsdUJBQXVCO01BQ3ZCLDZEQUE2RDtNQUM3RCxzQkFBc0I7TUFDdEIsNEJBQTRCO01BQzVCLGVBQWU7TUFDZixjQUFjO01BQWQsY0FBYyxFQUFFO0dBQ25CO01BQ0csaUJBQWlCO01BQ2pCLGNBQWM7TUFDZCx1QkFBdUI7TUFDdkIsK0JBQStCO01BQy9CLDBCQUEwQixFQUFFO0dBQy9CO01BQ0csb0JBQXdCO01BQXhCLHdCQUF3QjtNQUN4Qix5QkFBeUI7TUFDekIsMEJBQTBCO01BQzFCLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsV0FBVyxFQUFFO01BQ2I7U0FDRyxZQUFZO1NBQ1osc0JBQXNCO1NBQ3RCLHNCQUFzQjtTQUN0QixrQkFBa0I7U0FDbEIsWUFBWSxFQUFFO0dBQ3BCO01BQ0csYUFBYTtNQUNiLG1CQUFtQixFQUFFO01BQ3JCO1NBQ0csYUFBYSxFQUFFO0dBQ3JCO01BQ0csbUJBQW1CO01BQ25CLFVBQVU7TUFDVixTQUFTLEVBQUU7TUFDWDtTQUNHLGlCQUFpQjtTQUNqQixtQkFBbUI7U0FDbkIsbUJBQW1CO1NBQ25CLGtCQUFrQjtTQUNsQixrQkFBa0I7U0FDbEIsb0JBQW9CO1NBQ3BCLDZCQUE2QjtTQUM3QixtQkFBbUIsRUFBRTtTQUNyQjtZQUNHLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFVBQVU7WUFDVixrQkFBa0IsRUFBRTtTQUN2QjtZQUNHLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixpQ0FBaUMsRUFBRTtHQUM1QztNQUNHLGNBQWdCO01BQWhCLGdCQUFnQixFQUFFO01BQ2xCO1NBQ0csa0JBQWtCO1NBQ2xCLGlCQUFpQjtTQUNqQixpQkFBaUI7U0FDakIsbUJBQW1CO1NBQ25CLG1CQUFtQjtTQUNuQixrQkFBa0I7U0FDbEIsaUJBQWlCO1NBQ2pCLG9CQUFvQixFQUFFO1NBQ3RCO1lBQ0csZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osVUFBVTtZQUNWLGtCQUFrQixFQUFFO1NBQ3ZCO1lBQ0csWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLHdCQUF3QixFQUFFO1NBQzdCO1lBQ0csWUFBWSxFQUFFO0dBQ3ZCO01BQ0csb0JBQXNCO01BQXRCLHNCQUFzQjtNQUN0QixnQkFBa0I7TUFBbEIsa0JBQWtCLEVBQUU7R0FDdkI7TUFDRzs7Ozs7Ozs7Ozs7YUFXTyxFQUFFO01BQ1Q7U0FDRyxvQkFBb0IsRUFBRTtHQUM1QjtNQUNHO1NBQ0csOEJBQThCO1NBQzlCLGNBQWM7U0FDZCxnQkFBZ0I7U0FDaEIsaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxpQkFBaUI7U0FDakIsMEJBQTBCO1NBQzFCLGNBQWM7U0FDZCxlQUFlO1NBQ2YsYUFBYTtTQUNiLGNBQWMsRUFBRTtNQUNuQjtTQUNHLGlCQUFpQjtTQUNqQixxQkFBcUI7U0FDckIsZUFBZTtTQUNmLGFBQWE7U0FDYixjQUFjLEVBQUUsRUFBRTs7QUFFM0I7R0FDRyxtQkFBbUI7R0FDbkIsY0FBYztHQUNkLG9CQUFvQjtHQUNwQixpQ0FBaUM7R0FDakMsY0FBYyxFQUFFO0dBQ2hCO01BQ0csb0JBQW9CLEVBQUU7O0FBRTVCO0dBQ0csdUJBQXVCLEVBQUU7R0FDekI7TUFDRyxXQUFXO01BQ1gsbUJBQW1CO01BQ25CLG9CQUFvQjtNQUNwQixrQkFBb0I7TUFBcEIsb0JBQW9CO01BQ3BCLGlCQUFtQjtNQUFuQixtQkFBbUI7TUFDbkIsa0JBQWtCO01BQ2xCLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csZ0JBQWdCLEVBQUU7O0FBRXhCO0dBQ0csZ0JBQWdCO0dBQWhCLGdCQUFnQjtHQUNoQiwyQkFBbUI7T0FBbkIsbUJBQW1CO0dBQ25CLGVBQWU7R0FDZixnQkFBZ0IsRUFBRTtHQUNsQjtNQUNHLG1CQUFtQjtNQUNuQixPQUFPO01BQ1AsVUFBVTtNQUNWLFFBQVE7TUFDUixTQUFTLEVBQUU7O0FBRWpCOzs7O0dBSUcsMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0cscUNBQXFDLEVBQUU7O0FBRTFDO0dBQ0cscUNBQXFDLEVBQUU7O0FBRTFDO0dBQ0csd0NBQXdDLEVBQUU7O0FBRTdDO0dBQ0csNEJBQTRCLEVBQUU7O0FBRWpDO0dBQ0c7TUFDRywrQkFBK0IsRUFBRTtHQUNwQztNQUNHLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLG9CQUFvQixFQUFFO01BQ3RCO1NBQ0csZUFBZTtTQUNmLG1CQUFtQjtTQUNuQixZQUFZO1NBQ1osVUFBVTtTQUNWLGtCQUFrQixFQUFFO01BQ3ZCO1NBQ0csWUFBWTtTQUNaLG1CQUFtQjtTQUNuQixjQUFjO1NBQ2QsbUJBQW1CO1NBQ25CLFdBQVc7U0FDWCxZQUFZO1NBQ1osa0JBQWtCO1NBQ2xCLGlDQUFpQyxFQUFFO0dBQ3pDO01BQ0csdUJBQXVCLEVBQUU7TUFDekI7U0FDRyxlQUFlO1NBQ2YsbUJBQW1CLEVBQUU7U0FDckI7WUFDRyxpQkFBaUIsRUFBRTtHQUM1QjtNQUNHLGdCQUFnQixFQUFFLEVBQUU7O0FBRTFCO0dBQ0csK0dBQStHLEVBQUU7R0FDakg7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxjQUFjO01BQ2QscUJBQXFCO01BQ3JCLGdHQUFnRztNQUNoRyxnQkFBZ0I7TUFDaEIsMEJBQTBCO01BQzFCLDRCQUE0QjtNQUM1QixTQUFTO01BQ1QsYUFBYSxFQUFFO0dBQ2xCO01BQ0csV0FBVztNQUNYLGNBQWM7TUFDZCxpQkFBaUI7TUFDakIsZUFBZTtNQUNmLGlCQUFpQjtNQUNqQiwwQkFBMEI7TUFDMUI7Ozs7Ozs7Ozs7Ozs7O01BY0EsRUFBRTtHQUNMO01BQ0csbUJBQW1CLEVBQUU7R0FDeEI7TUFDRyxTQUFTO01BQ1QsbUJBQW1CLEVBQUU7O0FBRTNCO0dBQ0csY0FBYztHQUNkLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLFlBQVksRUFBRTs7QUFFakI7O0dBRUcsY0FBYztHQUNkLGNBQWlCO0dBQWpCLGlCQUFpQjtHQUNqQix3QkFBd0IsRUFBRTs7QUFFN0I7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxjQUFjO0dBQ2Qsb0JBQW9CO0dBQ3BCLGtCQUFrQixFQUFFO0dBQ3BCO01BQ0csa0JBQXFCO01BQXJCLHFCQUFxQjtNQUNyQixhQUFhO01BQ2IsZUFBZSxFQUFFO0dBQ3BCO01BQ0csYUFBYSxFQUFFOztBQUVyQjtHQUNHO01BQ0csZ0JBQWdCLEVBQUU7TUFDbEI7U0FDRyxZQUFZLEVBQUUsRUFBRTs7QUFFekI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7O0dBRUcsd0JBQXdCLEVBQUU7O0FBRTdCOztHQUVHLG9CQUFvQjtHQUNwQixpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7O0dBRUcsc0JBQXNCO0dBQ3RCLG1CQUFtQjtHQUNuQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxrQkFBa0I7R0FDbEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLHNCQUFzQjtHQUN0QixpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxzQkFBc0I7R0FDdEIsWUFBWTtHQUNaLG1CQUFtQixFQUFFO0dBQ3JCO01BQ0csc0JBQXNCLEVBQUU7O0FBRTlCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0cscUJBQXFCLEVBQUU7R0FDdkI7TUFDRyxzQkFBc0IsRUFBRTs7QUFFOUI7R0FDRyxlQUFlO0dBQ2YsWUFBWTtHQUNaLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLDhCQUE4QixFQUFFOztBQUVuQztHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGlCQUFpQjtHQUNqQixtQkFBbUI7R0FDbkIsbUJBQW1CO0dBQ25CLGtCQUFrQjtHQUNsQixpQkFBaUI7R0FDakIsb0JBQW9CLEVBQUU7R0FDdEI7TUFDRyxlQUFlO01BQ2YsbUJBQW1CO01BQ25CLFlBQVk7TUFDWixVQUFVO01BQ1Ysa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxZQUFZO01BQ1osbUJBQW1CO01BQ25CLGNBQWM7TUFDZCxtQkFBbUI7TUFDbkIsV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsMEJBQTBCLEVBQUU7O0FBRWxDO0dBQ0csaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUNuQixtQkFBbUI7R0FDbkIsa0JBQWtCO0dBQ2xCLGlCQUFpQjtHQUNqQixvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLGVBQWU7TUFDZixtQkFBbUI7TUFDbkIsWUFBWTtNQUNaLFVBQVU7TUFDVixrQkFBa0IsRUFBRTtHQUN2QjtNQUNHLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsY0FBYztNQUNkLG1CQUFtQjtNQUNuQixXQUFXO01BQ1gsWUFBWTtNQUNaLGtCQUFrQjtNQUNsQiwwQkFBMEIsRUFBRTs7QUFFbEM7R0FDRyxhQUFhO0dBQ2IsMkJBQTJCO0dBQzNCLG9CQUFvQjtHQUNwQixpQkFBaUIsRUFBRTs7QUFFdEIsb0RBQW9EO0FBQ3BEO0dBQ0csYUFBYSxFQUFFO0dBQ2Y7TUFDRyxhQUFhLEVBQUU7R0FDbEI7TUFDRywrQkFBK0IsRUFBRTtHQUNwQztNQUNHLDhCQUE4QixFQUFFOztBQUV0QyxxREFBcUQ7QUFDckQ7R0FDRyxvQkFBb0I7R0FDcEIsbUJBQW1CO0dBQ25CLHFCQUFxQixFQUFFOztBQUUxQixXQUFXO0FBQ1g7R0FDRyx1Q0FBdUM7R0FDdkM7TUFDRyxjQUFjLEVBQUU7R0FDbkIseUNBQXlDO0dBQ3pDO01BQ0csMEJBQTBCLEVBQUUsRUFBRTs7QUFFcEMsNERBQTREO0FBQzVEO0dBQ0c7TUFDRyx1QkFBdUIsRUFBRTtHQUM1QjtNQUNHLGNBQWMsRUFBRSxFQUFFOztBQUV4QjtHQUNHLGNBQWM7R0FDZCx3QkFBd0IsRUFBRTtHQUMxQjtNQUNHLHNCQUFzQixFQUFFO0dBQzNCO01BQ0cscUJBQXFCO01BQ3JCLHVCQUF1QixFQUFFO0dBQzVCO01BQ0csZ0JBQWdCO01BQ2hCLGFBQWE7TUFDYixtQkFBbUIsRUFBRTtNQUNyQjtTQUNHLDBCQUEwQixFQUFFO01BQy9CO1NBQ0csMEJBQTBCLEVBQUU7TUFDL0I7U0FDRywwQkFBMEIsRUFBRTtNQUMvQjtTQUNHLDBCQUEwQjtTQUMxQiwwQkFBMEIsRUFBRTtNQUMvQjtTQUNHLGdCQUFnQjtTQUNoQixhQUFhLEVBQUU7R0FDckI7TUFDRyxnQkFBZ0I7TUFDaEIsYUFBYTtNQUNiLG1CQUFtQixFQUFFO01BQ3JCO1NBQ0csMEJBQTBCLEVBQUU7TUFDL0I7U0FDRywwQkFBMEIsRUFBRTtNQUMvQjtTQUNHLDBCQUEwQixFQUFFO0dBQ2xDO01BQ0csZ0JBQWdCO01BQ2hCLGFBQWE7TUFDYixtQkFBbUIsRUFBRTtNQUNyQjtTQUNHLDBCQUEwQixFQUFFO01BQy9CO1NBQ0csMEJBQTBCLEVBQUU7TUFDL0I7U0FDRywwQkFBMEIsRUFBRTtNQUMvQjtTQUNHLDBCQUEwQixFQUFFOztBQUVyQztHQUNHLHNCQUFzQixFQUFFOztBQUUzQixtQkFBbUI7QUFDbkI7R0FDRyxlQUFlLEVBQUU7O0FBRXBCOztFQUVFO0FBQ0Y7R0FDRyxxQkFBcUIsRUFBRTtHQUN2Qjs7TUFFRyx5Q0FBeUMsRUFBRTtHQUM5QztNQUNHLDhCQUE4QixFQUFFO01BQ2hDO1NBQ0c7WUFDRywrQkFBK0IsRUFBRSxFQUFFO01BQ3pDO1NBQ0c7WUFDRywrQkFBK0IsRUFBRSxFQUFFOztBQUUvQzs7RUFFRTtBQUNGO0dBQ0csaUJBQWlCO0dBQ2pCLE9BQU87R0FDUCxXQUFXO0dBQ1gsd0JBQXdCO0dBQ3hCLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsY0FBYyxFQUFFO0dBQ2hCO01BQ0csY0FBYyxFQUFFOztBQUV0QjtHQUNHLGdCQUFnQjtHQUNoQixpQ0FBaUMsRUFBRTs7QUFFdEM7R0FDRztNQUNHLGVBQWUsRUFBRSxFQUFFOztBQUV6QjtHQUNHO01BQ0csOEJBQThCLEVBQUUsRUFBRTs7QUFFeEM7R0FDRyxZQUFZO0dBQ1osZ0JBQWdCO0dBQ2hCLGdCQUFnQjtHQUNoQixlQUFlLEVBQUU7O0FBRXBCO0dBQ0cscUJBQXFCLEVBQUU7O0FBRTFCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCOztHQUVHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyx1QkFBdUI7R0FDdkIsb0JBQW9CO0dBQ3BCLGtCQUFrQixFQUFFO0dBQ3BCO01BQ0c7U0FDRyxtQkFBbUIsRUFBRSxFQUFFOztBQUVoQztHQUNHLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLHFCQUFxQixFQUFFOztBQUUxQjtHQUNHLGtCQUFrQixFQUFFOztBQUV2Qjs7R0FFRyxnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0csYUFBYSxFQUFFOztBQUVsQiwrRUFBK0U7QUFDL0U7R0FDRywwQkFBMEIsRUFBRTs7QUFFL0IsdUNBQXVDO0FBQ3ZDO0dBQ0csYUFBYSxFQUFFOztBQUVsQjtHQUNHLGtCQUFrQjtHQUNsQixnQkFBZ0I7R0FDaEIsYUFBYSxFQUFFOztBQUVsQjtHQUNHLGdDQUFnQyxFQUFFOztBQUVyQztHQUNHLHNCQUFzQjtHQUN0QixzQkFBc0IsRUFBRTs7QUFFM0Isa0JBQWtCO0FBQ2xCO0dBQ0c7OztNQUdHLHdCQUF3QixFQUFFO0dBQzdCOztNQUVHLGtCQUFrQixFQUFFO0dBQ3ZCOztNQUVHLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csZ0NBQWdDLEVBQUUsRUFBRTs7QUFFMUM7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxhQUFhO0dBQ2IsU0FBUztHQUNULHFCQUFxQjtHQUNyQixzQkFBc0I7R0FDdEIsbUNBQTJCO1dBQTNCLDJCQUEyQjtHQUMzQixtREFBMkM7V0FBM0MsMkNBQTJDO0dBQzNDLHNDQUE4QjtXQUE5Qiw4QkFBOEI7R0FDOUIsMEJBQTBCO0dBQzFCLFlBQVk7R0FDWixhQUFhLEVBQUU7R0FDZjtNQUNHLG9CQUFvQixFQUFFOztBQUU1QjtHQUNHLHFCQUFxQjtHQUNyQixxQkFBcUI7R0FDckIsaUJBQWlCO0dBQ2pCLDZCQUE2QjtHQUM3QixVQUFVO0dBQ1YscUJBQXFCO0dBQ3JCLHNCQUFzQjtHQUN0QixpQkFBaUIsRUFBRTtHQUNuQjtNQUNHLGdDQUFnQztNQUNoQyxnQkFBZ0I7TUFDaEIsZUFBZTtNQUNmLG1CQUFtQjtNQUNuQiw4QkFBOEI7TUFDOUIsbUJBQW1CO01BQ25CLGFBQWE7TUFDYixpQkFBaUI7TUFDakIsa0JBQWtCO01BQ2xCLHFCQUFxQjtNQUNyQixXQUFXO01BQ1gsT0FBTztNQUNQLGlCQUFpQixFQUFFOztBQUV6QjtHQUNHO01BQ0csYUFBYSxFQUFFLEVBQUU7O0FBRnZCO0dBQ0c7TUFDRyxhQUFhLEVBQUUsRUFBRTs7QUFFdkI7R0FDRztNQUNHLGFBQWEsRUFBRSxFQUFFOztBQUZ2QjtHQUNHO01BQ0csYUFBYSxFQUFFLEVBQUU7O0FBRXZCO0dBQ0c7TUFDRywrQ0FBdUM7Y0FBdkMsdUNBQXVDO01BQ3ZDLHNDQUE4QjtjQUE5Qiw4QkFBOEIsRUFBRTtHQUNuQztNQUNHLGlCQUFpQixFQUFFLEVBQUU7O0FBRTNCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csVUFBVTtHQUNWLFNBQVM7R0FDVCx3QkFBd0I7R0FDeEIsZUFBZTtHQUNmLFlBQVk7R0FDWixhQUFhO0dBQ2IsbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQiw4QkFBOEI7R0FDOUIsNkJBQTZCO0dBQzdCLHdEQUFnRDtXQUFoRCxnREFBZ0QsRUFBRTtHQUNsRDtNQUNHLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsU0FBUztNQUNULFdBQVc7TUFDWCxZQUFZO01BQ1osVUFBVTtNQUNWLG1CQUFtQjtNQUNuQiw4QkFBOEI7TUFDOUIsb0NBQW9DO01BQ3BDLDBEQUFrRDtjQUFsRCxrREFBa0QsRUFBRTtHQUN2RDtNQUNHLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsVUFBVTtNQUNWLFlBQVk7TUFDWixhQUFhO01BQ2IsV0FBVztNQUNYLG1CQUFtQjtNQUNuQiw4QkFBOEI7TUFDOUIsNkJBQTZCO01BQzdCLHdEQUFnRDtjQUFoRCxnREFBZ0QsRUFBRTs7QUFFeEQ7R0FDRztNQUNHLGdDQUF3QjtjQUF4Qix3QkFBd0IsRUFBRTtHQUM3QjtNQUNHLGtDQUEwQjtjQUExQiwwQkFBMEIsRUFBRSxFQUFFOztBQUpwQztHQUNHO01BQ0csZ0NBQXdCO2NBQXhCLHdCQUF3QixFQUFFO0dBQzdCO01BQ0csa0NBQTBCO2NBQTFCLDBCQUEwQixFQUFFLEVBQUU7O0FBRXBDO0dBQ0csY0FBYyxFQUFFOztBQUVuQjtHQUNHLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLGtDQUFrQztHQUNsQyxpQkFBaUI7R0FDakIsY0FBYyxFQUFFOztBQUVuQjtHQUNHLFlBQVk7R0FDWixhQUFhO0dBQ2Isb0NBQW9DO0dBQ3BDLGNBQWM7R0FDZCwwREFBa0Q7V0FBbEQsa0RBQWtELEVBQUU7R0FDcEQ7TUFDRyxjQUFjLEVBQUU7O0FBRXRCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csYUFBYTtHQUNiLGtCQUFrQjtHQUNsQiwwQkFBMEI7R0FDMUIsZ0JBQWdCO0dBQ2hCLFNBQVM7R0FDVCxVQUFVO0dBQ1Ysa0JBQWtCO0dBQ2xCLG9CQUFvQjtHQUdwQiwyQ0FBMkMsRUFBRTs7QUFFaEQ7R0FDRyxVQUFVLEVBQUU7O0FBRWY7R0FDRyxtQkFBbUI7R0FDbkIsYUFBYTtHQUNiLFlBQVk7R0FDWixnQkFBZ0I7R0FDaEIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csYUFBYSxFQUFFOztBQUVsQjtHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csa0JBQWtCO0dBQ2xCLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxrQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGlCQUFpQixFQUFFOztBQUV0Qjs7O0dBR0csY0FBYyxFQUFFOztBQUVuQjtHQUNHLFVBQVUsRUFBRTs7QUFFZjtHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxlQUFlO0dBQ2YsY0FBYyxFQUFFOztBQUVuQiwwRkFBMEY7QUFDMUY7R0FDRyxjQUFjLEVBQUU7O0FBRW5CLGtHQUFrRztBQUNsRzs7R0FFRyxXQUFXLEVBQUU7O0FBRWhCLGlCQUFpQjtBQUNqQjtHQUNHLGFBQWEsRUFBRTtHQUNmO01BQ0csV0FBVztNQUNYLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csaUJBQWlCO01BQ2pCLFdBQVc7TUFDWCxtQkFBbUIsRUFBRTs7QUFFM0IscURBQXFEO0FBQ3JEO0dBQ0csaUJBQWlCO0dBQ2pCLHlCQUF5QixFQUFFO0dBQzNCO01BQ0csY0FBYyxFQUFFO01BQ2hCO1NBQ0csc0JBQXNCLEVBQUU7U0FDeEI7WUFDRyxzQkFBc0IsRUFBRTtNQUM5QjtTQUNHLHNCQUFzQixFQUFFO0dBQzlCO01BQ0cseUJBQXdCO2NBQXhCLHdCQUF3QjtNQUN4QixpQkFBaUIsRUFBRTs7QUFFekIsa0ZBQWtGO0FBQ2xGO0dBQ0csaUJBQWlCO0dBQ2pCLHlCQUF5QixFQUFFO0dBQzNCO01BQ0csaUJBQWlCLEVBQUU7O0FBRXpCLDBEQUEwRDtBQUMxRDtHQUNHLGlCQUFpQixFQUFFO0dBQ25CO01BQ0csMEJBQTBCLEVBQUU7O0FBRWxDLDBEQUEwRDtBQUMxRDtHQUNHLGtCQUFrQixFQUFFO0dBQ3BCO01BQ0csNEJBQTRCLEVBQUU7O0FBRXBDLHVCQUF1QjtBQUN2QjtHQUNHLGlCQUFpQixFQUFFOztBQUV0Qiw4Q0FBOEM7QUFDOUM7R0FDRyxhQUFhLEVBQUU7R0FDZjtNQUNHO1NBQ0csYUFBYSxFQUFFLEVBQUU7O0FBRTFCLDhCQUE4QjtBQUM5Qjs7R0FFRywwQkFBMEI7R0FDMUIsYUFBYTtHQUNiLGVBQWUsRUFBRTtHQUNqQjs7TUFFRywwQkFBMEI7TUFDMUIsYUFBYSxFQUFFOztBQUVyQjtHQUNHLHlDQUF5QyxFQUFFOztBQUU5QyxvRUFBb0U7QUFDcEU7O0dBRUcsY0FBYyxFQUFFOztBQUVuQjs7O0dBR0csNkJBQTZCLEVBQUU7O0FBRWxDO0dBQ0csd0NBQXdDLEVBQUU7O0FBRTdDLHFCQUFxQjtBQUNyQjtHQUNHLGFBQWE7R0FDYixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRywwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEIsbUJBQW1CO0FBQ25CO0dBQ0c7O01BRUcsY0FBYyxFQUFFO0dBQ25COztNQUVHLFdBQVcsRUFBRTtHQUNoQjtNQUNHLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUIsaUNBQWlDO0FBQ2pDOzs7Ozs7R0FNRyx3QkFBd0IsRUFBRTs7QUFFN0I7O0dBR0csaUJBQWlCLEVBQUU7O0FBRXRCOztHQUVHLHdCQUF3QjtHQUN4QixlQUFlLEVBQUU7O0FBRXBCLHFDQUFxQztBQUNyQztHQUNHLFlBQVksRUFBRTs7QUFFakI7R0FDRyxnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRztNQUNHLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUI7O0dBRUcsZ0JBQWdCLEVBQUU7R0FDbEI7TUFDRzs7U0FFRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUU3QjtHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csYUFBYSxFQUFFOztBQUVsQixrQ0FBa0M7QUFDbEM7R0FDRyxjQUFjLEVBQUU7O0FBRW5CLHlCQUF5QjtBQUN6Qjs7R0FFRyxXQUFXLEVBQUU7O0FBRWhCO0dBQ0csZUFBZTtHQUNmLGFBQWEsRUFBRTs7QUFFbEI7R0FDRywwU0FBMFM7R0FDMVMsNEJBQTRCO0dBQzVCLGlGQUFpRjtHQUNqRixhQUFhLEVBQUU7O0FBRWxCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csY0FBYztHQUNkLHlCQUF5QjtHQUN6QiwwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxjQUFjO0dBQ2Qsb0JBQW9CLEVBQUU7R0FDdEI7TUFDRyxpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csb0JBQW9CLEVBQUU7O0FBRTVCO0dBQ0csMEJBQTBCO0dBQzFCLHVCQUF1QjtHQUN2QixXQUFXLEVBQUU7R0FDYjtNQUNHLCtCQUErQixFQUFFOztBQUV2QztHQUNHLG1EQUFtRDtHQUNuRCx3QkFBd0I7R0FDeEIsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0cscUJBQXFCLEVBQUU7O0FBRTFCO0dBQ0csa0JBQWM7R0FBZCxjQUFjLEVBQUU7O0FBRW5CO0dBQ0csOEJBQW1DO0dBQW5DLG1DQUFtQyxFQUFFOztBQUV4QztHQUNHLGtDQUF1QztHQUF2Qyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyxzQ0FBMkM7R0FBM0MsMkNBQTJDLEVBQUU7R0FDN0M7TUFDRztTQUNHLDhCQUFtQztTQUFuQyxtQ0FBbUMsRUFBRTtTQUNyQztZQUNHLHVCQUF1QixFQUFFLEVBQUU7O0FBRXZDO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCOztHQUVHLFNBQVMsRUFBRTs7QUFFZDtHQUNHLGFBQWE7R0FDYixpQkFBaUI7R0FDakIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csb0JBQW9CO0dBQ3BCLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLFlBQVk7R0FDWixhQUFhLEVBQUU7R0FDZjtNQUNHLFlBQVk7TUFDWixhQUFhLEVBQUU7O0FBRXJCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csa0JBQWtCO0dBQ2xCLGlCQUFpQjtHQUNqQixXQUFXO0dBQ1gsWUFBWTtHQUNaLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLFlBQVk7R0FDWixhQUFhO0dBQ2IsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCLHlDQUF5QztBQUN6QztHQUNHLGlCQUFpQjtHQUNqQixrQkFBa0I7R0FDbEIsdURBQXVEO0dBQ3ZELGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsZ0NBQWdDO0dBQ2hDLGlDQUFpQyxFQUFFO0dBQ25DO01BQ0csY0FBYyxFQUFFO0dBQ25CO01BQ0csYUFBYSxFQUFFO0dBQ2xCO01BQ0csaUNBQWlDO01BQ2pDLHdCQUF3QjtNQUN4Qix3Q0FBd0MsRUFBRTtNQUMxQztTQUNHLGFBQWEsRUFBRTtNQUNsQjtTQUNHLHVDQUF1QyxFQUFFO01BQzVDO1NBQ0csd0NBQXdDLEVBQUU7TUFDN0M7U0FDRyxpQ0FBaUMsRUFBRTtHQUN6QztNQUNHLGtCQUFrQjtNQUNsQiwwQkFBMEI7TUFDMUIsWUFBWSxFQUFFO01BQ2Q7U0FDRyxvQkFBb0IsRUFBRTtHQUM1QjtNQUNHLG9CQUFvQjtNQUNwQixnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLGlCQUFpQjtNQUNqQixhQUFhLEVBQUU7R0FDbEI7TUFDRyxnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLGtCQUFrQjtNQUNsQiwwQkFBMEIsRUFBRTtHQUMvQjtNQUNHLGlCQUFpQjtNQUNqQixhQUFhLEVBQUU7R0FDbEI7TUFDRyxpQkFBaUI7TUFDakIsYUFBYTtNQUNiLGlCQUFpQixFQUFFO01BQ25CO1NBQ0csNEJBQTRCO1NBQzVCLGlCQUFpQixFQUFFO1NBQ25CO1lBQ0csNEJBQTRCLEVBQUU7R0FDdkM7TUFDRyxvQkFBb0I7TUFDcEIsYUFBYSxFQUFFO01BQ2Y7U0FDRyxvQkFBb0IsRUFBRTtNQUN6QjtTQUNHLGFBQWEsRUFBRTtHQUNyQjtNQUNHLGtCQUFvQjtNQUFwQixvQkFBb0I7TUFDcEIsY0FBYztNQUNkLGFBQWE7TUFDYixvQkFBb0I7TUFDcEIsMEJBQTBCLEVBQUU7TUFDNUI7U0FDRyxnQkFBZ0I7U0FDaEIsMEJBQTBCLEVBQUU7TUFDL0I7U0FDRyxvQkFBb0I7U0FDcEIsMEJBQTBCLEVBQUU7TUFDL0I7U0FDRyxtQkFBbUI7U0FDbkIsZ0JBQWtCO1NBQWxCLGtCQUFrQixFQUFFO0dBQzFCO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxnQkFBa0I7TUFBbEIsa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxXQUFXLEVBQUU7R0FDaEI7TUFDRyxtQkFBbUI7TUFDbkIsZUFBZSxFQUFFOztBQUV2QjtHQUNHLG1CQUFtQjtHQUNuQixvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLGVBQWUsRUFBRTtHQUNwQjtNQUNHLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHLGNBQWM7R0FDZCwwQkFBMEI7R0FDMUIsa0JBQWtCO0dBQ2xCLDBCQUEwQjtHQUMxQixnQkFBZ0IsRUFBRTtHQUNsQjtNQUNHLG1CQUFtQjtNQUNuQixxQkFBcUIsRUFBRTtHQUMxQjtNQUNHLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHLG9CQUFvQixFQUFFOztBQUV6Qjs7R0FFRyw4Q0FBOEM7R0FDOUMsZ0JBQWdCO0dBQ2hCLGNBQWM7R0FDZCw0QkFBNEI7R0FDNUIsb0JBQW9CLEVBQUU7R0FDdEI7O01BRUcsZ0JBQWtCO01BQWxCLGtCQUFrQjtNQUNsQixnQkFBZ0IsRUFBRTtNQUNsQjs7U0FFRyxnQkFBa0I7U0FBbEIsa0JBQWtCO1NBQ2xCLGVBQWUsRUFBRTtHQUN2QjtNQUNHOzs7O1NBSUcsK0JBQXVCO1NBQXZCLDRCQUF1QjtTQUF2Qix1QkFBdUIsRUFBRSxFQUFFOztBQUVwQztHQUNHLHdCQUF3QixFQUFFO0dBQzFCO01BQ0csZ0JBQWtCO01BQWxCLGtCQUFrQjtNQUNsQixlQUFlLEVBQUU7O0FBRXZCO0dBQ0c7TUFDRywrQkFBK0I7TUFDL0Isc0JBQXNCLEVBQUU7TUFDeEI7U0FDRyxvQkFBb0I7U0FDcEIsaUJBQWlCO1NBQ2pCLFlBQVksRUFBRTtNQUNqQjtTQUNHLGtCQUFrQjtTQUNsQixvQkFBb0IsRUFBRSxFQUFFOztBQUVqQztHQUNHLDhDQUE4QztHQUM5QyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGVBQWU7R0FDZixvQkFBb0IsRUFBRTs7QUFFekIsNEJBQTRCO0FBQzVCOzs7R0FHRywwQkFBMEI7R0FDMUIsY0FBYyxFQUFFOztBQUVuQjtHQUNHLHFCQUFxQjtHQUNyQixlQUFlLEVBQUU7R0FDakI7TUFDRyxvQkFBb0I7TUFDcEIsYUFBYTtNQUNiLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLGFBQWE7R0FDYiwwQkFBMEI7R0FDMUIsMEJBQTBCLEVBQUU7R0FDNUI7TUFDRywwQkFBMEIsRUFBRTtHQUMvQjtNQUNHLHNCQUFzQjtNQUN0QixlQUFlO01BQ2YsV0FBVyxFQUFFO01BQ2I7U0FDRyx3QkFBd0IsRUFBRTs7QUFFbkM7R0FDRyxpQkFBaUI7R0FDakIsYUFBYSxFQUFFO0dBQ2Y7TUFDRywyQkFBMkIsRUFBRTs7QUFFbkMsdUJBQXVCO0FBQ3ZCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csWUFBWTtHQUNaLHFCQUFxQjtHQUNyQiwwQkFBMEI7R0FDMUIsZ0JBQWdCO0dBQ2hCLFNBQVMsRUFBRTs7QUFFZDtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsZ0JBQWdCO0dBQ2hCLG9CQUFvQjtHQUNwQixzQkFBc0I7R0FDdEIsbUJBQW1CO0dBQ25CLGtCQUFrQjtHQUNsQixvQkFBb0I7R0FDcEIsMEJBQTBCO0dBQzFCLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csYUFBYTtNQUNiLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUU7O0FBRTVCO0dBQ0csc0JBQXNCO0dBQ3RCLG1CQUFtQixFQUFFO0dBQ3JCO01BQ0csZ0JBQWtCO01BQWxCLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csNEJBQTRCLEVBQUU7O0FBRXBDO0dBQ0csY0FBYztHQUNkLHVCQUF1QjtHQUN2QixZQUFZLEVBQUU7R0FDZDtNQUNHLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csMEJBQTBCLEVBQUU7O0FBRWxDO0dBQ0csbUJBQW1CO0dBQ25CLFVBQVU7R0FDVixXQUFXO0dBQ1gsb0JBQW9CO0dBQ3BCLHVCQUF1QjtHQUN2QixvQkFBb0I7R0FDcEIsd0JBQXdCO0dBQ3hCLHVCQUF1QjtHQUN2QixvQkFBb0I7R0FDcEIsZUFBZTtHQUNmLFFBQVE7R0FDUixTQUFTO0dBQ1QsMkJBQTJCO0dBQzNCLDRCQUE0QjtHQUM1QiwyQkFBMkI7R0FDM0IsNEJBQTRCO0dBQzVCLDhCQUE4QjtHQUM5QiwwQkFBMEI7R0FDMUIsdUJBQXVCO0dBQ3ZCLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLGtDQUEwQjtXQUExQiwwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxhQUFhO0dBQ2IsK0JBQStCO0dBQy9CLHFCQUFxQjtHQUNyQiwyQkFBMkIsRUFBRTs7QUFFaEMsOEJBQThCO0FBQzlCO0dBQ0csaUJBQWlCO0dBQ2pCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLG9CQUFvQjtHQUNwQixlQUFlLEVBQUU7O0FBRXBCO0dBQ0c7TUFDRyxvQkFBb0IsRUFBRSxFQUFFOztBQUU5QjtHQUNHLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLGFBQWE7R0FDYixvQkFBb0I7R0FDcEIsc0JBQXNCO0dBQ3RCLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0c7U0FDRyxZQUFZO1NBQ1osaUJBQWlCLEVBQUUsRUFBRTtHQUMzQjtNQUNHO1NBQ0csV0FBVyxFQUFFLEVBQUU7O0FBRXhCOztHQUVHLGdCQUFnQjtHQUNoQixpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxVQUFVO0dBQ1YsYUFBYSxFQUFFOztBQUVsQjtHQUNHLGlCQUFpQjtHQUNqQixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRywyQkFBMkI7R0FDM0IsOEJBQThCLEVBQUU7O0FBRW5DO0dBQ0csMEJBQTBCO0dBQzFCLGlCQUFpQjtHQUNqQixzQkFBc0I7R0FDdEIsa0JBQWtCO0dBQ2xCLHNCQUFzQixFQUFFO0dBQ3hCO01BQ0csb0JBQW9CLEVBQUU7O0FBRTVCOzs7R0FHRyw2QkFBNkI7R0FDN0IsaUNBQWlDO0dBQ2pDLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLDBCQUEwQjtHQUMxQiw0Q0FBNEMsRUFBRTs7QUFFakQ7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUNuQix3SkFBd0osRUFBRTs7QUFFN0o7O0dBRUcsd0JBQXdCLEVBQUU7O0FBRTdCLDZDQUE2QztBQUM3QztHQUNHLGlCQUFpQjtHQUNqQixlQUFlO0dBQ2YsV0FBVyxFQUFFOztBQUVoQjs7Ozs7O0dBTUcsb0JBQW9CLEVBQUU7R0FDdEI7Ozs7OztNQU1HLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osc0JBQXNCO01BQ3RCLDJCQUEyQjtNQUMzQixpQkFBaUI7TUFDakIsV0FBVztNQUNYLFlBQVksRUFBRTs7QUFFcEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyx1QkFBdUIsRUFBRTtHQUN6QjtNQUNHLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csNkJBQTZCLEVBQUU7R0FDbEM7O01BRUcsaUNBQWlDLEVBQUU7R0FDdEM7TUFDRyxzQkFBc0I7TUFDdEIsYUFBYTtNQUNiLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsMEJBQTBCO01BQzFCLGtDQUFrQztNQUNsQyx1QkFBdUIsRUFBRTtHQUM1QjtNQUNHLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsZUFBZTtNQUNmLGtCQUFrQixFQUFFO01BQ3BCO1NBQ0csaUJBQWlCO1NBQ2pCLG1CQUFtQixFQUFFO01BQ3hCO1NBQ0csZ0JBQWtCO1NBQWxCLGtCQUFrQjtTQUNsQixrQkFBa0IsRUFBRTtHQUMxQjtNQUNHLDZCQUE2QjtNQUM3QiwrQkFBK0I7TUFDL0IsZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLGtDQUFrQyxFQUFFO0dBQ3ZDO01BQ0csaUJBQWlCO01BQ2pCLHNCQUFzQjtNQUN0QixhQUFhLEVBQUU7TUFDZjtTQUNHLGdCQUFrQjtTQUFsQixrQkFBa0IsRUFBRTtHQUMxQjtNQUNHLHNCQUFzQixFQUFFO0dBQzNCO01BQ0csa0JBQWtCLEVBQUU7R0FDdkI7TUFDRztTQUNHLFdBQVcsRUFBRSxFQUFFOztBQUV4QjtHQUNHLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLFlBQVksRUFBRTs7QUFFcEI7R0FDRyxjQUFjO0dBQ2Qsb0JBQW9CO0dBQ3BCLGtCQUFrQjtHQUNsQixhQUFhLEVBQUU7O0FBRWxCO0dBQ0csYUFBYSxFQUFFOztBQUVsQjtHQUNHLGFBQWE7R0FDYixlQUFlO0dBQ2Ysa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csa0JBQWtCLEVBQUU7R0FDcEI7TUFDRyx3QkFBd0IsRUFBRTtHQUM3QjtNQUNHLG1CQUFtQjtNQUNuQixVQUFVO01BQ1YsWUFBWTtNQUNaLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsZUFBZTtNQUNmLFNBQVM7TUFDVCxrQkFBa0IsRUFBRTtHQUN2QjtNQUNHLG1CQUFtQixFQUFFO0dBQ3hCO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxrQkFBa0I7TUFDbEIsWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixvQkFBb0IsRUFBRTtHQUN6QjtNQUNHLGFBQWEsRUFBRTtHQUNsQjtNQUNHLHVCQUF1QixFQUFFO0dBQzVCO01BQ0c7U0FDRyxXQUFXLEVBQUU7TUFDaEI7U0FDRyxhQUFhO1NBQ2IsZ0JBQWdCO1NBQ2hCLFlBQVk7U0FDWixpQkFBaUIsRUFBRTtTQUNuQjtZQUNHLFlBQVksRUFBRTtNQUNwQjtTQUNHLGFBQWEsRUFBRTtNQUNsQjtTQUNHLGVBQWUsRUFBRSxFQUFFOztBQUU1QjtHQUNHO01BQ0csdUJBQXVCLEVBQUU7R0FDNUI7TUFDRyxTQUFTLEVBQUU7R0FDZDtNQUNHLFNBQVMsRUFBRTtHQUNkO01BQ0csYUFBYSxFQUFFLEVBQUU7O0FBRXZCO0dBQ0csb0JBQW9CLEVBQUU7R0FDdEI7TUFDRyxnQkFBZ0IsRUFBRTs7QUFFeEI7R0FDRyxnQ0FBZ0MsRUFBRTs7QUFFckM7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxvQkFBb0I7R0FDcEIsZ0NBQWdDO0dBQ2hDLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyw4QkFBOEIsRUFBRTs7QUFFbkM7R0FDRyx3Q0FBd0M7R0FDeEMsWUFBWTtHQUNaLGtCQUFrQjtHQUNsQixtQkFBbUIsRUFBRTtHQUNyQjtNQUNHLGVBQWUsRUFBRTs7QUFFdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBMEJFO0FBQ0Y7R0FDRyxtQkFBbUIsRUFBRTtHQUNyQjtNQUNHLG1CQUFtQjtNQUNuQixTQUFTO01BQ1QsV0FBVztNQUNYLFlBQVk7TUFDWixpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLGFBQWE7TUFDYiwwQkFBMEIsRUFBRTs7QUFFbEM7O0dBRUcsY0FBYyxFQUFFOztBQUVuQjs7R0FFRyxvQkFBb0IsRUFBRTs7QUFFekI7O0dBRUcsaUNBQWlDLEVBQUU7O0FBRXRDOztHQUVHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLG9CQUFvQjtHQUNwQixrQkFBa0I7R0FDbEIsWUFBWSxFQUFFOztBQUVqQjtHQUNHLHlCQUF5QixFQUFFOztBQUU5QjtHQUNHLGFBQWE7R0FDYixjQUFjO0dBQ2QsdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csc0JBQWM7T0FBZCxrQkFBYztXQUFkLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixpQkFBaUI7R0FDakIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csaUJBQWlCO0dBQ2pCLHNCQUFzQjtHQUN0QixtQkFBc0I7R0FBdEIsc0JBQXNCLEVBQUU7O0FBRTNCLDBGQUEwRjtBQUMxRix3REFBd0Q7QUFDeEQ7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkIsc0JBQXNCO0FBQ3RCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0cscUJBQXFCO0dBQ3JCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLHFCQUFxQjtHQUNyQixzQkFBc0I7R0FDdEIsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csc0JBQXNCO0dBQ3RCLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGVBQWU7R0FDZixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxtQkFBbUI7R0FDbkIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csZ0JBQWdCO0dBQ2hCLG9CQUFvQjtHQUNwQixpQkFBaUI7R0FDakIsNkJBQTZCLEVBQUU7R0FDL0I7TUFDRyw2QkFBNkIsRUFBRTtHQUNsQzs7TUFFRyxlQUFlO01BQ2YsZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHLHNCQUFzQjtHQUN0QixhQUFhO0dBQ2IsYUFBYTtHQUNiLGlDQUFpQyxFQUFFOztBQUV0QztHQUNHLGFBQWE7R0FDYiwyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRyxvQkFBb0I7R0FDcEIsc0JBQXNCO0dBQ3RCLGlCQUFpQjtHQUNqQixrQkFBa0I7R0FDbEIsc0JBQXNCO0dBQ3RCLGtCQUFrQixFQUFFOztBQUV2QixrQkFBa0I7QUFDbEI7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxtQkFBbUI7R0FDbkIsT0FBTztHQUNQLFNBQVM7R0FDVCxVQUFVO0dBQ1YsUUFBUTtHQUNSLGFBQWE7R0FDYixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRywyQkFBbUI7T0FBbkIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csZ0JBQWdCO0dBQWhCLGdCQUFnQixFQUFFOztBQUVyQjs7O0dBR0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLGlCQUFpQjtHQUNqQixzQ0FBc0MsRUFBRTs7QUFFM0M7O0dBRUcsaUJBQWlCLEVBQUU7O0FBRXRCLG1DQUFtQztBQUNuQztHQUNHLFdBQVcsRUFBRTs7QUFFaEI7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxjQUFjLEVBQUU7O0FBRW5CLGdCQUFnQjtBQUNoQjtHQUNHLGlCQUFpQjtHQUNqQixvQkFBb0I7R0FDcEIsaUJBQWlCO0dBQ2pCLDZDQUE2QyxFQUFFO0dBQy9DO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRztTQUNHLFdBQVcsRUFBRSxFQUFFO0dBQ3JCO01BQ0c7U0FDRyxXQUFXO1NBQ1gsa0JBQWtCLEVBQUUsRUFBRTtHQUM1QjtNQUNHO1NBQ0csV0FBVztTQUNYLGtCQUFrQixFQUFFLEVBQUU7O0FBRS9CO0dBQ0csY0FBYztHQUNkLGlCQUFpQixFQUFFO0dBQ25CO01BQ0c7U0FDRyxhQUFhLEVBQUUsRUFBRTtHQUN2QjtNQUNHO1NBQ0csYUFBYTtTQUNiLGlCQUFpQixFQUFFLEVBQUU7R0FDM0I7TUFDRztTQUNHLGFBQWE7U0FDYixrQkFBa0IsRUFBRSxFQUFFOztBQUUvQjtHQUNHLFlBQVk7R0FDWixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxrQkFBa0I7R0FDbEIsaUJBQWlCO0dBQ2pCLGlCQUFpQjtHQUNqQixnQkFBa0I7R0FBbEIsa0JBQWtCLEVBQUU7O0FBRXZCOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBQUNGLDBJQUEwSTtBQUMxSTtHQUNHLGNBQWM7R0FDZCxnQkFBZ0I7R0FDaEIsWUFBWSxFQUFFOztBQUVqQjs7R0FFRyxpQkFBaUI7R0FDakIsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixzQkFBc0I7R0FDdEIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csdUJBQXVCO0dBQ3ZCLGVBQWU7R0FDZixZQUFZLEVBQUU7R0FDZDtNQUNHLHVCQUF1QjtNQUN2QixZQUFZO01BQ1osdUJBQXVCO01BQ3ZCLFlBQVk7TUFDWixnQkFBa0I7TUFBbEIsa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxhQUFhLEVBQUU7R0FDbEI7O01BRUcsc0JBQXNCO01BQ3RCLHNCQUFzQixFQUFFO0dBQzNCO01BQ0csZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxjQUFjLEVBQUU7R0FDbkI7OztNQUdHLGdCQUFrQjtNQUFsQixrQkFBa0IsRUFBRTtHQUN2QjtNQUNHLGVBQWU7TUFDZixZQUFZO01BQ1osYUFBYTtNQUNiLGtCQUFrQjtNQUNsQixnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLHdCQUF3QjtNQUN4QixZQUFZO01BQ1osdUJBQXVCO01BQ3ZCLGlCQUFpQjtNQUNqQix1QkFBdUI7TUFDdkIsd0JBQXdCLEVBQUU7TUFDMUI7U0FDRyxZQUFZLEVBQUU7TUFDakI7U0FDRywwQkFBMEI7U0FDMUIsb0JBQW9CO1NBQ3BCLHVCQUF1QjtTQUN2QixXQUFXLEVBQUU7TUFDaEI7U0FDRyxhQUFhO1NBQ2IsaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxzQkFBc0I7U0FDdEIsWUFBWTtTQUNaLGFBQWEsRUFBRTtNQUNsQjtTQUNHLHNCQUFzQjtTQUN0QixZQUFZO1NBQ1osYUFBYSxFQUFFO0dBQ3JCO01BQ0csaUJBQWlCO01BQ2pCLGNBQWMsRUFBRTtHQUNuQjtNQUNHO1NBQ0csd0JBQXdCLEVBQUU7TUFDN0I7U0FDRyxrQkFBa0IsRUFBRSxFQUFFOztBQUUvQjs7R0FFRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csbUNBQW1DLEVBQUU7O0FBRXhDO0dBQ0csY0FBYyxFQUFFOztBQUVuQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxZQUFZLEVBQUU7R0FDZDtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLGNBQWMsRUFBRTs7QUFFdEI7R0FDRyxjQUFjO0dBQ2Qsb0JBQW9CO0dBQ3BCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHO01BQ0csd0JBQXdCLEVBQUUsRUFBRTs7QUFFbEM7R0FDRyw0QkFBNEIsRUFBRTs7QUFFakM7O0dBRUcsb0JBQW9CO0dBQ3BCLG1CQUFtQjtHQUNuQixvQkFBb0I7R0FDcEIsb0JBQW9CO0dBQ3BCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLFlBQVk7R0FDWixpQkFBaUI7R0FDakIsVUFBVSxFQUFFO0dBQ1o7TUFDRywwQkFBMEI7TUFDMUIsOEJBQThCLEVBQUU7O0FBRXRDO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csa0RBQWtEO0dBQ2xELHVCQUF1QjtHQUN2QixrQkFBa0IsRUFBRTs7QUFFdkI7O0dBRUcsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csWUFBWTtHQUNaLG1CQUFtQixFQUFFOztBQUV4QixxREFBcUQ7QUFDckQ7O0dBRUcsZ0VBQWdFO0dBQ2hFLGtDQUFrQztHQUNsQywyQkFBMkI7R0FDM0IsNkJBQTZCO0dBQzdCLGlCQUFpQixFQUFFO0dBQ25COztNQUVHLGNBQWMsRUFBRTs7QUFFdEI7O0dBRUcsdUVBQXVFLEVBQUU7O0FBRTVFOztHQUVHLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLG1CQUFtQjtHQUNuQixTQUFTO0dBQ1QsVUFBVSxFQUFFOztBQUVmO0dBQ0csZ0JBQWdCO0dBQ2hCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7Ozs7Ozs7Ozs7O0dBV0csZUFBZSxFQUFFOztBQUVwQjs7OztHQUlHLHNCQUFzQixFQUFFOztBQUUzQjs7O0dBSUcsaURBQWlELEVBQUU7R0FDbkQ7OztNQUdHLGlCQUFpQixFQUFFOztBQUV6QjtHQUNHLHNCQUFzQixFQUFFOztBQUUzQjs7OztHQUlHLGVBQWU7R0FDZixpQkFBaUIsRUFBRTs7QUFFdEI7OztHQUdHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csY0FBYztHQUNkLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLHNCQUFzQixFQUFFOztBQUUzQjs7R0FFRyxzQkFBc0I7R0FDdEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csc0JBQXNCO0dBQ3RCLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsY0FBYztHQUNkLGFBQWE7R0FDYiwwQkFBMEI7R0FDMUIsWUFBWTtHQUNaLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLDBCQUEwQjtHQUMxQiw4QkFBOEIsRUFBRTtHQUNoQztNQUNHLDBCQUEwQjtNQUMxQiwyQkFBMkIsRUFBRTs7QUFFbkM7R0FDRyxpQkFBaUI7R0FDakIsYUFBYSxFQUFFOztBQUVsQiwwQ0FBMEM7QUFDMUM7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7O0dBRUcsY0FBYztHQUNkLG9CQUFvQixFQUFFOztBQUV6Qjs7R0FFRyx5QkFBeUI7R0FDekIsc0JBQXNCO0dBQ3RCLFdBQVc7R0FDWCxvQkFBb0IsRUFBRTtHQUN0Qjs7TUFFRyxhQUFhLEVBQUU7R0FDbEI7O01BRUcsYUFBYSxFQUFFOztBQUVyQjtHQUNHLHNCQUFzQjtHQUN0QixpQkFBaUI7R0FDakIsa0JBQWtCO0dBQ2xCLGtCQUFrQjtHQUNsQixrQkFBa0I7R0FDbEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0c7TUFDRyxrQkFBa0IsRUFBRSxFQUFFOztBQUU1QjtHQUNHLGtCQUFrQjtHQUNsQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxZQUFZO0dBQ1osaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csc0JBQXNCO0dBQ3RCLG1CQUFtQjtHQUNuQixpQkFBaUI7R0FDakIsNEJBQTRCO0dBQzVCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QiwwRUFBMEU7QUFDMUU7R0FDRyxjQUFjLEVBQUU7R0FDaEI7TUFDRyxtQkFBbUI7TUFDbkIsc0JBQXNCO01BQ3RCLGdCQUFnQjtNQUNoQixpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLGVBQWU7TUFDZixnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLG1CQUFtQjtNQUNuQixlQUFlLEVBQUU7O0FBRXZCO0dBQ0csa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGVBQWU7R0FDZixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxvQkFBb0I7R0FDcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCOztHQUVHLGlCQUFpQixFQUFFOztBQUV0QiwwRkFBMEY7QUFDMUY7O0dBRUcsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQixjQUFjO0dBQ2Qsa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFO0dBQ3RCOztNQUVHLGlCQUFpQixFQUFFOztBQUV6QjtHQUNHLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCLDhCQUE4QjtBQUM5QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGVBQWU7R0FDZixrQkFBa0I7R0FDbEIsZUFBZTtHQUNmLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLG1CQUFtQixFQUFFOztBQUV4Qjs7O0dBR0csZUFBZSxFQUFFOztBQUVwQix3QkFBd0I7QUFDeEI7R0FDRyxjQUFjO0dBQ2QsdUJBQXVCO0dBQ3ZCLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csZUFBZSxFQUFFOztBQUV2QjtHQUNHLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLG9CQUFvQjtHQUNwQix1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRztNQUNHLG9CQUFvQjtNQUNwQixvQkFBb0IsRUFBRTtHQUN6QjtNQUNHLGtCQUFrQjtNQUNsQixjQUFjO01BQ2QsUUFBUTtNQUNSLHdCQUF3QixFQUFFO0dBQzdCO01BQ0csUUFBUSxFQUFFO01BQ1Y7U0FDRyxhQUFhLEVBQUU7R0FDckI7TUFDRyxRQUFRLEVBQUUsRUFBRTs7QUFFbEIsdUJBQXVCO0FBQ3ZCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csY0FBYztHQUNkLGlCQUFpQjtHQUNqQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxvQkFBb0I7R0FDcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixrQkFBa0I7R0FDbEIsc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csY0FBYztHQUNkLHVCQUF1QjtHQUN2QixvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLG1CQUFtQixFQUFFO0dBQ3hCO01BQ0csYUFBYSxFQUFFOztBQUVyQjtHQUNHLGtCQUFrQjtHQUNsQix1QkFBdUI7R0FDdkIsaUJBQWlCO0dBQ2pCLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxrQkFBa0I7R0FDbEIsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLGFBQWE7TUFDYixzQkFBc0I7TUFDdEIsZ0JBQWdCLEVBQUU7TUFDbEI7U0FDRyxlQUFlLEVBQUU7R0FDdkI7TUFDRyxlQUFlO01BQ2YsaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csY0FBYyxFQUFFOztBQUVuQjtHQUNHO01BQ0csY0FBYztNQUNkLGlCQUFpQixFQUFFO0dBQ3RCO01BQ0csb0JBQW9CLEVBQUU7R0FDekI7TUFDRyxpQkFBaUIsRUFBRSxFQUFFOztBQUUzQjtHQUNHLGFBQWE7R0FDYixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsZ0JBQWdCLEVBQUU7R0FDbEI7TUFDRyxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLFFBQVE7TUFDUixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLGtCQUFrQjtNQUNsQixzQkFBc0IsRUFBRTtNQUN4QjtTQUNHLGlCQUFpQjtTQUNqQixtQkFBbUI7U0FDbkIsa0JBQWtCO1NBQ2xCLGlCQUFpQjtTQUNqQixpQkFBaUI7U0FDakIsb0JBQW9CO1NBQ3BCLFlBQVk7U0FDWixzQkFBc0I7U0FDdEIsWUFBWSxFQUFFO1NBQ2Q7WUFDRyxlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixVQUFVO1lBQ1Ysa0JBQWtCLEVBQUU7U0FDdkI7WUFDRyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsd0JBQXdCLEVBQUU7U0FDN0I7WUFDRyxnQkFBZ0IsRUFBRTtNQUN4QjtTQUNHLG1CQUFtQixFQUFFO1NBQ3JCO1lBQ0csMkJBQTJCO1lBQzNCLFlBQVksRUFBRTtNQUNwQjtTQUNHLDJDQUFtQztpQkFBbkMsbUNBQW1DO1NBQ25DLG1CQUFtQjtTQUNuQixTQUFTLEVBQUU7TUFDZDtTQUNHLHFCQUFxQjtTQUNyQix1QkFBdUI7U0FDdkIsYUFBYTtTQUNiLGtCQUFrQjtTQUNsQixlQUFlLEVBQUU7R0FDdkI7TUFDRyxvQkFBb0I7TUFDcEIsYUFBYTtNQUNiLFlBQVk7TUFDWiw0QkFBNEI7TUFDNUIsZ0JBQWdCO01BQWhCLGdCQUFnQjtNQUNoQixtQkFBbUI7TUFDbkIsa0JBQWtCLEVBQUU7O0FBRTFCLHVDQUF1QztBQUN2Qzs7O0dBR0csZUFBZSxFQUFFOztBQUVwQjtHQUNHOzs7TUFHRyxvQkFBb0IsRUFBRSxFQUFFOztBQUU5QjtHQUNHO01BQ0csb0JBQW9CLEVBQUUsRUFBRTs7QUFFOUI7OztHQUdHLGlCQUFpQixFQUFFOztBQUV0Qjs7O0dBR0csY0FBYyxFQUFFOztBQUVuQjtHQUNHLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csYUFBYTtHQUNiLGNBQWM7R0FDZCxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxrQkFBa0I7R0FDbEIsZUFBZTtHQUNmLFdBQVcsRUFBRTs7QUFFaEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7O0dBRUcsZUFBZSxFQUFFOztBQUVwQjtHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0c7TUFDRyx1QkFBdUIsRUFBRTtHQUM1QjtNQUNHLHNCQUFzQjtNQUN0QixvQkFBb0I7TUFDcEIsaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxlQUFlLEVBQUU7R0FDcEI7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxlQUFlLEVBQUUsRUFBRTs7QUFFekI7R0FDRyxjQUFjLEVBQUU7O0FBRW5COztHQUVHLFlBQVksRUFBRTtHQUNkO01BQ0c7O1NBRUcsYUFBYSxFQUFFLEVBQUU7R0FDdkI7O01BRUcsaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osY0FBYyxFQUFFO01BQ2hCOztTQUVHLGlCQUFpQixFQUFFO01BQ3RCOztTQUVHLGdCQUFnQjtTQUFoQixnQkFBZ0I7U0FDaEIsbUJBQW1CLEVBQUU7R0FDM0I7TUFDRzs7U0FFRyxpQkFBaUIsRUFBRTtTQUNuQjs7WUFFRyxrQkFBa0I7WUFDbEIsbUJBQW1CLEVBQUU7WUFDckI7O2VBRUcsY0FBYyxFQUFFLEVBQUU7O0FBRWpDOztHQUVHLGVBQWU7R0FDZixpQkFBaUI7R0FDakIsaUJBQWlCLEVBQUU7O0FBRXRCOztHQUVHLGtCQUFrQjtHQUNsQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyw4QkFBOEI7R0FDOUIsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLGNBQWM7R0FDZCxrQkFBa0IsRUFBRTtHQUNwQjtNQUNHLGlCQUFpQixFQUFFO0dBQ3RCO01BQ0csdUJBQXVCO01BQ3ZCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csZ0JBQWtCO01BQWxCLGtCQUFrQjtNQUNsQix1QkFBdUI7TUFDdkIsaUJBQWlCLEVBQUU7R0FDdEI7TUFDRywwQkFBMEI7TUFDMUIsY0FBYztNQUNkLGtCQUFrQjtNQUNsQixxQkFBcUIsRUFBRTtHQUMxQjtNQUNHLGlCQUFpQjtNQUNqQixrQkFBa0I7TUFDbEIsZUFBZTtNQUNmLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csYUFBYTtNQUNiLGNBQWMsRUFBRTtNQUNoQjtTQUNHLGFBQWEsRUFBRTtHQUNyQjtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLHNCQUFzQixFQUFFO01BQ3hCO1NBQ0csZUFBZSxFQUFFOztBQUUxQix3RUFBd0U7QUFDeEU7R0FDRzs7TUFFRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyx1QkFBdUIsRUFBRTtNQUN6QjtTQUNHLFNBQVM7U0FDVCxpQkFBaUI7U0FDakIsaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxVQUFVO1NBQ1YsU0FBUztTQUNULFlBQVk7U0FDWixpQkFBaUI7U0FDakIsT0FBTztTQUNQLHVCQUF1QixFQUFFO1NBQ3pCO1lBQ0csYUFBYSxFQUFFO01BQ3JCO1NBQ0csZUFBZSxFQUFFO1NBQ2pCO1lBQ0csaUJBQWlCLEVBQUU7U0FDdEI7WUFDRyxlQUFlLEVBQUU7U0FDcEI7WUFDRyxlQUFlLEVBQUU7TUFDdkI7U0FDRyxtQkFBbUI7U0FDbkIsY0FBYztTQUNkLGdCQUFnQjtTQUNoQixvQkFBb0I7U0FDcEIsWUFBWTtTQUNaLGlCQUFpQjtTQUNqQixvQkFBb0I7U0FDcEIsaUJBQWlCLEVBQUU7U0FDbkI7WUFDRyxpQkFBaUIsRUFBRTtNQUN6Qjs7U0FFRyxpQkFBaUI7U0FDakIsaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxTQUFTLEVBQUU7TUFDZDtTQUNHLFNBQVMsRUFBRTtNQUNkO1NBQ0csaUJBQWlCO1NBQ2pCLFNBQVMsRUFBRTtNQUNkO1NBQ0csa0JBQWtCO1NBQ2xCLGlCQUFpQixFQUFFO0dBQ3pCO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHLFdBQVc7R0FDWCxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0csMkNBQTJDO0dBQzNDLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLFlBQVk7R0FDWixtQkFBbUI7R0FDbkIsc0JBQXNCO0dBQ3RCLHVCQUF1QjtHQUN2QixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxZQUFZLEVBQUU7O0FBRWpCO0dBQ0csc0JBQXNCO0dBQ3RCLG1CQUFtQjtHQUNuQixZQUFZLEVBQUU7O0FBRWpCOzs7RUFHRTtBQUNGO0dBQ0c7TUFDRyxpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLDBCQUEwQixFQUFFO0dBQy9CO01BQ0csMEJBQTBCLEVBQUU7R0FDL0I7TUFDRywwQkFBMEIsRUFBRTtHQUMvQjtNQUNHLDBCQUEwQixFQUFFO0dBQy9CO01BQ0csMEJBQTBCLEVBQUU7R0FDL0I7Ozs7O01BS0csYUFBYSxFQUFFO0dBQ2xCOztNQUVHLGlCQUFpQixFQUFFLEVBQUU7O0FBRTNCOztHQUVHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxpQkFBaUI7R0FDakIsb0JBQW9CO0dBQ3BCLFlBQVksRUFBRTtHQUNkO01BQ0csZ0JBQWdCO01BQ2hCLGNBQWM7TUFDZCw0QkFBNEI7TUFDNUIsb0JBQW9CLEVBQUU7R0FDekI7TUFDRyxzQkFBc0I7TUFDdEIsd0JBQXdCO01BQ3hCLG9CQUFvQjtNQUNwQixpQkFBaUIsRUFBRTs7QUFFekI7R0FDRyxtQkFBbUIsRUFBRTtHQUNyQjtNQUNHLG1CQUFtQixFQUFFOztBQUUzQjtHQUNHLDRGQUE0RixFQUFFO0dBQzlGO01BQ0csa0JBQWtCO01BQ2xCLGFBQWEsRUFBRTtHQUNsQjtNQUNHLGVBQWU7TUFDZixzQkFBc0I7TUFDdEIsb0JBQW9CO01BQ3BCLDBCQUEwQjtNQUMxQixnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsU0FBUztNQUNULG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsa0JBQWtCO01BQ2xCLFlBQVksRUFBRTtHQUNqQjtNQUNHLHVCQUF1QjtNQUN2QiwyQkFBMkI7TUFDM0IsWUFBWTtNQUNaLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsa0JBQWtCO01BQ2xCLGdEQUFnRDtNQUNoRCxzQkFBc0I7TUFDdEIsOENBQThDO01BQzlDLG1CQUFtQjtNQUNuQixxQkFBcUI7TUFDckIsb0NBQW9DO01BQ3BDLG1DQUFtQztNQUNuQyxlQUFlO01BQ2YsaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyx1QkFBdUIsRUFBRTtNQUN6QjtTQUNHLGNBQWM7U0FDZCxpQkFBaUI7U0FDakIsMEJBQTBCLEVBQUU7TUFDL0I7U0FDRyxrQkFBa0I7U0FDbEIsYUFBYSxFQUFFO0dBQ3JCO01BQ0csdUJBQXVCLEVBQUU7TUFDekI7U0FDRyxvQkFBb0I7U0FDcEIsMEJBQTBCO1NBQzFCLGdCQUFnQjtTQUNoQixrQkFBa0I7U0FDbEIsaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxjQUFjLEVBQUU7TUFDbkI7U0FDRyxXQUFXLEVBQUU7R0FDbkI7TUFDRyxZQUFZLEVBQUU7TUFDZDtTQUNHLFlBQVk7U0FDWixrQkFBa0I7U0FDbEIsWUFBWTtTQUNaLGFBQWE7U0FDYixtQkFBbUI7U0FDbkIsa0JBQWtCO1NBQ2xCLG1CQUFtQjtTQUNuQixTQUFTO1NBQ1QsT0FBTyxFQUFFO0dBQ2Y7TUFDRyxvQkFBb0IsRUFBRTtHQUN6QjtNQUNHLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsa0JBQWtCO01BQ2xCLGdEQUFnRDtNQUNoRCxzQkFBc0I7TUFDdEIsOENBQThDO01BQzlDLG1CQUFtQjtNQUNuQixxQkFBcUI7TUFDckIsb0NBQW9DO01BQ3BDLG1DQUFtQyxFQUFFOztBQUUzQyxrQ0FBa0M7QUFDbEM7R0FDRyxjQUFjO0dBQ2QsK0JBQStCLEVBQUU7R0FDakM7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxpQkFBaUIsRUFBRTs7QUFFekI7R0FDRywwQkFBMEI7R0FDMUIsMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csYUFBYTtHQUNiLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLDBCQUEwQjtHQUMxQixtQkFBbUI7R0FDbkIsYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLHlDQUF5QyxFQUFFO0dBQzNDO01BQ0csb0JBQW9CO01BQ3BCLGFBQWE7TUFDYixrQkFBa0IsRUFBRTtNQUNwQjtTQUNHLGtDQUEwQjtpQkFBMUIsMEJBQTBCO1NBQzFCLGlCQUFpQixFQUFFO0dBQ3pCO01BQ0csWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsY0FBYztNQUNkLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsWUFBWTtNQUNaLFNBQVM7TUFDVCxtQkFBbUIsRUFBRTtHQUN4QjtNQUNHLGVBQWU7TUFDZiwyQ0FBMkM7TUFDM0MsWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixvQkFBb0I7TUFDcEIscUJBQXFCO01BQ3JCLHFCQUFxQjtNQUNyQixlQUFlO01BQ2Ysb0NBQW9DO01BQ3BDLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osYUFBYTtNQUNiLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsU0FBUztNQUNULGtCQUFrQjtNQUNsQiw0QkFBNEIsRUFBRTtHQUNqQztNQUNHLGdCQUFnQixFQUFFO01BQ2xCO1NBQ0csY0FBYyxFQUFFOztBQUV6QjtHQUNHLGNBQWM7R0FDZCwwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRztNQUNHLGdCQUFnQixFQUFFLEVBQUU7O0FBRTFCOztHQUVHLG1HQUFtRztHQUNuRyxrQkFBa0I7R0FDbEIsWUFBWTtHQUNaLGFBQWE7R0FDYixrQkFBa0I7R0FDbEIsd0JBQXdCO0dBQ3hCLDREQUE0RDtHQUM1RCxrQ0FBa0M7R0FDbEMsMkJBQTJCO0dBQzNCLDZCQUE2QjtHQUM3QixzQkFBc0I7R0FDdEIsb0JBQW9CO0dBQ3BCLGdCQUFnQjtHQUNoQixZQUFZO0dBQ1osZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixrQ0FBa0M7R0FDbEMseUJBQXlCO0dBQ3pCLHNCQUFzQixFQUFFO0dBQ3hCOztNQUVHLGNBQWMsRUFBRTtHQUNuQjs7TUFFRyxvQkFBb0IsRUFBRTtHQUN6Qjs7TUFFRyxrQkFBa0I7TUFDbEIsWUFBWSxFQUFFO0dBQ2pCOztNQUVHLG1FQUFtRSxFQUFFO0dBQ3hFOztNQUVHLDBCQUEwQjtNQUMxQixnQkFBZ0IsRUFBRTtHQUNyQjs7TUFFRyxlQUFlLEVBQUU7R0FDcEI7O01BRUcsdUJBQXVCLEVBQUU7O0FBRS9CO0dBQ0csY0FBYztHQUNkLGFBQWE7R0FDYixXQUFXLEVBQUU7O0FBRWhCO0dBQ0csZUFBZTtHQUNmLG1CQUFtQjtHQUNuQixvQ0FBb0M7R0FDcEMscUJBQXFCO0dBQ3JCLGFBQWE7R0FDYixZQUFZO0dBQ1osb0JBQW9CO0dBQ3BCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLFlBQVk7R0FDWixtQkFBbUI7R0FDbkIsZUFBZTtHQUNmLGFBQWE7R0FDYixZQUFZO0dBQ1osT0FBTztHQUNQLFFBQVE7R0FDUixvQkFBb0I7R0FDcEIsaUNBQWlDO0dBQ2pDLDhCQUE4QixFQUFFOztBQUVuQztHQUNHLFlBQVk7R0FDWixtQkFBbUI7R0FDbkIsZUFBZTtHQUNmLGFBQWE7R0FDYixZQUFZO0dBQ1osT0FBTztHQUNQLFFBQVE7R0FDUixvQkFBb0I7R0FDcEIsa0JBQWtCO0dBQ2xCLDZFQUE2RTtHQUM3RSw4QkFBOEIsRUFBRTs7QUFFbkM7R0FDRyxZQUFZO0dBQ1osb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csV0FBVztHQUNYLGtFQUFrRSxFQUFFOztBQUV2RTtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7O0dBRUcsZUFBZTtHQUNmLGtCQUFrQjtHQUNsQiwyQkFBMkI7R0FDM0IsNkJBQTZCLEVBQUU7O0FBRWxDO0dBQ0csd0JBQXdCO0dBQ3hCLFlBQVk7R0FDWixpQkFBaUI7R0FDakIsdUJBQXVCO0dBQ3ZCLG1CQUFtQjtHQUduQiwyQ0FBMkM7R0FDM0MsY0FBYyxFQUFFO0dBQ2hCO01BQ0csOERBQThELEVBQUU7TUFDaEU7U0FDRyxZQUFZLEVBQUU7U0FDZDtZQUNHLFlBQVksRUFBRTtNQUNwQjtTQUNHLGdCQUFnQjtTQUNoQixhQUFhLEVBQUU7TUFDbEI7Ozs7O1NBS0c7Ozs7Ozs0Q0FNbUMsRUFBRTtNQUN4QztTQUNHLDBCQUEwQixFQUFFO01BQy9CO1NBQ0csbUJBQW1CLEVBQUU7TUFDeEI7U0FDRywwQkFBMEIsRUFBRTs7QUFFckMsbUZBQW1GO0FBQ25GOztHQUVHLG1CQUFtQjtHQUNuQixTQUFTO0dBQ1QsUUFBUSxFQUFFOztBQUViO0dBQ0csV0FBVyxFQUFFOztBQUVoQjtHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxnQkFBZ0I7R0FDaEIsVUFBVTtHQUNWLFFBQVE7R0FDUixTQUFTLEVBQUU7R0FDWDtNQUNHLG1CQUFtQixFQUFFOztBQUUzQjtHQUNHLGtCQUFrQjtHQUNsQixvQkFBb0I7R0FDcEIsMkNBQTJDO0dBQzNDLG9DQUFvQztHQUNwQyxnQkFBZ0I7R0FDaEIsc0JBQXNCO0dBQ3RCLGtCQUFrQjtHQUNsQixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGFBQWEsRUFBRTtHQUNmO01BQ0csZUFBZSxFQUFFO0dBQ3BCO01BQ0csYUFBYTtNQUNiLHNCQUFzQjtNQUN0QiwwQkFBMEIsRUFBRTs7QUFFbEMsMENBQTBDO0FBQzFDO0dBQ0csZ0JBQWdCO0dBQ2hCLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLGVBQWUsRUFBRTtHQUNqQjtNQUNHLFlBQVk7TUFDWixZQUFZLEVBQUU7R0FDakI7TUFDRyxnQkFBZ0I7TUFDaEIsMEJBQWtCO1NBQWxCLHVCQUFrQjtVQUFsQixzQkFBa0I7Y0FBbEIsa0JBQWtCLEVBQUU7TUFDcEI7U0FDRyxtQ0FBbUMsRUFBRTtHQUMzQztNQUNHLFlBQVk7TUFDWixlQUFlO01BQ2YsbUJBQW1CO01BQ25CLGFBQWE7TUFDYixzQkFBc0I7TUFDdEIsd0NBQXdDO01BQ3hDLGFBQWEsRUFBRTtHQUNsQjtNQUNHLGtCQUFrQixFQUFFO01BQ3BCO1NBQ0csaUNBQXlCO2lCQUF6Qix5QkFBeUIsRUFBRTtHQUNqQztNQUNHLHlCQUF5QixFQUFFO0dBQzlCO01BQ0csWUFBWTtNQUNaLHNCQUFzQjtNQUN0QixZQUFZLEVBQUU7TUFDZDtTQUNHLGVBQWU7U0FDZixjQUFjO1NBQ2QsY0FBYztTQUNkLG9CQUFvQixFQUFFO1NBQ3RCO1lBQ0csc0JBQXNCLEVBQUU7O0FBRXBDO0dBQ0csdUNBQXVDLEVBQUU7R0FDekM7TUFDRyxzREFBc0QsRUFBRTtHQUMzRDtNQUNHLDZCQUE2QjtNQUM3QixtQkFBbUI7TUFDbkIsb0NBQW9DLEVBQUU7TUFDdEM7U0FDRyw0Q0FBNEM7U0FDNUMseUNBQXlDLEVBQUU7U0FDM0M7WUFDRyx3Q0FBd0MsRUFBRTtHQUNuRDtNQUNHLGtCQUFrQjtNQUNsQixrQkFBa0I7TUFDbEIsK0NBQXVDO01BQXZDLHVDQUF1QztNQUF2QywyRUFBdUM7TUFDdkMsbUJBQW1CO01BQ25CLFNBQVM7TUFDVCxrQkFBa0I7TUFDbEIsWUFBWSxFQUFFO0dBQ2pCO01BQ0csc0NBQXNDLEVBQUU7R0FDM0M7TUFDRyxtQ0FBbUMsRUFBRTtNQUNyQztTQUNHLG1CQUFtQixFQUFFO01BQ3hCO1NBQ0csMkNBQTJDO1NBQzNDLHdDQUF3QyxFQUFFO01BQzdDO1NBQ0csMkNBQTJDO1NBQzNDLHdDQUF3QyxFQUFFOztBQUVuRDtHQUNHLGNBQWM7R0FDZCxZQUFZO0dBQ1osYUFBYTtHQUNiLGNBQWM7R0FDZCxhQUFhO0dBQ2IsbUJBQW1CO0dBQ25CLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLG1CQUFtQjtHQUNuQixVQUFVO0dBQ1YsU0FBUztHQUNULFdBQVc7R0FDWCxZQUFZO0dBQ1osdUNBQStCO0dBQS9CLCtCQUErQjtHQUEvQiwyREFBK0I7R0FDL0Isd0JBQWdCO1dBQWhCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLFlBQVk7R0FDWixhQUFhO0dBQ2Isc0JBQXNCO0dBQ3RCLG1CQUFtQjtHQUNuQixZQUFZO0dBQ1osZ0RBQWdEO0dBQ2hELDRDQUFvQztHQUFwQyxvQ0FBb0M7R0FBcEMscUVBQW9DLEVBQUU7O0FBRXpDO0dBQ0csb0NBQTRCO1dBQTVCLDRCQUE0QixFQUFFOztBQUVqQztHQUNHLG1DQUEyQjtXQUEzQiwyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRywyQ0FBbUM7R0FBbkMsbUNBQW1DO0dBQW5DLG1FQUFtQyxFQUFFOztBQUV4QztHQUNHLHVDQUErQjtHQUEvQiwrQkFBK0I7R0FBL0IsMkRBQStCO0dBQy9CLHdCQUFnQjtXQUFoQixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxpQ0FBeUI7V0FBekIseUJBQXlCLEVBQUU7O0FBRTlCO0dBQ0csa0NBQTBCO1dBQTFCLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLGdCQUFnQjtHQUNoQixTQUFTO0dBQ1QsU0FBUztHQUNULGtCQUFrQjtHQUNsQixTQUFTO0dBQ1QsbUJBQW1CO0dBQ25CLFlBQVk7R0FDWixrQ0FBa0M7R0FDbEMsaUJBQWlCO0dBQ2pCLFdBQVcsRUFBRTs7QUFFaEI7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csY0FBYztHQUNkLGlCQUFpQjtHQUNqQiwwQkFBMEI7R0FDMUIsYUFBYTtHQUNiLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLFlBQVk7R0FDWixrQkFBa0I7R0FDbEIsY0FBYztHQUNkLHVCQUF1QjtHQUN2QiwrQkFBK0IsRUFBRTs7QUFFcEM7R0FDRyxtQkFBbUI7R0FDbkIsV0FBVztHQUNYLG9CQUFvQjtHQUNwQixhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixpQ0FBaUM7R0FDakMsOEJBQXNCO1dBQXRCLHNCQUFzQjtHQUN0QixhQUFhO0dBQ2IsV0FBVztHQUNYLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csUUFBUTtHQUNSLGtDQUEwQjtXQUExQiwwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxtQkFBbUI7R0FDbkIsT0FBTztHQUNQLFlBQVk7R0FDWixnQkFBZ0I7R0FBaEIsZ0JBQWdCO0dBQ2hCLGlDQUF5QjtXQUF6Qix5QkFBeUIsRUFBRTs7QUFFOUI7R0FDRyxrQ0FBMEI7V0FBMUIsMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csMEJBQTBCO0dBQzFCLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsb0JBQW9CO0dBQ3BCLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLHdCQUF3QjtHQUN4QixpQkFBaUI7R0FDakIsa0JBQWtCO0dBQ2xCLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLGVBQWU7R0FDZixjQUFjO0dBQ2QsdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csY0FBYztHQUNkLHVCQUF1QjtHQUN2QiwrQkFBK0I7R0FDL0Isd0JBQXdCLEVBQUU7R0FDMUI7TUFDRyxxQkFBcUIsRUFBRTs7QUFFN0I7R0FDRztNQUNHLGFBQWEsRUFBRTtHQUNsQjtNQUNHLGFBQWEsRUFBRTtHQUNsQjtNQUNHLFlBQVksRUFBRTtHQUNqQjtNQUNHLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csaUJBQWlCLEVBQUUsRUFBRTs7QUFFM0I7R0FDRyxvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLGlCQUFpQjtNQUNqQixzQkFBc0I7TUFDdEIsV0FBVztNQUNYLFVBQVUsRUFBRTtNQUNaO1NBQ0csZ0JBQWdCLEVBQUU7U0FDbEI7WUFDRyxlQUFlO1lBQ2YsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixzQkFBc0IsRUFBRTtHQUNqQztNQUNHLDJCQUEyQjtNQUMzQixtQkFBbUI7TUFDbkIscUJBQXFCO01BQ3JCLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLFlBQVk7TUFDWixpQkFBaUIsRUFBRTtNQUNuQjtTQUNHLFlBQVk7U0FDWixtQkFBbUIsRUFBRTtNQUN4QjtTQUNHLFlBQVk7U0FDWixtQkFBbUI7U0FDbkIsV0FBVyxFQUFFO01BQ2hCO1NBQ0csa0NBQWtDLEVBQUU7R0FDMUM7TUFDRyxpQ0FBaUMsRUFBRTtHQUN0Qzs7TUFFRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxzQkFBc0IsRUFBRTtNQUN4QjtTQUNHLG9CQUFvQixFQUFFO01BQ3pCO1NBQ0csbUJBQW1CLEVBQUU7U0FDckI7WUFDRyxhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGtCQUFrQixFQUFFO01BQzFCO1NBQ0csc0JBQXNCO1NBQ3RCLGVBQWUsRUFBRTtTQUNqQjtZQUNHLGVBQWUsRUFBRTtNQUN2Qjs7U0FFRyxZQUFZLEVBQUU7O0FBRXZCLDZGQUE2RjtBQUM3RjtHQUNHO01BQ0csbUJBQW1CO01BQ25CLG9CQUFvQixFQUFFO01BQ3RCO1NBQ0csMENBQTBDO1NBQzFDLG1DQUFtQztTQUNuQyxzQ0FBc0M7U0FDdEMsOEJBQThCO1NBQzlCLFFBQVE7U0FDUixPQUFPLEVBQUU7TUFDWjtTQUNHLDBDQUEwQztTQUMxQyxxQ0FBcUM7U0FDckMsd0NBQXdDO1NBQ3hDLHVDQUF1QztTQUN2QyxhQUFhO1NBQ2IsWUFBWTtTQUNaLHNCQUFzQjtTQUN0QixPQUFPLEVBQUU7TUFDWjtTQUNHLHlDQUF5QyxFQUFFO0dBQ2pEOztNQUVHLG1CQUFtQixFQUFFO0dBQ3hCO01BQ0csd0NBQXdDLEVBQUU7R0FDN0M7O01BRUcsWUFBWTtNQUNaLFNBQVMsRUFBRSxFQUFFOztBQUVuQjtHQUNHO01BQ0csWUFBWSxFQUFFO01BQ2Q7U0FDRyxZQUFZLEVBQUU7U0FDZDtZQUNHLDBDQUEwQztZQUMxQyw2QkFBNkI7WUFDN0IscUNBQXFDO1lBQ3JDLG9DQUFvQztZQUNwQyxZQUFZO1lBQ1osT0FBTyxFQUFFO1NBQ1o7WUFDRywwQ0FBMEM7WUFDMUMscUNBQXFDO1lBQ3JDLHNDQUFzQztZQUN0QyxvQ0FBb0M7WUFDcEMsWUFBWTtZQUNaLGNBQWMsRUFBRTtTQUNuQjtZQUNHLHdDQUF3QyxFQUFFO01BQ2hEO1NBQ0csdUNBQXVDLEVBQUUsRUFBRTs7QUFFcEQ7R0FDRywwQkFBMEIsRUFBRTtHQUM1QjtNQUNHLGdDQUFnQyxFQUFFOztBQUV4QztHQUNHLFlBQVk7R0FDWixpQkFBaUI7R0FDakIsc0JBQXNCLEVBQUU7R0FDeEI7TUFDRyxvQkFBb0IsRUFBRTtHQUN6QjtNQUNHOztTQUVHLDJCQUEyQixFQUFFO01BQ2hDO1NBQ0csMkJBQTJCLEVBQUUsRUFBRTtHQUNyQztNQUNHO1NBQ0csb0JBQW9CO1NBQ3BCLGlCQUFpQixFQUFFO1NBQ25COztZQUVHLDBCQUEwQixFQUFFO1NBQy9CO1lBQ0csMEJBQTBCLEVBQUUsRUFBRTs7QUFFMUM7R0FDRyxZQUFZO0dBQ1osb0JBQW9CO0dBQ3BCLHNCQUFzQixFQUFFO0dBQ3hCO01BQ0csaUJBQWlCO01BQ2pCLFdBQVc7TUFDWCxVQUFVO01BQ1YsWUFBWTtNQUNaLG9CQUFvQixFQUFFO01BQ3RCO1NBQ0csZ0JBQWdCLEVBQUU7U0FDbEI7WUFDRyxtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLGtCQUFrQixFQUFFO1lBQ3BCO2VBQ0csYUFBYTtlQUNiLHNCQUFzQjtlQUN0QixrQkFBa0IsRUFBRTtTQUMxQjtZQUNHLHNCQUFzQjtZQUN0QixlQUFlLEVBQUU7WUFDakI7ZUFDRyxlQUFlLEVBQUU7ZUFDakI7a0JBQ0csZUFBZSxFQUFFO1NBQzFCO1lBQ0csY0FBYyxFQUFFO0dBQ3pCO01BQ0c7U0FDRyxjQUFjO1NBQ2Qsa0JBQWtCLEVBQUU7U0FDcEI7WUFDRyxlQUFlO1lBQ2YsVUFBVTtZQUNWLFdBQVcsRUFBRTtZQUNiO2VBQ0csY0FBYyxFQUFFO1lBQ25CO2VBQ0csY0FBYyxFQUFFO1lBQ25CO2VBQ0csY0FBYyxFQUFFO1lBQ25CO2VBQ0csZUFBZTtlQUNmLFlBQVk7ZUFDWiwyQkFBMkI7ZUFDM0IsbUJBQW1CO2VBQ25CLGlCQUFpQjtlQUNqQixxQkFBcUI7ZUFDckIsbUJBQW1CO2VBQ25CLGtCQUFrQjtlQUNsQixZQUFZLEVBQUU7ZUFDZDtrQkFDRyxlQUFlO2tCQUNmLG9CQUFvQjtrQkFDcEIsaUJBQWlCO2tCQUNqQix3QkFBd0IsRUFBRTtlQUM3QjtrQkFDRyxZQUFZO2tCQUNaLG1CQUFtQjtrQkFDbkIsNkJBQTZCO2tCQUM3QixxQ0FBcUM7a0JBQ3JDLG9DQUFvQztrQkFDcEMsWUFBWTtrQkFDWixPQUFPLEVBQUU7ZUFDWjtrQkFDRyxZQUFZO2tCQUNaLG1CQUFtQjtrQkFDbkIsV0FBVztrQkFDWCxxQ0FBcUM7a0JBQ3JDLHNDQUFzQztrQkFDdEMsb0NBQW9DO2tCQUNwQyxZQUFZO2tCQUNaLGNBQWM7a0JBQ2QsV0FBVyxFQUFFO2VBQ2hCO2tCQUNHLGtDQUFrQyxFQUFFO2tCQUNwQztxQkFDRyx3Q0FBd0MsRUFBRTtlQUNoRDtrQkFDRyxnQkFBZ0I7a0JBQ2hCLGlDQUFpQztrQkFDakMsWUFBWSxFQUFFO2tCQUNkO3FCQUNHLHVDQUF1QyxFQUFFO2VBQy9DO2tCQUNHLDBCQUEwQixFQUFFO2tCQUM1QjtxQkFDRyxnQ0FBZ0MsRUFBRTtlQUN4QztrQkFDRyxjQUFjLEVBQUUsRUFBRTs7QUFFcEM7R0FDRztNQUNHLGVBQWUsRUFBRTtNQUNqQjtTQUNHLGVBQWUsRUFBRTtNQUNwQjtTQUNHLFlBQVk7U0FDWixlQUFlO1NBQ2YsaUJBQWlCO1NBQ2pCLG1CQUFtQjtTQUNuQixvQkFBb0I7U0FDcEIsa0JBQWtCLEVBQUU7U0FDcEI7WUFDRyxnQkFBZ0IsRUFBRTtTQUNyQjtZQUNHLDBDQUEwQztZQUMxQyxzQ0FBc0M7WUFDdEMseUNBQXlDO1lBQ3pDLG9DQUFvQztZQUNwQyxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGFBQWE7WUFDYixVQUFVO1lBQ1YsWUFBWTtZQUNaLFlBQVksRUFBRTtTQUNqQjtZQUNHLDBDQUEwQztZQUMxQyxxQ0FBcUM7WUFDckMsd0NBQXdDO1lBQ3hDLHVDQUF1QztZQUN2QyxnQkFBZ0I7WUFDaEIsT0FBTztZQUNQLFVBQVU7WUFDVixhQUFhO1lBQ2IsWUFBWSxFQUFFO1NBQ2pCO1lBQ0csNkNBQTZDO1lBQzdDLGdEQUFnRCxFQUFFO1NBQ3JEO1lBQ0csOEJBQThCO1lBQzlCLHlDQUF5QyxFQUFFO1NBQzlDO1lBQ0csZ0JBQWdCLEVBQUU7WUFDbEI7ZUFDRyw0Q0FBNEM7ZUFDNUMsK0NBQStDLEVBQUU7WUFDcEQ7ZUFDRyw4QkFBOEI7ZUFDOUIsd0NBQXdDLEVBQUUsRUFBRTtHQUN4RDtNQUNHLGNBQWM7TUFDZCxrQkFBa0IsRUFBRTtNQUNwQjtTQUNHLGVBQWU7U0FDZixVQUFVO1NBQ1YsV0FBVyxFQUFFO1NBQ2I7WUFDRyxjQUFjLEVBQUU7U0FDbkI7WUFDRyxjQUFjLEVBQUU7U0FDbkI7WUFDRyxjQUFjLEVBQUU7U0FDbkI7WUFDRyxlQUFlO1lBQ2YsWUFBWTtZQUNaLDJCQUEyQjtZQUMzQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsZ0JBQWtCO1lBQWxCLGtCQUFrQjtZQUNsQixZQUFZLEVBQUU7WUFDZDtlQUNHLGVBQWU7ZUFDZixvQkFBb0I7ZUFDcEIsaUJBQWlCO2VBQ2pCLHdCQUF3QixFQUFFO1lBQzdCO2VBQ0csWUFBWTtlQUNaLG1CQUFtQjtlQUNuQiw2QkFBNkI7ZUFDN0IscUNBQXFDO2VBQ3JDLG9DQUFvQztlQUNwQyxZQUFZO2VBQ1osT0FBTyxFQUFFO1lBQ1o7ZUFDRyxZQUFZO2VBQ1osbUJBQW1CO2VBQ25CLFdBQVc7ZUFDWCxxQ0FBcUM7ZUFDckMsc0NBQXNDO2VBQ3RDLG9DQUFvQztlQUNwQyxZQUFZO2VBQ1osY0FBYztlQUNkLFdBQVcsRUFBRTtZQUNoQjtlQUNHLGtDQUFrQyxFQUFFO2VBQ3BDO2tCQUNHLHdDQUF3QyxFQUFFO1lBQ2hEO2VBQ0csZ0JBQWdCO2VBQ2hCLGlDQUFpQztlQUNqQyxZQUFZLEVBQUU7ZUFDZDtrQkFDRyx1Q0FBdUMsRUFBRTtZQUMvQztlQUNHLDBCQUEwQixFQUFFO2VBQzVCO2tCQUNHLGdDQUFnQyxFQUFFO1lBQ3hDO2VBQ0csY0FBYyxFQUFFO0dBQzVCO01BQ0c7U0FDRyxlQUFlLEVBQUU7U0FDakI7WUFDRyxlQUFlLEVBQUU7U0FDcEI7WUFDRyxZQUFZO1lBQ1osZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGtCQUFrQixFQUFFO1lBQ3BCO2VBQ0csZ0JBQWdCLEVBQUU7WUFDckI7ZUFDRywwQ0FBMEM7ZUFDMUMsc0NBQXNDO2VBQ3RDLHlDQUF5QztlQUN6QyxvQ0FBb0M7ZUFDcEMsZ0JBQWdCO2VBQ2hCLFlBQVk7ZUFDWixhQUFhO2VBQ2IsVUFBVTtlQUNWLFlBQVk7ZUFDWixZQUFZLEVBQUU7WUFDakI7ZUFDRywwQ0FBMEM7ZUFDMUMscUNBQXFDO2VBQ3JDLHdDQUF3QztlQUN4Qyx1Q0FBdUM7ZUFDdkMsZ0JBQWdCO2VBQ2hCLE9BQU87ZUFDUCxVQUFVO2VBQ1YsYUFBYTtlQUNiLFlBQVksRUFBRTtZQUNqQjtlQUNHLDZDQUE2QztlQUM3QyxnREFBZ0QsRUFBRTtZQUNyRDtlQUNHLDhCQUE4QjtlQUM5Qix5Q0FBeUMsRUFBRTtZQUM5QztlQUNHLGdCQUFnQixFQUFFO2VBQ2xCO2tCQUNHLDRDQUE0QztrQkFDNUMsK0NBQStDLEVBQUU7ZUFDcEQ7a0JBQ0csOEJBQThCO2tCQUM5Qix3Q0FBd0MsRUFBRSxFQUFFOztBQUU5RDs7R0FFRyxpQkFBaUIsRUFBRTtHQUNuQjtNQUNHOztTQUVHLGVBQWU7U0FDZixpQkFBaUI7U0FDakIsc0JBQXNCLEVBQUU7U0FDeEI7Ozs7WUFJRywwQkFBMEIsRUFBRSxFQUFFO0dBQ3ZDO01BQ0c7O1NBRUcsOEJBQThCO1NBQzlCLDJCQUEyQixFQUFFLEVBQUU7R0FDckM7O01BRUcsZUFBZTtNQUNmLGlCQUFpQjtNQUNqQixzQkFBc0IsRUFBRTtNQUN4Qjs7OztTQUlHLDBCQUEwQixFQUFFO01BQy9CO1NBQ0c7O1lBRUcsOEJBQThCO1lBQzlCLDJCQUEyQixFQUFFLEVBQUU7R0FDeEM7TUFDRzs7U0FFRyxnQkFBZ0I7U0FDaEIsZUFBZSxFQUFFO01BQ3BCOztTQUVHLGFBQWEsRUFBRSxFQUFFOztBQUUxQjtHQUNHLGNBQWM7R0FDZCxrQkFBa0I7R0FDbEIsd0JBQXdCO0dBQ3hCLHFCQUFxQixFQUFFO0dBQ3ZCO01BQ0csbUJBQW1CO01BQ25CLG9CQUFvQjtNQUNwQixjQUFjO01BQ2Qsb0JBQW9CO01BQ3BCLGVBQWUsRUFBRTtNQUNqQjtTQUNHLGdCQUFnQixFQUFFO01BQ3JCO1NBQ0csMEJBQTBCO1NBQzFCLGVBQWU7U0FDZixtQkFBbUI7U0FDbkIsYUFBYTtTQUNiLG1CQUFtQjtTQUNuQixvQkFBb0I7U0FDcEIsWUFBWTtTQUNaLGFBQWE7U0FDYixrQkFBa0I7U0FDbEIsZUFBZSxFQUFFO01BQ3BCO1NBQ0csNkJBQTZCLEVBQUU7U0FDL0I7WUFDRyx3Q0FBd0M7WUFDeEMsWUFBWTtZQUNaLGFBQWE7WUFDYixrQkFBa0IsRUFBRTtNQUMxQjtTQUNHLHNCQUFzQixFQUFFO1NBQ3hCO1lBQ0csaUNBQWlDLEVBQUU7TUFDekM7U0FDRztZQUNHLGNBQWMsRUFBRSxFQUFFO01BQ3hCO1NBQ0csbUJBQW1CLEVBQUU7U0FDckI7WUFDRyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFVBQVU7WUFDVixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsbUJBQW1CLEVBQUU7U0FDeEI7WUFDRyxlQUFlO1lBQ2YsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osVUFBVTtZQUNWLGdCQUFrQjtZQUFsQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixtQkFBbUIsRUFBRTs7QUFFakM7R0FDRyx3QkFBd0I7R0FDeEIsaUJBQWlCO0dBQ2pCLFdBQVc7R0FDWCxPQUFPLEVBQUU7O0FBRVo7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0c7TUFDRyxlQUFlO01BQ2YsNkJBQTZCO01BQzdCLGtCQUFrQjtNQUNsQixpQkFBaUI7TUFDakIscUJBQXFCLEVBQUUsRUFBRTs7QUFFL0I7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxlQUFlO0dBQ2YsaUNBQWlDO0dBQ2pDLDZCQUE2QixFQUFFOztBQUVsQztHQUNHLG1CQUFtQjtHQUNuQixtQkFBbUI7R0FDbkIsY0FBYztHQUNkLG9CQUFvQjtHQUNwQixvQkFBb0I7R0FDcEIsaUJBQWlCLEVBQUU7R0FDbkI7TUFDRyxnQ0FBZ0M7TUFDaEMsaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUNuQixXQUFXO01BQ1gsU0FBUztNQUNULGdCQUFnQjtNQUNoQixrQkFBa0IsRUFBRTs7QUFFMUI7R0FDRywwQkFBMEI7R0FDMUIsY0FBYztHQUNkLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLHNCQUFzQjtHQUN0QixtQkFBbUI7R0FDbkIsU0FBUztHQUNULFdBQVc7R0FDWCxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csV0FBVztNQUNYLGFBQWE7TUFDYiwwQkFBMEIsRUFBRTs7QUFFbEM7R0FDRyxtQkFBbUI7R0FDbkIsT0FBTztHQUNQLFFBQVE7R0FDUixTQUFTO0dBQ1QsVUFBVTtHQUNWLHNCQUFzQjtHQUN0QixlQUFlO0dBQ2YscUJBQXFCLEVBQUU7R0FDdkI7TUFDRyxhQUFhO01BQ2IsYUFBYTtNQUNiLHNCQUFzQjtNQUN0QixhQUFhO01BQ2IsbUJBQW1CO01BQ25CLGFBQWEsRUFBRTs7QUFFckI7R0FDRyxlQUFlO0dBQ2YscUJBQXFCLEVBQUU7R0FDdkI7TUFDRyxjQUFjO01BQ2QsZ0JBQWtCO01BQWxCLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxjQUFjO0dBQ2QsbUJBQW1CO0dBQ25CLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLGlCQUFpQjtHQUNqQixjQUFjO0dBQ2QsMEJBQTBCO0dBQzFCLGlCQUFpQjtHQUNqQixjQUFjLEVBQUU7R0FDaEI7TUFDRyxtQkFBbUIsRUFBRTs7QUFFM0I7R0FDRyxvQ0FBb0MsRUFBRTtHQUN0QztNQUNHLGlCQUFpQixFQUFFO0dBQ3RCO01BQ0csaUJBQWlCO01BQ2pCLDBCQUEwQjtNQUMxQixzQkFBc0I7TUFDdEIsaUNBQWlDO01BQ2pDLGtCQUFrQjtNQUNsQixrQkFBa0IsRUFBRTtHQUN2Qjs7O01BR0csaUNBQWlDO01BQ2pDLGFBQWE7TUFDYiw2QkFBNkIsRUFBRTtHQUNsQzs7TUFFRyxZQUFZO01BQ1osdUNBQXVDO01BQ3ZDLHFCQUFxQjtNQUNyQixjQUFjO01BQ2QsbUJBQW1CO01BQ25CLE9BQU87TUFDUCxVQUFVO01BQ1YsVUFBVTtNQUNWLFdBQVcsRUFBRTtHQUNoQjs7TUFFRyw0QkFBNEI7TUFDNUIsbUNBQW1DLEVBQUU7O0FBRTNDO0dBQ0csb0JBQW9CLEVBQUU7R0FDdEI7O01BRUcsc0JBQXNCO01BQ3RCLGdCQUFnQjtNQUFoQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BQ25CLFdBQVc7TUFDWCxTQUFTO01BQ1Qsa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxlQUFlLEVBQUU7R0FDcEI7TUFDRyxlQUFlLEVBQUU7O0FBRXZCO0dBQ0csaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUNuQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxjQUFjO0dBQ2Qsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csd0NBQXdDLEVBQUU7O0FBRTdDLHNCQUFzQjtBQUN0QjtHQUNHLDBCQUEwQjtHQUMxQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxtQkFBbUI7R0FDbkIsbUJBQW1CO0dBQ25CLDJCQUFtQjtPQUFuQixtQkFBbUI7R0FDbkIsU0FBUztHQUNULFVBQVUsRUFBRTtHQUNaO01BQ0csaUJBQWlCO01BQ2pCLGtCQUFrQjtNQUNsQixzQ0FBOEI7Y0FBOUIsOEJBQThCO01BQzlCLG1CQUFtQjtNQUNuQiwwQkFBMEI7TUFDMUIsMEJBQTBCO01BQzFCLG9CQUFvQjtNQUNwQixnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQixhQUFhO01BQ2IsdUJBQXVCO01BQ3ZCLHlDQUF5QztNQUN6QyxtQkFBbUI7TUFDbkIsV0FBVztNQUNYLHlCQUF5QixFQUFFO01BQzNCO1NBQ0csbUJBQW1CO1NBQ25CLFNBQVM7U0FDVCxZQUFZO1NBQ1osa0JBQWtCO1NBQ2xCLFlBQVk7U0FDWixhQUFhO1NBQ2IsaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxZQUFZO1NBQ1osbUJBQW1CO1NBQ25CLFlBQVk7U0FDWixhQUFhO1NBQ2IsUUFBUTtTQUNSLFNBQVM7U0FDVCx1REFBK0M7aUJBQS9DLCtDQUErQztTQUMvQywwQkFBMEI7U0FDMUIseUNBQXlDLEVBQUU7TUFDOUM7U0FDRyxxQkFBcUIsRUFBRTtTQUN2QjtZQUNHLFdBQVcsRUFBRTs7QUFFekI7R0FDRyxvQkFBb0I7R0FDcEIsV0FBVyxFQUFFOztBQUVoQjtHQUNHLGVBQWU7R0FDZixxQkFBcUI7R0FDckIsZUFBZTtHQUNmLDhDQUE4QztHQUM5QyxtQkFBbUI7R0FDbkIscUJBQXFCO0dBQ3JCLGdCQUFnQixFQUFFO0dBQ2xCO01BQ0csMkNBQTJDLEVBQUU7R0FDaEQ7TUFDRyxpQkFBaUIsRUFBRTs7QUFFekI7R0FDRyxtQkFBbUIsRUFBRTtHQUNyQjtNQUNHLG1DQUFtQztNQUNuQyxzQkFBc0I7TUFDdEIsYUFBYTtNQUNiLGVBQWU7TUFDZiw0QkFBNEI7TUFDNUIsZUFBZTtNQUNmLFVBQVU7TUFDVixpQkFBaUI7TUFBakIsaUJBQWlCO01BQ2pCLFdBQVc7TUFDWCxpQkFBaUI7TUFDakIsaUJBQXVCO01BQXZCLHVCQUF1QjtNQUN2QixxQkFBcUI7TUFDckIsbUJBQW1CO01BQ25CLHdCQUF3QjtNQUN4QiwyQ0FBbUM7Y0FBbkMsbUNBQW1DO01BQ25DLCtDQUF1QztNQUF2Qyx1Q0FBdUM7TUFBdkMsOERBQXVDO01BQ3ZDLGlCQUFpQjtNQUNqQixhQUFhLEVBQUU7R0FDbEI7TUFDRyxXQUFXO01BQ1gsNENBQW9DO2NBQXBDLG9DQUFvQyxFQUFFO0dBQ3pDO01BQ0cscUJBQXFCLEVBQUU7R0FDMUI7TUFDRyxZQUFZO01BQ1osV0FBVztNQUNYLDJDQUFtQztjQUFuQyxtQ0FBbUMsRUFBRTtHQUN4QztNQUNHLDBDQUFrQztjQUFsQyxrQ0FBa0MsRUFBRTtHQUN2QztNQUNHLGFBQWE7TUFDYixVQUFVO01BQ1YsNENBQW9DO2NBQXBDLG9DQUFvQyxFQUFFO0dBQ3pDO01BQ0csMkNBQW1DO2NBQW5DLG1DQUFtQyxFQUFFO0dBQ3hDO01BQ0csWUFBWTtNQUNaLFdBQVc7TUFDWCxZQUFZO01BQ1osMENBQWtDO2NBQWxDLGtDQUFrQyxFQUFFO0dBQ3ZDO01BQ0csMkNBQW1DO2NBQW5DLG1DQUFtQyxFQUFFOztBQUUzQzs7Ozs7O0VBTUU7QUFDRjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLFdBQVc7R0FDWCxvQ0FBNEI7V0FBNUIsNEJBQTRCO0dBQzVCLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLHdCQUF3QjtHQUN4QixnQ0FBd0I7V0FBeEIsd0JBQXdCLEVBQUU7O0FBRTdCO0dBQ0csd0JBQXdCO0dBQ3hCLDZCQUE2QixFQUFFOztBQUVsQztHQUNHLHVCQUF1QjtHQUN2QixtQkFBbUI7R0FDbkIsbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQiwwQkFBMEIsRUFBRTtHQUM1QjtNQUNHLHFDQUFxQyxFQUFFO0dBQzFDO01BQ0cscUNBQXFDLEVBQUU7O0FBRTdDO0dBQ0csMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csbUJBQW1CLEVBQUU7R0FDckI7TUFDRyxVQUFVO01BQ1YsV0FBVztNQUNYLG1CQUFtQjtNQUNuQixpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLFdBQVc7TUFDWCxtQkFBbUI7TUFDbkIsT0FBTyxFQUFFO0dBQ1o7TUFDRyxXQUFXO01BQ1gsbUJBQW1CO01BQ25CLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsd0NBQWdDO2NBQWhDLGdDQUFnQyxFQUFFO0dBQ3JDO01BQ0csV0FBVztNQUNYLG1CQUFtQjtNQUNuQiwrQkFBK0IsRUFBRTtHQUNwQztNQUNHLFdBQVcsRUFBRTtHQUNoQjtNQUNHLFdBQVc7TUFDWCxtQkFBbUIsRUFBRTtHQUN4QjtNQUNHLFdBQVc7TUFDWCxZQUFZO01BQ1osbUJBQW1CO01BQ25CLHNDQUE4QjtjQUE5Qiw4QkFBOEIsRUFBRTtHQUNuQztNQUNHLFdBQVcsRUFBRTtHQUNoQjtNQUNHLGNBQWMsRUFBRTs7QUFFdEI7OztHQUdHLFlBQVk7R0FDWixhQUFhLEVBQUU7O0FBRWxCOztHQUVHLCtCQUErQixFQUFFOztBQUVwQztHQUNHLG9DQUE0QjtXQUE1Qiw0QkFBNEI7R0FDNUIsV0FBVztHQUNYLFlBQVk7R0FDWixVQUFVO0dBQ1YsYUFBYTtHQUNiLFVBQVUsRUFBRTs7QUFFZjtHQUNHLGdEQUF3QztXQUF4Qyx3Q0FBd0M7R0FDeEMsYUFBYTtHQUNiLHNCQUFzQjtHQUN0QixVQUFVO0dBQ1YsV0FBVyxFQUFFOztBQUVoQjtHQUNHLFdBQVc7R0FDWCxZQUFZO0dBQ1osVUFBVTtHQUNWLFVBQVU7R0FDVixlQUFlO0dBQ2YsVUFBVSxFQUFFOztBQUVmO0dBQ0csV0FBVztHQUNYLFlBQVk7R0FDWixhQUFhO0dBQ2IsVUFBVSxFQUFFOztBQUVmO0dBQ0csYUFBYTtHQUNiLGFBQWEsRUFBRTtHQUNmO01BQ0csV0FBVztNQUNYLFlBQVk7TUFDWixhQUFhO01BQ2IsVUFBVSxFQUFFOztBQUVsQiw2QkFBNkI7QUFDN0I7R0FDRyxrQkFBa0I7R0FDbEIsWUFBWTtHQUNaLGFBQWE7R0FDYixtQkFBbUI7R0FDbkIsNkJBQTZCLEVBQUU7O0FBRWxDO0dBQ0csV0FBVztHQUNYLFlBQVk7R0FDWixVQUFVO0dBQ1YsU0FBUyxFQUFFOztBQUVkLHNCQUFzQjtBQUN0QjtHQUNHLGtCQUFrQjtHQUNsQixZQUFZO0dBQ1osYUFBYTtHQUNiLG1CQUFtQjtHQUNuQiw2QkFBNkIsRUFBRTs7QUFFbEM7R0FDRyxXQUFXO0dBQ1gsWUFBWTtHQUNaLFVBQVU7R0FDVixVQUFVLEVBQUU7O0FBRWY7R0FDRyxpQkFBaUI7R0FDakIsWUFBWTtHQUNaLGlCQUFpQixFQUFFOztBQUV0Qiw4QkFBOEI7QUFDOUI7R0FDRyxvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLGlCQUFpQixFQUFFOztBQUV6QjtHQUNHLGtCQUFrQixFQUFFOztBQUV2QixtQ0FBbUM7QUFDbkM7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxhQUFhO0dBQ2IsbUJBQW1CO0dBQ25CLFNBQVM7R0FDVCxPQUFPO0dBQ1AsVUFBVTtHQUNWLHNCQUFzQjtHQUN0QixrQkFBa0I7R0FDbEIsWUFBWTtHQUNaLGFBQWE7R0FDYixhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixXQUFXO0dBQ1gsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxjQUFjLEVBQUU7R0FDaEI7TUFDRyxhQUFhLEVBQUU7O0FBRXJCOztHQUVHLDZCQUE2QjtHQUM3QiwwQkFBMEI7R0FDMUIsMEJBQTBCO0dBQzFCLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRywwQkFBMEIsRUFBRTtHQUM1QjtNQUNHLHlCQUF5QixFQUFFOztBQUVqQztHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxZQUFZO0dBQ1osZUFBZTtHQUNmLG1CQUFtQjtHQUNuQiw4QkFBOEI7R0FDOUIsd0JBQXdCO0dBQ3hCLDZDQUFxQztXQUFyQyxxQ0FBcUM7R0FDckMsWUFBWTtHQUNaLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxpQkFBaUI7R0FDakIsaUJBQWlCLEVBQUU7R0FDbkI7TUFDRztTQUNHLGlCQUFpQixFQUFFLEVBQUU7R0FDM0I7TUFDRyxvQkFBb0I7TUFDcEIscUJBQXFCO01BQ3JCLGlDQUFpQyxFQUFFO01BQ25DO1NBQ0csaUJBQWlCO1NBQ2pCLGtCQUFrQjtTQUNsQixpQkFBaUIsRUFBRTtNQUN0QjtTQUNHLG1CQUFzQjtTQUF0QixzQkFBc0IsRUFBRTtTQUN4QjtZQUNHLGlCQUFpQixFQUFFOztBQUUvQjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLHNCQUFzQjtHQUN0QixZQUFZO0dBQ1osYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixTQUFTO0dBQ1Qsa0JBQWtCO0dBQ2xCLFVBQVU7R0FDVixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxlQUFlO0dBQ2YsWUFBWTtHQUNaLGFBQWE7R0FDYixtQkFBbUI7R0FDbkIsbUJBQW1CO0dBQ25CLDhCQUE4QjtHQUM5Qiw2QkFBNkI7R0FDN0Isd0RBQWdEO1dBQWhELGdEQUFnRCxFQUFFO0dBQ2xEO01BQ0csWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixTQUFTO01BQ1QsV0FBVztNQUNYLFlBQVk7TUFDWixVQUFVO01BQ1YsbUJBQW1CO01BQ25CLDhCQUE4QjtNQUM5QixvQ0FBb0M7TUFDcEMsMERBQWtEO2NBQWxELGtEQUFrRCxFQUFFO0dBQ3ZEO01BQ0csWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixVQUFVO01BQ1YsWUFBWTtNQUNaLGFBQWE7TUFDYixXQUFXO01BQ1gsbUJBQW1CO01BQ25CLDhCQUE4QjtNQUM5Qiw2QkFBNkI7TUFDN0Isd0RBQWdEO2NBQWhELGdEQUFnRCxFQUFFOztBQUV4RDtHQUNHO01BQ0csZ0NBQXdCO2NBQXhCLHdCQUF3QixFQUFFO0dBQzdCO01BQ0csa0NBQTBCO2NBQTFCLDBCQUEwQixFQUFFLEVBQUU7O0FBRXBDO0dBQ0csbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQiw0Q0FBb0M7V0FBcEMsb0NBQW9DLEVBQUU7R0FDdEM7TUFDRyxZQUFZO01BQ1osZUFBZTtNQUNmLG1CQUFtQjtNQUNuQiw4QkFBOEI7TUFDOUIsd0JBQXdCO01BQ3hCLDZDQUFxQztjQUFyQyxxQ0FBcUM7TUFDckMsWUFBWTtNQUNaLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsVUFBVTtNQUNWLFdBQVcsRUFBRTs7QUFFbkI7R0FDRztNQUNHLGdDQUF3QjtjQUF4Qix3QkFBd0IsRUFBRTtHQUM3QjtNQUNHLGtDQUEwQjtjQUExQiwwQkFBMEIsRUFBRSxFQUFFOztBQUpwQztHQUNHO01BQ0csZ0NBQXdCO2NBQXhCLHdCQUF3QixFQUFFO0dBQzdCO01BQ0csa0NBQTBCO2NBQTFCLDBCQUEwQixFQUFFLEVBQUU7O0FBRXBDOztFQUVFO0FBQ0Y7R0FDRyxtQkFBbUI7R0FDbkIsaUJBQWlCO0dBQWpCLGlCQUFpQjtHQUNqQixpQkFBaUI7R0FDakIsY0FBYztHQUNkLGtCQUFrQjtHQUNsQiwwQkFBMEIsRUFBRTtHQUM1QjtNQUNHLFlBQVk7TUFDWixpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csbUJBQW1CO01BQ25CLGFBQWU7TUFBZixlQUFlO01BQ2YsYUFBZTtNQUFmLGVBQWU7TUFDZixZQUFZO01BQ1osNEVBQTRFLEVBQUU7O0FBRXBGOztFQUVFO0FBQ0Y7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csbUJBQW1CLEVBQUU7R0FDckI7TUFDRyxlQUFlO01BQ2YsbUJBQXFCO01BQXJCLHFCQUFxQixFQUFFOztBQUU3QjtHQUNHLG1CQUFtQjtHQUNuQixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxZQUFZO0dBQ1osa0JBQWtCO0dBQ2xCLDJCQUEyQjtHQUMzQixjQUFjO0dBQ2QsZUFBZTtHQUNmLG9CQUFvQjtHQUNwQix1QkFBdUIsRUFBRTtHQUN6QjtNQUNHLHNCQUFzQjtNQUN0QixvQkFBb0IsRUFBRTs7QUFFNUI7R0FDRyxzQkFBc0I7R0FDdEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxvQkFBb0I7R0FDcEIsb0JBQW9CLEVBQUU7R0FDdEI7TUFDRywyQkFBMkI7TUFDM0IsaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxjQUFjLEVBQUU7R0FDbkI7TUFDRyxzQkFBc0IsRUFBRTs7QUFFOUI7R0FDRyxjQUFjO0dBQ2QsY0FBYztHQUNkLHNCQUFzQjtHQUN0Qix3QkFBd0I7R0FDeEIsb0JBQW9CO0dBQ3BCLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsU0FBUztHQUNULGFBQWE7R0FDYixlQUFlLEVBQUU7R0FDakI7TUFDRyxnQ0FBZ0M7TUFDaEMsZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixlQUFlO01BQ2YsbUJBQW1CO01BQ25CLGNBQWM7TUFDZCxVQUFVO01BQ1Ysb0NBQTRCO2NBQTVCLDRCQUE0QixFQUFFOztBQUVwQztHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxnQkFBZ0I7R0FDaEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csYUFBYTtHQUNiLGNBQWM7R0FDZCxpQkFBaUI7R0FDakIsMEJBQTBCO0dBQzFCLG1CQUFtQjtHQUNuQixZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLGdDQUFnQyxFQUFFOztBQUVyQztHQUNHLG1CQUFtQjtHQUNuQixXQUFXO0dBQ1gsU0FBUztHQUNULGVBQWU7R0FDZixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGdCQUFnQjtHQUNoQixhQUFhO0dBQ2Isb0JBQW9CO0dBQ3BCLDhCQUE4QjtHQUM5QixtQkFBbUIsRUFBRTtHQUNyQjtNQUNHLDBCQUEwQixFQUFFOztBQUVsQztHQUNHLDhDQUE4QztHQUM5QyxnQkFBZ0I7R0FBaEIsZ0JBQWdCO0dBQ2hCLG1CQUFtQjtHQUNuQixVQUFVO0dBQ1YsVUFBVTtHQUNWLG1CQUFtQjtHQUNuQixlQUFlLEVBQUU7R0FDakI7TUFDRyxpQkFBaUIsRUFBRTs7QUFFekI7R0FDRyxtQkFBbUI7R0FDbkIsUUFBUTtHQUNSLFVBQVU7R0FDVixZQUFZO0dBQ1osYUFBYTtHQUNiLHVCQUF1QjtHQUN2Qiw0QkFBNEIsRUFBRTs7QUFFakM7R0FDRyxtQkFBbUI7R0FDbkIsYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsU0FBUztHQUNULGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsZUFBZTtHQUNmLGNBQWMsRUFBRTs7QUFFbkI7R0FDRywyQ0FBMkM7R0FDM0Msc0JBQXNCO0dBQ3RCLFlBQVk7R0FDWixtQkFBbUI7R0FDbkIsUUFBUTtHQUNSLFNBQVM7R0FDVCxtQkFBbUI7R0FDbkIsYUFBYTtHQUNiLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyw4QkFBOEI7R0FDOUIsVUFBVTtHQUNWLFdBQVc7R0FDWCxZQUFZO0dBQ1osaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUNuQixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQixtQkFBbUI7R0FDbkIsc0JBQXNCLEVBQUU7R0FDeEI7TUFDRyxlQUFlO01BQ2YsbUJBQW1CO01BQ25CLFlBQVk7TUFDWixVQUFVLEVBQUU7R0FDZjtNQUNHLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsWUFBWTtNQUNaLFdBQVc7TUFDWCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLGlCQUFpQixFQUFFOztBQUV6QjtHQUNHLDhDQUE4QztHQUM5Qyw2Q0FBcUM7V0FBckMscUNBQXFDO0dBQ3JDLG1CQUFtQjtHQUNuQixhQUFhO0dBQ2IsVUFBVTtHQUNWLG1CQUFtQjtHQUNuQixjQUFjLEVBQUU7R0FDaEI7TUFDRyxpQkFBaUIsRUFBRTs7QUFFekI7R0FDRyxtQkFBbUI7R0FDbkIsY0FBYztHQUNkLFlBQVk7R0FDWixXQUFXO0dBQ1gsY0FBYyxFQUFFO0dBQ2hCO01BQ0csWUFBWTtNQUNaLHNCQUFzQjtNQUN0QixZQUFZO01BQ1osYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUNuQixVQUFVO01BQ1YsU0FBUyxFQUFFOztBQUVqQjtHQUNHLFdBQVc7R0FDWCxpQkFBaUIsRUFBRTs7QUFFdEIsY0FBYztBQUNkO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCOztHQUVHLGVBQWUsRUFBRTs7QUFFcEI7O0dBRUcsc0JBQXNCO0dBQ3RCLDhDQUE4QyxFQUFFOztBQUVuRDtHQUNHLGFBQWEsRUFBRTtHQUNmO01BQ0csaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csZUFBZSxFQUFFO0dBQ2pCO01BQ0csaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csZ0JBQWdCLEVBQUU7R0FDbEI7TUFDRyxxQkFBcUIsRUFBRTtHQUMxQjtNQUNHLHVCQUF1QjtNQUN2QixtQkFBbUI7TUFDbkIsWUFBWSxFQUFFOztBQUVwQjtHQUNHLDhCQUE4QjtHQUM5QiwrQkFBK0IsRUFBRTtHQUNqQztNQUNHLGNBQWMsRUFBRTs7QUFFdEI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxZQUFZO0dBQ1osYUFBYSxFQUFFOztBQUVsQjs7RUFFRTtBQUNGO0dBQ0csY0FBYztHQUNkLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLG1CQUFtQjtHQUNuQixzQkFBc0I7R0FDdEIsYUFBYTtHQUNiLFlBQVk7R0FDWixlQUFlLEVBQUU7R0FDakI7TUFDRyxXQUFXO01BQ1gsWUFBWTtNQUNaLGFBQWEsRUFBRTtHQUNsQjtNQUNHLGFBQWE7TUFDYixZQUFZLEVBQUU7O0FBRXBCOztFQUVFO0FBQ0Y7R0FDRywrQkFBK0I7R0FDL0IsMEJBQTBCO0dBQzFCLDRCQUE0QjtHQUM1QixvQkFBb0I7R0FDcEIsbUJBQW1CO0dBQ25CLGFBQWEsRUFBRTtHQUNmO01BQ0csbUJBQW1CO01BQ25CLFlBQVk7TUFDWixVQUFVLEVBQUU7TUFDWjtTQUNHLGtCQUFrQjtTQUNsQixnQkFBZ0IsRUFBRTtHQUN4QjtNQUNHLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0cscUJBQXFCLEVBQUU7R0FDMUI7TUFDRyxzQkFBc0I7TUFDdEIsMkJBQTJCO01BQzNCLGFBQWEsRUFBRTtNQUNmO1NBQ0csYUFBYTtTQUNiLGtCQUFrQjtTQUNsQixnQkFBZ0IsRUFBRTs7QUFFM0I7OztHQUdHLHNCQUFzQixFQUFFOztBQUUzQjs7O0dBR0csMkJBQTJCLEVBQUU7O0FBRWhDO0dBQ0csY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLHlCQUF5QixFQUFFOztBQUU5QjtHQUNHLGlCQUFpQjtHQUNqQixvQkFBb0I7R0FDcEIsbUJBQW1CO0dBQ25CLFlBQVksRUFBRTtHQUNkO01BQ0csbUJBQW1CO01BQ25CLGdCQUFnQjtNQUNoQixjQUFjO01BQ2Qsb0JBQW9CO01BQ3BCLDRCQUE0QixFQUFFO01BQzlCO1NBQ0csdUJBQXVCO1NBQ3ZCLGdCQUFnQjtTQUNoQixhQUFhO1NBQ2IsbUJBQW1CO1NBQ25CLGtCQUFrQjtTQUNsQixzQkFBc0I7U0FDdEIsOENBQThDO1NBQzlDLG1CQUFtQjtTQUNuQixxQkFBcUI7U0FDckIsb0NBQW9DO1NBQ3BDLG1DQUFtQztTQUNuQyxpQkFBaUI7U0FDakIsWUFBWTtTQUNaLHVCQUF1QixFQUFFO01BQzVCO1NBQ0csaUJBQWlCLEVBQUU7TUFDdEI7U0FDRyxZQUFZO1NBQ1osMEJBQTBCO1NBQzFCLGdCQUFnQjtTQUNoQixnQkFBa0I7U0FBbEIsa0JBQWtCO1NBQ2xCLFdBQVc7U0FDWCxrQkFBa0I7U0FDbEIsU0FBUztTQUNULGlCQUFpQjtTQUNqQixrQkFBa0I7U0FDbEIsWUFBWTtTQUNaLGtCQUFrQjtTQUNsQixjQUFjO1NBQ2Qsb0JBQW9CO1NBQ3BCLCtCQUErQixFQUFFO01BQ3BDO1NBQ0csZ0JBQWtCO1NBQWxCLGtCQUFrQixFQUFFO1NBQ3BCO1lBQ0csV0FBVyxFQUFFO1NBQ2hCO1lBQ0csYUFBYSxFQUFFO0dBQ3hCO01BQ0csd0JBQXdCO01BQ3hCLG9CQUFvQjtNQUNwQiwwQkFBMEI7TUFDMUIsa0JBQWtCO01BQ2xCLGlCQUFpQixFQUFFO0dBQ3RCO01BQ0csa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxpQkFBaUI7TUFDakIsZUFBZTtNQUNmLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxvQkFBb0IsRUFBRTtNQUN0QjtTQUNHLGdCQUFnQjtTQUNoQixhQUFhO1NBQ2IsdUJBQXVCO1NBQ3ZCLG1CQUFtQjtTQUNuQixpQkFBaUIsRUFBRTtNQUN0QjtTQUNHLGNBQWM7U0FDZCxlQUFlLEVBQUU7O0FBRTFCO0dBQ0csY0FBYztHQUNkLHNDQUFzQztHQUN0QyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxtQkFBbUI7R0FDbkIsMkRBQTJEO0dBQzNELG1DQUFtQyxFQUFFOztBQUV4QztHQUNHLHNCQUFzQjtHQUN0QixZQUFZO0dBQ1osYUFBYTtHQUNiLDhDQUFzQztHQUF0QyxzQ0FBc0M7R0FBdEMseUVBQXNDLEVBQUU7O0FBRTNDO0dBQ0csbUNBQTJCO1dBQTNCLDJCQUEyQixFQUFFOztBQUVoQztHQUNHLG1CQUFtQjtHQUNuQixZQUFZO0dBQ1osYUFBYTtHQUNiLGVBQWU7R0FDZiw2QkFBNkIsRUFBRTs7QUFFbEM7R0FDRyxhQUFhO0dBQ2IsZ0JBQWdCO0dBQ2hCLGFBQWE7R0FDYixtQkFBbUI7R0FDbkIsaUJBQWlCO0dBQ2pCLGlCQUFpQjtHQUNqQixXQUFXLEVBQUU7R0FDYjtNQUNHLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csc0JBQXNCO01BQ3RCLHlCQUF5QjtNQUN6QixnQkFBZ0I7TUFDaEIscUJBQXFCO01BQ3JCLG9DQUFvQztNQUNwQyxtQkFBbUI7TUFDbkIsV0FBVztNQUNYLFVBQVU7TUFDVixrQkFBa0IsRUFBRTtHQUN2QjtNQUNHLDBCQUEwQixFQUFFO01BQzVCO1NBQ0csaUJBQWlCLEVBQUU7R0FDekI7TUFDRywwQkFBMEI7TUFDMUIsYUFBYSxFQUFFO01BQ2Y7U0FDRyxpQkFBaUIsRUFBRTtHQUN6QjtNQUNHLDBCQUEwQixFQUFFO01BQzVCO1NBQ0csaUJBQWlCLEVBQUU7R0FDekI7TUFDRywwQkFBMEIsRUFBRTtNQUM1QjtTQUNHLGlCQUFpQixFQUFFOztBQUU1QjtHQUNHLDZCQUE2QjtHQUM3QixpQkFBaUI7R0FDakIsY0FBYztHQUNkLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLG1CQUFtQjtHQUNuQixZQUFZO0dBQ1osVUFBVTtHQUNWLFlBQVk7R0FDWixhQUFhO0dBQ2IsOEJBQThCO0dBQzlCLG1CQUFtQjtHQUNuQixtQkFBbUIsRUFBRTtHQUNyQjtNQUNHLGVBQWU7TUFDZixnQ0FBZ0M7TUFDaEMsZ0JBQWdCO01BQ2hCLHFCQUFxQjtNQUNyQixvQ0FBb0M7TUFDcEMsa0JBQWtCLEVBQUU7O0FBRTFCO0dBQ0csb0JBQW9CO0dBQ3BCLFVBQVU7R0FDVixRQUFRO0dBQ1IsWUFBWTtHQUNaLFlBQVk7R0FDWixhQUFhLEVBQUU7O0FBRWxCO0dBQ0csY0FBYztHQUNkLGtEQUEwQztXQUExQywwQ0FBMEMsRUFBRTs7QUFFL0M7R0FDRztNQUNHLFdBQVcsRUFBRSxFQUFFOztBQUZyQjtHQUNHO01BQ0csV0FBVyxFQUFFLEVBQUU7O0FBRXJCLFlBQVk7QUFDWixtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCOztHQUVHLGdCQUFnQjtHQUNoQiw0RkFBNEY7R0FDNUYsaUJBQWlCO0dBQ2pCLHdDQUF3QztHQUN4QyxrQkFBYztHQUFkLGNBQWM7T0FDZCxxR0FBcUc7R0FDckcsNEJBQWlDO0dBQWpDLGlDQUFpQztHQUNqQyxrQ0FBdUM7R0FBdkMsdUNBQXVDLEVBQUU7R0FDekM7O01DdjFMSCxnQkFBQTtNQUFBLG1CQUFBO01EeTFMTSx5QkFBeUI7TUFDekIsY0FBYztNQUNkLDRCQUE0QjtNQUM1QixvQkFBb0I7TUFDcEIsNEJBQTRCO01BQzVCLGtEQUFrRCxFQUFFO0dBQ3ZEOztNQy8xTEgsZ0JBQUE7TUFBQSxtQkFBQTtNRGkyTE0sMEJBQTBCO01BQzFCLGNBQWM7TUFDZCx1QkFBdUI7TUFDdkIsb0JBQW9CO01BQ3BCLGlCQUFpQjtNQUNqQix3Q0FBd0MsRUFBRTtHQUM3Qzs7TUN2MkxILGdCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtNRHkyTE0scUJBQXFCO01BQ3JCLGlCQUFpQjtNQUNqQixlQUFlO01BQ2Ysa0JBQWtCO01BQ2xCLG1CQUFtQixFQUFFO01BQ3JCOztTQUVHLGVBQWU7U0FDZixtQkFBbUIsRUFBRTtHQUMzQjs7TUFFRyxnQkFBZ0I7TUFDaEIsYUFBYTtNQUNiLHFDQUFxQztNQUNyQyxhQUFhO01BQ2IsZUFBZSxFQUFFO0dBQ3BCOztNQ3ozTEgsZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01EMjNMTSxlQUFlLEVBQUU7R0FDcEI7O01DNTNMSCxnQkFBQTtNQUFBLG1CQUFBO01EODNMTSxtQkFBbUIsRUFBRTtHQUN4Qjs7TUMvM0xILGdCQUFBO01BQUEsbUJBQUE7TURpNExNLGtCQUFrQixFQUFFOztBQUUxQjtHQUNHOzRCQUN5QjtPQUN6Qiw0R0FBNEcsRUFBRTtHQUM5RztNQUNHLGdCQUFnQjtNQUNoQixtQkFBbUI7TUFDbkIsd0JBQXdCO01BQ3hCLG1CQUFtQixFQUFFOztBQUUzQjtHQUNHLGdCQUFnQjtHQUNoQixtQkFBbUI7R0FDbkIsd0JBQXdCLEVBQUU7O0FBRTdCLHFDQUFxQztBQUNyQztPQUNHLDRHQUE0RztHQUM1RyxpQkFBaUI7R0FDakIsd0JBQTZCO0dBQTdCLDZCQUE2QjtHQUM3Qix5QkFBOEI7R0FBOUIsOEJBQThCO0dBQzlCLGtCQUFjO0dBQWQsY0FBYyxFQUFFO0dBQ2hCO01BQ0csZ0JBQWdCO01BQ2hCLG1CQUFtQjtNQUNuQix3QkFBd0I7TUFDeEIsbUJBQW1CLEVBQUU7O0FBRTNCLHNDQUFzQztBQUN0QztPQUNHLDRHQUE0RztHQUM1Ryx1QkFBdUIsRUFBRTtHQUN6QjtNQUNHLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsdUJBQXVCO01BQ3ZCLDJDQUEyQyxFQUFFO0dBQ2hEO01BQ0c7U0FDRyxjQUFjLEVBQUUsRUFBRTtHQUN4QjtNQUNHLG1CQUFtQixFQUFFO0dBQ3hCO01BQ0csYUFBYSxFQUFFOztBQUVyQjtPQUNHLDRHQUE0RztHQUM1Ryx1QkFBdUIsRUFBRTtHQUN6QjtNQUNHLFdBQVc7TUFDWCw4QkFBOEI7TUFDOUIsa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCx1QkFBdUI7TUFDdkIsMkNBQTJDO01BQzNDLGVBQWUsRUFBRTtHQUNwQjtNQUNHO1NBQ0csY0FBYyxFQUFFLEVBQUU7R0FDeEI7TUFDRyxtQkFBbUIsRUFBRTtHQUN4QjtNQUNHLGFBQWEsRUFBRTs7QUFFckI7R0FDRywrQkFBK0IsRUFBRTs7QUFFcEM7R0FDRywyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRyxlQUFlO0dBQ2YsbUJBQW1CO0dBQ25CLGFBQWEsRUFBRTs7QUFFbEI7R0FDRywwQkFBMEI7R0FDMUIsYUFBYSxFQUFFOztBQUVsQjtHQUNHLHdDQUF3QztHQUN4QywrQkFBK0IsRUFBRTs7QUFFcEM7R0FDRyxlQUFlO0dBQ2YsY0FBYztHQUNkLHVCQUF1QjtHQUN2QixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxjQUFjO0dBQ2QsdUJBQXVCO0dBQ3ZCLGVBQWU7R0FDZixZQUFZLEVBQUU7O0FBRWpCO0dBQ0csaUJBQWlCO0dBQ2pCLGFBQWEsRUFBRTs7QUFFbEI7R0FDRztNQUNHLGlCQUFpQjtNQUNqQixhQUFhLEVBQUUsRUFBRTs7QUFFdkI7Ozs7O0dBS0csa0NBQWtDLEVBQUU7O0FBRXZDLHlHQUF5RztBQUN6RztHQUNHLGFBQWE7R0FDYixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxtSUFBbUk7R0FDbkksZUFBZTtHQUNmLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxlQUFlLEVBQUU7O0FBRXBCLCtDQUErQztBQUMvQztHQUNHLGFBQWEsRUFBRTs7QUFFbEIsb0RBQW9EO0FBQ3BEOztHQUVHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csYUFBYSxFQUFFOztBQUVsQixtSUFBbUk7QUFDbkk7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0c7TUFDRyxtQkFBbUIsRUFBRSxFQUFFOztBQUU3QjtHQUNHO01BQ0csVUFBVTtNQUNWLG1CQUFtQjtNQUNuQixhQUFhLEVBQUU7R0FDbEI7TUFDRyw0QkFBaUM7TUFBakMsaUNBQWlDLEVBQUU7TUFDbkM7U0FDRyxXQUFXO1NBQ1gsK0JBQStCO1NBQy9CLGdDQUFnQyxFQUFFO0dBQ3hDO01BQ0csVUFBVTtNQUNWLCtCQUErQjtNQUMvQiwwQkFBMEIsRUFBRTtHQUMvQjs7TUFFRyxTQUFTLEVBQUU7R0FDZDtNQUNHLHNCQUFzQixFQUFFLEVBQUU7O0FBRWhDO0dBQ0c7TUFDRyxjQUFjLEVBQUUsRUFBRTs7QUFFeEI7R0FDRztNQUNHLGVBQWU7TUFDZixrQkFBa0IsRUFBRTtHQUN2QjtNQUNHLGVBQWUsRUFBRTtHQUNwQjs7OztNQUlHLHdCQUF3QixFQUFFO0dBQzdCOzs7O01BSUcsMEJBQTBCLEVBQUU7R0FDL0I7TUFDRyxZQUFZLEVBQUU7TUFDZDtTQUNHLFlBQVk7U0FDWixtQkFBbUIsRUFBRTtHQUMzQjtNQUNHLGNBQWMsRUFBRSxFQUFFOztBQUV4QixZQUFZO0FBQ1o7R0FDRyxhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLG1CQUFtQjtHQUNuQixVQUFVO0dBQ1YsYUFBYTtHQUNiLGFBQWEsRUFBRTtHQUNmO01BQ0csbUJBQW1CO01BQ25CLHNCQUFzQixFQUFFO0dBQzNCO01BQ0csZ0JBQWdCO01BQ2hCLHNCQUFzQixFQUFFO01BQ3hCO1NBQ0csNEJBQTRCLEVBQUU7R0FDcEM7TUFDRyxtQkFBbUI7TUFDbkIsa0NBQWtDO01BQ2xDLG1CQUFtQjtNQUNuQixlQUFlO01BQ2YsZ0JBQWdCO01BQ2hCLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BQ25CLFVBQVU7TUFDVixhQUFhO01BQ2IsYUFBYTtNQUNiLGtCQUFrQixFQUFFO01BQ3BCO1NBQ0csYUFBYSxFQUFFO0dBQ3JCO01BQ0csYUFBYSxFQUFFOztBQUVyQix5QkFBeUI7QUFDekI7R0FDRyxtQkFBbUI7R0FDbkIsT0FBTztHQUNQLFNBQVM7R0FDVCx1QkFBdUI7R0FDdkIsYUFBYTtHQUNiLGlCQUFpQjtHQUNqQiw4QkFBOEI7R0FDOUIsaUJBQWlCO0dBQ2pCLCtCQUErQjtHQUMvQixhQUFhLEVBQUU7R0FDZjtNQUNHLGNBQWM7TUFDZCwwQkFBMEIsRUFBRTtHQUMvQjtNQUNHLHdDQUF3QyxFQUFFO0dBQzdDO01BQ0csd0NBQXdDO01BQ3hDLGlEQUFpRDtNQUNqRCxzQkFBc0I7TUFDdEIsYUFBYTtNQUNiLGVBQWUsRUFBRTtNQUNqQjtTQUNHLDREQUFvRDtpQkFBcEQsb0RBQW9EO1NBQ3BELHNDQUE4QjtpQkFBOUIsOEJBQThCO1NBQzlCLHNCQUFzQixFQUFFO0dBQzlCO01BQ0c7U0FDRyx3Q0FBd0M7U0FDeEMsaURBQWlEO1NBQ2pELHNCQUFzQjtTQUN0QixhQUFhO1NBQ2IsZUFBZSxFQUFFO1NBQ2pCO1lBQ0csNERBQW9EO29CQUFwRCxvREFBb0Q7WUFDcEQsc0NBQThCO29CQUE5Qiw4QkFBOEI7WUFDOUIsc0JBQXNCLEVBQUUsRUFBRTtHQUNuQztNQUNHLHdDQUF3QztNQUN4QyxpREFBaUQ7TUFDakQsc0JBQXNCO01BQ3RCLGFBQWE7TUFDYixlQUFlLEVBQUU7TUFDakI7U0FDRyw0REFBb0Q7aUJBQXBELG9EQUFvRDtTQUNwRCxzQ0FBOEI7aUJBQTlCLDhCQUE4QjtTQUM5QixzQkFBc0IsRUFBRTs7QUFFakM7R0FDRyxZQUFZLEVBQUU7O0FBRWpCO0dBQ0c7TUFDRyxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csa0NBQTBCO2NBQTFCLDBCQUEwQjtNQUMxQixnQkFBZ0IsRUFBRSxFQUFFOztBQU4xQjtHQUNHO01BQ0csZ0NBQXdCO2NBQXhCLHdCQUF3QjtNQUN4QixnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGtDQUEwQjtjQUExQiwwQkFBMEI7TUFDMUIsZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUI7R0FDRztNQUNHLGtDQUEwQjtjQUExQiwwQkFBMEI7TUFDMUIsZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLGdCQUFnQixFQUFFLEVBQUU7O0FBTjFCO0dBQ0c7TUFDRyxrQ0FBMEI7Y0FBMUIsMEJBQTBCO01BQzFCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csZ0NBQXdCO2NBQXhCLHdCQUF3QjtNQUN4QixnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtHQUNHLGFBQWE7R0FDYixZQUFZO0dBQ1osbUJBQW1CO0dBQ25CLHNCQUFzQjtHQUN0QixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLDZCQUE2QixFQUFFOztBQUVsQztHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxrQkFBa0I7R0FDbEIsYUFBYTtHQUNiLHNCQUFzQjtHQUN0QixvQkFBb0I7R0FDcEIsYUFBYTtHQUNiLGlCQUFpQjtHQUNqQixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxvQkFBb0I7R0FDcEIsa0JBQWtCO0dBQ2xCLGVBQWlCO0dBQWpCLGlCQUFpQjtHQUNqQixzQkFBc0I7R0FDdEIsZ0JBQWdCO0dBQ2hCLGtCQUFrQjtHQUNsQiw2REFBcUQ7V0FBckQscURBQXFELEVBQUU7O0FBRTFEO0dBQ0csb0JBQW9CO0dBQ3BCLGdCQUFnQjtHQUNoQixlQUFlO0dBQ2YsY0FBYztHQUNkLG9CQUFvQjtHQUNwQix3QkFBd0IsRUFBRTs7QUFFN0I7R0FDRyxhQUFhO0dBQ2IsaUJBQWlCO0dBQ2pCLGdCQUFnQixFQUFFO0dBQ2xCO01BQ0csMkJBQTJCO01BQzNCLGFBQWE7TUFDYixjQUFjO01BQ2QsbUJBQW1CLEVBQUU7R0FDeEI7TUFDRywyQkFBMkI7TUFDM0Isd0NBQXdDO01BQ3hDLGdCQUFnQixFQUFFOztBQUV4Qjs7R0FFRyxnQkFBZ0IsRUFBRTs7QUFFckI7Ozs7O0dBS0csZUFBZSxFQUFFOztBQUVwQjtHQUNHLGdCQUFnQjtHQUFoQixnQkFBZ0I7R0FDaEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0c7TUFDRyxhQUFhLEVBQUU7R0FDbEI7TUFDRyxjQUFjO01BQ2QsaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxjQUFjO01BQ2QsMEJBQTBCLEVBQUU7R0FDL0I7TUFDRyw0QkFBNEIsRUFBRTtNQUM5QjtTQUNHLGVBQWUsRUFBRTtHQUN2QjtNQUNHLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csMkJBQWdDO01BQWhDLGdDQUFnQyxFQUFFO01BQ2xDO1NBQ0csZ0JBQWdCO1NBQ2hCLG1CQUFtQjtTQUNuQix3QkFBd0I7U0FDeEIsbUJBQW1CLEVBQUUsRUFBRTs7QUFFaEM7R0FDRztNQUNHLHdDQUF3QztNQUN4QyxpQkFBaUI7TUFDakIsaUJBQWlCLEVBQUU7TUFDbkI7U0FDRyx5QkFBeUIsRUFBRSxFQUFFOztBQUV0QztHQUNHOztNQUVHLG9CQUFvQixFQUFFLEVBQUU7O0FBRTlCLFlBQVk7QUFDWjtHQUNHLG1CQUFtQjtHQUNuQixtQkFBbUI7R0FDbkIsbUJBQW1CO0dBQ25CLGFBQWEsRUFBRTtHQUNmO01BQ0c7U0FDRyxtQkFBbUI7U0FDbkIsYUFBYSxFQUFFLEVBQUU7R0FDdkI7TUFDRywrQkFBK0IsRUFBRTs7QUFFdkM7R0FDRyxZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLG1CQUFtQixFQUFFOztBQUV4Qjs7R0FFRyxtQkFBbUI7R0FDbkIsbUJBQW1CLEVBQUU7R0FDckI7O01BRUcsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixVQUFVO01BQ1YsU0FBUztNQUNULCtCQUErQjtNQUMvQixpQkFBaUIsRUFBRTs7QUFFekI7R0FDRyxnQkFBZ0I7R0FDaEIsYUFBYTtHQUNiLGNBQWMsRUFBRTtHQUNoQjtNQUNHO1NBQ0cseUJBQXlCLEVBQUUsRUFBRTs7QUFFdEM7R0FDRyxjQUFjO0dBQ2QsbUJBQW1CO0dBQ25CLFlBQVk7R0FDWixhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLGFBQWE7R0FDYix1QkFBdUI7R0FDdkIsa0JBQWtCLEVBQUU7R0FDcEI7TUFDRyxzQkFBc0IsRUFBRTs7QUFFOUI7R0FDRyxtQkFBbUI7R0FDbkIsU0FBUztHQUNULFlBQVksRUFBRTs7QUFFakIsNkRBQTZEO0FBQzdEOzs7R0FHRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxjQUFjO0dBQ2QsbUJBQW1CO0dBQ25CLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxpQkFBaUIsRUFBRTtHQUNuQjtNQUNHLGNBQWMsRUFBRTtNQUNoQjtTQUNHLGVBQWUsRUFBRTtHQUN2QjtNQUNHLG9CQUFvQixFQUFFOztBQUU1QjtHQUNHLGVBQWU7R0FBZixlQUFlLEVBQUU7O0FBRXBCO0dBQ0csaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUFuQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxVQUFVLEVBQUU7O0FBRWY7R0FDRyxtQkFBbUI7R0FDbkIsc0NBQXNDLEVBQUU7O0FBRTNDO0dBQ0csaUJBQWlCLEVBQUU7R0FDbkI7TUFDRywwQkFBMEI7TUFDMUIsV0FBVyxFQUFFOztBQUVuQjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLGVBQWU7R0FDZixjQUFjO0dBQWQsY0FBYyxFQUFFO0dBQ2hCO01BQ0c7U0FDRyxjQUFjO1NBQ2Qsb0JBQW9CLEVBQUU7U0FDdEI7WUFDRyxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsa0JBQWtCLEVBQUU7U0FDdkI7WUFDRyxhQUFhO1lBQ2IsY0FBYyxFQUFFO01BQ3RCOztTQUVHLG1CQUFtQixFQUFFLEVBQUU7R0FDN0I7TUFDRyxZQUFZLEVBQUU7R0FDakI7TUFDRyxvQkFBc0I7TUFBdEIsc0JBQXNCLEVBQUU7O0FBRTlCO0dBQ0csZUFBZTtHQUNmLFlBQVk7R0FDWixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxVQUFVLEVBQUU7O0FBRWY7R0FDRyxvQkFBb0I7R0FDcEIsY0FBYyxFQUFFOztBQUVuQjtHQUNHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRywwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRywwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxvQkFBb0I7R0FDcEIsY0FBYztHQUNkLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLFlBQVk7R0FDWixhQUFhO0dBQ2Isc0JBQXNCO0dBQ3RCLHFCQUFxQixFQUFFOztBQUUxQjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLHFCQUFxQixFQUFFOztBQUUxQjtHQUNHLGlCQUFpQixFQUFFO0dBQ25CO01BQ0csZUFBZTtNQUNmLGVBQWU7TUFDZixrQkFBa0I7TUFDbEIsNEJBQTRCLEVBQUU7O0FBRXBDO0dBQ0csbUJBQW1CO0dBQ25CLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLG1CQUFtQjtHQUNuQixlQUFlO0dBQ2Ysb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csZUFBZTtHQUNmLG1CQUFtQjtHQUNuQixpQkFBaUIsRUFBRTs7QUFFdEI7Ozs7R0FJRyxvQkFBb0I7R0FDcEIsa0JBQWtCO0dBQ2xCLG9CQUFvQjtHQUNwQixzQkFBc0I7R0FDdEIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixlQUFlO0dBQ2Ysc0JBQXNCO0dBQ3RCLGtCQUFrQjtHQUNsQixZQUFZO0dBQ1osb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csbUJBQW1CO0dBQ25CLFlBQVk7R0FDWixhQUFhO0dBQ2IsZ0JBQWtCO0dBQWxCLGtCQUFrQixFQUFFO0dBQ3BCO01BQ0csbUJBQW1CO01BQ25CLFFBQVE7TUFDUixVQUFVLEVBQUU7O0FBRWxCO0dBQ0csWUFBWTtHQUNaLG9CQUFvQjtHQUNwQixlQUFlLEVBQUU7O0FBRXBCO0dBQ0csb0JBQW9CLEVBQUU7R0FDdEI7O01BRUcsOEJBQThCLEVBQUU7O0FBRXRDO0dBQ0csb0JBQW9CLEVBQUU7R0FDdEI7TUFDRyxtQkFBbUIsRUFBRTtHQUN4Qjs7TUFFRyw4QkFBOEIsRUFBRTtHQUNuQztNQUNHLGlDQUFpQyxFQUFFOztBQUV6QztHQUNHLG1CQUFtQixFQUFFOztBQUV4QixrREFBa0Q7QUFDbEQ7O0dBRUcsbUJBQW1CLEVBQUU7O0FBRXhCOztHQUVHLG1CQUFtQixFQUFFOztBQUV4Qjs7R0FFRywwQkFBMEI7R0FDMUIsaUJBQWlCLEVBQUU7O0FBRXRCOztHQUVHLGFBQWEsRUFBRTs7QUFFbEI7Ozs7OztHQU1HLGdCQUFnQjtHQUNoQixhQUFhLEVBQUU7R0FDZjs7Ozs7O01BTUcscUJBQXFCLEVBQUU7O0FBRTdCO0dBQ0csY0FBYztHQUNkLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLGNBQWM7R0FDZCxXQUFXO0dBQ1gsVUFBVSxFQUFFOztBQUVmO0dBQ0csV0FBVztHQUNYLGNBQWM7R0FDZCx1QkFBdUI7R0FDdkIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0cseUJBQXlCO0dBQ3pCLGlCQUFpQjtHQUNqQixlQUFlLEVBQUU7O0FBRXBCO0dBQ0csa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQix5QkFBeUIsRUFBRTs7QUFFOUI7R0FDRyxpQkFBaUI7R0FDakIsY0FBYztHQUNkLFlBQVk7R0FDWixhQUFhO0dBQ2IsWUFBWSxFQUFFOztBQUVqQjtHQUNHLGlCQUFpQixFQUFFO0dBQ25CO01BQ0csb0JBQW9CLEVBQUU7O0FBRTVCO0dBQ0csaUJBQWlCO0dBQ2pCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGlCQUFpQjtHQUNqQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsb0JBQW9CO0dBQ3BCLG1CQUFtQjtHQUNuQixlQUFlLEVBQUU7O0FBRXBCO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixrQkFBa0I7R0FDbEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCOzs7R0FHRyxzQkFBc0I7R0FDdEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csZUFBZTtHQUNmLGlCQUFpQjtHQUNqQixrQkFBa0I7R0FDbEIsZ0JBQWtCO0dBQWxCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGVBQWU7R0FDZixhQUFhO0dBQ2IsY0FBYztHQUNkLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csbUJBQW1CO0dBQ25CLFNBQVM7R0FDVCxPQUFPO0dBQ1AsUUFBUTtHQUNSLFVBQVU7R0FDVixnQkFBZ0I7R0FDaEIsV0FBVztHQUNYLFlBQVk7R0FDWixhQUFhO0dBQ2IsYUFBYSxFQUFFOztBQUVsQjs7O0dBR0csc0JBQXNCO0dBQ3RCLGFBQWEsRUFBRTs7QUFFbEI7R0FDRywwQkFBMEI7R0FDMUIsYUFBYSxFQUFFOztBQUVsQjtHQUNHLDBCQUEwQjtHQUMxQixhQUFhLEVBQUU7O0FBRWxCO0dBQ0csYUFBYTtHQUNiLHNCQUFzQjtHQUN0Qix1QkFBdUI7R0FDdkIsbUJBQW1CO0dBQ25CLGNBQWM7R0FDZCxnQkFBZ0I7R0FBaEIsZ0JBQWdCO0dBQ2hCLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLHNCQUFzQjtHQUN0Qix5QkFBeUIsRUFBRTs7QUFFOUI7O0dBRUcsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csc0JBQXNCLEVBQUU7R0FDeEI7TUFDRyxpQkFBaUIsRUFBRTs7QUFFekI7R0FDRztNQUNHLHFCQUFxQixFQUFFO0dBQzFCO01BQ0csa0JBQWtCO01BQ2xCLGVBQWUsRUFBRTtHQUNwQjtNQUNHLGNBQWMsRUFBRSxFQUFFOztBQUV4Qjs7RUFFRTtBQUNGO0dBQ0csWUFBWTtHQUNaLGdCQUFnQjtHQUNoQixVQUFVLEVBQUU7O0FBRWY7R0FDRyxlQUFlO0dBQ2Ysd0JBQXdCO0dBQ3hCLGNBQWM7R0FBZCxjQUFjO0dBQ2QsMkNBQTJDO0dBQzNDLGFBQWEsRUFBRTs7QUFFbEI7R0FDRywwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxZQUFZO0dBQ1osaUJBQWlCO0dBQ2pCLGtCQUFrQjtHQUNsQixtQkFBbUI7R0FDbkIsZ0JBQWdCO0dBQ2hCLDhCQUE4QjtHQUM5QixjQUFjO0dBQ2QsdUJBQXVCLEVBQUU7R0FDekI7TUFDRyx3QkFBd0I7TUFDeEIsY0FBYztNQUFkLGNBQWM7TUFDZCwyQ0FBMkM7TUFDM0MsYUFBYSxFQUFFO01BQ2Y7U0FDRyxlQUFlLEVBQUU7O0FBRTFCO0dBQ0c7TUFDRyxjQUFjLEVBQUUsRUFBRTs7QUFFeEI7R0FDRyxxQkFBcUIsRUFBRTs7QUFFMUI7R0FDRyxZQUFZLEVBQUU7O0FBRWpCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csY0FBYyxFQUFFOztBQUVuQjs7S0FFSztBQUNMOztHQUVHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLHlCQUFpQjtPQUFqQixpQkFBaUI7R0FDakIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csZ0JBQWtCO0dBQWxCLGtCQUFrQixFQUFFO0dBQ3BCO01BQ0csaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxpQkFBaUI7TUFDakIsbUJBQW1CLEVBQUU7O0FBRTNCO0dBQ0csY0FBYztHQUNkLHVCQUF1QjtHQUN2QixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxnQkFBZ0I7R0FDaEIsbUJBQW1CO0dBQ25CLG9CQUFvQjtHQUNwQixjQUFjO0dBQ2Qsb0JBQW9CO0dBQ3BCLFlBQVksRUFBRTtHQUNkO01BQ0csZ0JBQWdCO01BQWhCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0c7U0FDRyx1QkFBdUIsRUFBRSxFQUFFOztBQUVwQztHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsMEJBQTBCO0dBQzFCLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxxQkFBcUI7R0FDckIsY0FBYyxFQUFFOztBQUVuQjtHQUNHLGdCQUFnQjtHQUNoQixZQUFZLEVBQUU7O0FBRWpCO0dBQ0csYUFBYTtHQUNiLGVBQWU7R0FDZixZQUFZO0dBQ1osb0JBQW9CO0dBQ3BCLGVBQWU7R0FDZixhQUFhO0dBQ2IsV0FBVyxFQUFFOztBQUVoQjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGNBQWM7R0FDZCxtQkFBbUI7R0FDbkIsZUFBZTtHQUNmLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsOEJBQThCLEVBQUU7O0FBRW5DO0dBQ0csY0FBYztHQUNkLDBCQUEwQjtHQUMxQixRQUFRLEVBQUU7O0FBRWI7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFvQjtHQUFwQixvQkFBb0I7R0FDcEIsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csMEJBQTBCO0dBQzFCLGtCQUFrQjtHQUNsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxxQkFBcUI7R0FDckIsZ0JBQWdCO0dBQ2hCLGFBQWE7R0FDYixhQUFhO0dBQ2IsK0JBQStCLEVBQUU7O0FBRXBDO0dBQ0csa0JBQWtCO0dBQ2xCLDJCQUEyQjtHQUMzQixZQUFZO0dBQ1osb0JBQW9CLEVBQUU7R0FDdEI7TUFDRyxzQkFBc0I7TUFDdEIsb0JBQW9CLEVBQUU7R0FDekI7TUFDRyxtQkFBbUI7TUFDbkIsaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csaUJBQWlCO0dBQ2pCLFlBQVk7R0FDWix3QkFBd0IsRUFBRTtHQUMxQjtNQUNHO1NBQ0csdUJBQXVCO1NBQ3ZCLDRCQUE0QixFQUFFLEVBQUU7R0FDdEM7TUFDRztTQUNHLHNCQUFzQixFQUFFO1NBQ3hCO1lBQ0csWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixvQkFBb0IsRUFBRSxFQUFFOztBQUVwQztHQUNHLCtCQUErQjtHQUMvQixjQUFjO0dBQ2Qsb0JBQW9CO0dBQ3BCLDZCQUE2QjtHQUM3QixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxZQUFZO0dBQ1osbUJBQW1CO0dBQ25CLGNBQWM7R0FDZCxlQUFlO0dBQ2YsWUFBWTtHQUNaLGFBQWEsRUFBRTtHQUNmO01BQ0csWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixVQUFVO01BQ1YsWUFBWTtNQUNaLFlBQVk7TUFDWiwrQkFBK0I7TUFDL0Isa0NBQTBCO2NBQTFCLDBCQUEwQixFQUFFO0dBQy9CO01BQ0csWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixVQUFVO01BQ1YsWUFBWTtNQUNaLFlBQVk7TUFDWiwrQkFBK0I7TUFDL0IsaUNBQXlCO2NBQXpCLHlCQUF5QixFQUFFOztBQUVqQztHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLGVBQWU7R0FDZiwwQkFBMEIsRUFBRTs7QUFFL0I7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csY0FBYztHQUNkLG9CQUFvQjtHQUNwQixzQkFBc0I7R0FDdEIsZUFBZSxFQUFFO0dBQ2pCO01BQ0csZUFBZTtNQUNmLHNCQUFzQixFQUFFOztBQUU5QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQW9CO0dBQXBCLG9CQUFvQjtHQUNwQixlQUFlO0dBQ2YsYUFBYSxFQUFFOztBQUVsQjtHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRywwQkFBMEI7R0FDMUIsa0JBQWtCO0dBQ2xCLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQW9CO0dBQXBCLG9CQUFvQixFQUFFOztBQUV6Qjs7R0FFRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0cseUJBQXlCLEVBQUU7O0FBRTlCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csa0JBQWtCO0dBQ2xCLGtCQUFtQjtHQUFuQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFvQjtHQUFwQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxzQkFBc0I7R0FDdEIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csMEJBQTBCO0dBQzFCLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxZQUFZO0dBQ1osYUFBYTtHQUNiLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxrQkFBa0I7R0FDbEIsZ0JBQWtCO0dBQWxCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsaUJBQW1CO0dBQW5CLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxtQkFBbUI7R0FDbkIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csa0JBQWtCO0dBQ2xCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQW9CO0dBQXBCLG9CQUFvQjtHQUNwQixZQUFZO0dBQ1osWUFBWSxFQUFFO0dBQ2Q7TUFDRyxlQUFlO01BQ2Ysc0JBQXNCLEVBQUU7O0FBRTlCO0dBQ0csYUFBZTtHQUFmLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsWUFBWSxFQUFFOztBQUVqQjtHQUNHLG1CQUFtQjtHQUNuQixVQUFVLEVBQUU7O0FBRWY7R0FDRywrQkFBK0I7R0FDL0IscUJBQXFCO0dBQ3JCLGlCQUFpQixFQUFFO0dBQ25CO01BQ0csZUFBZTtNQUNmLHNCQUFzQixFQUFFO0dBQzNCO01BQ0csYUFBYSxFQUFFOztBQUVyQjtHQUNHLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLDBCQUEwQjtHQUMxQixrQkFBa0IsRUFBRTs7QUFFdkIsc0RBQXNEO0FBQ3REOzs7R0FHRyx3QkFBd0IsRUFBRTs7QUFFN0IsdUVBQXVFO0FBQ3ZFO0dBQ0csa0JBQWtCO0dBQ2xCLHVCQUF1QjtHQUN2Qix5QkFBeUIsRUFBRTs7QUFFOUI7R0FDRyxXQUFXLEVBQUU7R0FDYjtNQUNHLGdCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsa0JBQWtCO01BQ2xCLG9CQUFvQjtNQUNwQiwwQkFBMEI7TUFDMUIsa0NBQTBCO2NBQTFCLDBCQUEwQixFQUFFO0dBQy9CO01BQ0csZ0NBQXdCO2NBQXhCLHdCQUF3QixFQUFFOztBQUVoQztHQUNHLDRCQUE0QixFQUFFOztBQUVqQztHQUNHLGFBQWE7R0FDYixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxjQUFjO0dBQ2QsY0FBYztHQUNkLDhCQUE4QjtHQUM5QixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyw4QkFBOEI7R0FDOUIsYUFBZTtHQUFmLGVBQWU7R0FDZixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxtQkFBbUI7R0FDbkIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csZ0JBQWdCO0dBQWhCLGdCQUFnQixFQUFFOztBQUVyQjtHQUNHLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQW9CO0dBQXBCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsb0JBQW9CO0dBQ3BCLDhCQUE4QixFQUFFOztBQUVuQztHQUNHLDBCQUEwQjtHQUMxQixpQkFBaUI7R0FDakIsbUJBQW1CO0dBQ25CLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLFlBQVk7R0FDWixzQkFBc0I7R0FDdEIsOEJBQWlDO0dBQWpDLGlDQUFpQztHQUNqQyxTQUFTO0dBQ1QsVUFBVTtHQUNWLG1CQUFtQjtHQUNuQixrQkFBa0I7R0FDbEIsb0JBQW9CLEVBQUU7O0FBRXpCOzs7R0FHRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRzs7Ozt3QkFJcUI7R0FDckIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csY0FBYztHQUNkLGdDQUFnQyxFQUFFOztBQUVyQztHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0cscUJBQXFCLEVBQUU7O0FBRTFCO0dBQ0csdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csa0JBQWtCO0dBQ2xCLGtCQUFtQjtHQUFuQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxjQUFjO0dBQ2Qsd0JBQXdCO0dBQ3hCLG9CQUFvQjtHQUNwQix1QkFBdUIsRUFBRTtHQUN6QjtNQUNHLGlCQUFpQjtNQUNqQixrQkFBa0IsRUFBRTs7QUFFMUI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csaUJBQWlCLEVBQUU7O0FBRXRCLDZCQUE2QjtBQUM3QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGNBQWM7R0FDZCxnQkFBZ0I7R0FDaEIsb0JBQW9CLEVBQUU7O0FBRXpCOztHQUVHLG1CQUFtQjtHQUNuQixrQkFBa0I7R0FDbEIsd0JBQXdCO0dBQ3hCLGtCQUFrQjtHQUNsQiwwQkFBMEI7R0FDMUIsa0JBQWtCO0dBQ2xCLG9CQUFvQjtHQUNwQixrQkFBa0I7R0FDbEIsYUFBYSxFQUFFOztBQUVsQjtHQUNHLG9CQUFvQjtHQUNwQixpQkFBaUI7R0FDakIsbUJBQW1CO0dBQ25CLGdCQUFnQjtHQUNoQiwwQkFBMEI7R0FDMUIsOEJBQThCLEVBQUU7O0FBRW5DO0dBQ0csWUFBWTtHQUNaLGlDQUFpQyxFQUFFOztBQUV0QztHQUNHLFlBQVk7R0FDWixpQ0FBaUMsRUFBRTs7QUFFdEM7R0FDRyxtQkFBbUI7R0FDbkIsMkJBQTJCO0dBQzNCLE9BQU87R0FDUCxTQUFTO0dBQ1QsUUFBUTtHQUNSLFVBQVU7R0FDVixhQUFhO0dBQ2IsV0FBVyxFQUFFOztBQUVoQjtHQUNHLGlCQUFpQjtHQUNqQixnQ0FBZ0M7R0FDaEMsWUFBWTtHQUNaLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLFNBQVM7R0FDVCxVQUFVO0dBQ1Ysa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixXQUFXLEVBQUU7O0FBRWhCO0dBQ0csbUJBQW1CO0dBQ25CLFlBQVk7R0FDWixVQUFVO0dBQ1YsWUFBWTtHQUNaLGFBQWE7R0FDYixrQkFBa0I7R0FDbEIsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csWUFBWTtHQUNaLG1CQUFtQjtHQUNuQiwyQkFBMkI7R0FDM0IsT0FBTztHQUNQLFNBQVM7R0FDVCxRQUFRO0dBQ1IsVUFBVTtHQUNWLGFBQWE7R0FDYixXQUFXLEVBQUU7O0FBRWhCO0dBQ0csb0JBQW9CO0dBQ3BCLGdCQUFrQjtHQUFsQixrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxzQkFBc0I7R0FDdEIsaUJBQWlCO0dBQ2pCLDJCQUEyQixFQUFFOztBQUVoQztHQUNHLDJCQUEyQjtHQUMzQixnQkFBa0I7R0FBbEIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csYUFBYTtHQUNiLGlCQUFpQjtHQUNqQiwyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRywwQkFBMEI7R0FDMUIsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixrQkFBa0I7R0FDbEIsZUFBZTtHQUNmLG9CQUFvQjtHQUNwQixpQkFBaUI7R0FDakIsb0JBQW9CO0dBQ3BCLHdCQUF3QixFQUFFOztBQUU3QjtHQUNHLGNBQWM7R0FDZCxvQkFBb0IsRUFBRTs7QUFFekI7O0dBRUcsY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLG1CQUFtQjtHQUNuQixZQUFZO0dBQ1osaUJBQWlCLEVBQUU7O0FBRXRCOztHQUVHLGFBQWE7R0FDYixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxlQUFlO0dBQ2YsWUFBWSxFQUFFOztBQUVqQjtHQUNHLGFBQWE7R0FDYixjQUFjO0dBQ2QsbUJBQW1CLEVBQUU7R0FDckI7TUFDRyxpQkFBaUIsRUFBRTs7QUFFekI7R0FDRywwQkFBMEI7R0FDMUIsc0JBQXNCO0dBQ3RCLGdCQUFrQjtHQUFsQixrQkFBa0I7R0FDbEIsa0JBQWtCLEVBQUU7O0FBRXZCOztHQUVHLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxrQkFBa0I7R0FDbEIsZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxxQkFBcUI7R0FDckIsb0JBQW9CO0dBQ3BCLGtDQUFrQyxFQUFFO0dBQ3BDO01BQ0cscUJBQXFCLEVBQUU7O0FBRTdCO0dBQ0cscUJBQXFCO0dBQ3JCLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0cscUJBQXFCLEVBQUU7O0FBRTdCO0dBQ0csY0FBYztHQUNkLG9CQUFvQjtHQUNwQixrQkFBa0I7R0FDbEIsYUFBYTtHQUNiLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLGVBQWU7R0FDZixZQUFZO0dBQ1osYUFBYTtHQUNiLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxhQUFhO0dBQ2IsaUJBQWlCO0dBQ2pCLHNCQUFzQjtHQUN0QixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLG1CQUFtQjtHQUNuQixPQUFPO0dBQ1AsU0FBUztHQUNULFVBQVU7R0FDVixRQUFRO0dBQ1IsV0FBVyxFQUFFOztBQUVoQiwwQkFBMEI7QUFDMUI7R0FDRyxpQkFBaUI7R0FDakIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csb0JBQW9CO0dBQ3BCLHFCQUFxQjtHQUNyQixpQ0FBaUMsRUFBRTs7QUFFdEM7R0FDRyxtQkFBbUI7R0FDbkIsaUJBQWlCO0dBQ2pCLGtCQUFrQixFQUFFO0dBQ3BCO01BQ0csbUJBQW1CO01BQ25CLG9CQUFvQixFQUFFOztBQUU1Qjs7R0FFRyxzQkFBc0I7R0FDdEIsWUFBWSxFQUFFOztBQUVqQjtHQUNHLGtCQUFrQjtHQUNsQixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLFNBQVMsRUFBRTs7QUFFZDs7O0dBR0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csZUFBZTtHQUNmLG1CQUFtQjtHQUNuQixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLG1CQUFtQixFQUFFOztBQUV4Qjs7OztHQUlHLGFBQWE7R0FDYixzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyx5QkFBeUI7R0FDekIscUJBQXFCO0dBQ3JCLG9DQUFvQztHQUNwQyxzQkFBc0I7R0FDdEIsa0JBQWtCO0dBQ2xCLGlCQUFpQjtHQUNqQixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLGVBQWU7R0FDZixrQ0FBMEI7V0FBMUIsMEJBQTBCO0dBQzFCLG1CQUFtQjtHQUNuQixRQUFRLEVBQUU7O0FBRWI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxvQkFBb0I7R0FDcEIsc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0c7TUFDRyxvQkFBb0IsRUFBRTtHQUN6QjtNQUNHLG9CQUFvQjtNQUNwQixxQkFBcUI7TUFDckIsaUNBQWlDLEVBQUUsRUFBRTs7QUFFM0M7R0FDRztNQUNHLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsK0JBQStCLEVBQUUsRUFBRTs7QUFFekM7R0FDRztNQUNHLGlCQUFpQjtNQUNqQixrQkFBa0I7TUFDbEIsb0JBQW9CLEVBQUU7R0FDekI7O01BRUcsa0JBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQiwrQkFBK0IsRUFBRSxFQUFFOztBQUV6QyxvREFBb0Q7QUFDcEQ7R0FDRyxjQUFjO0dBQ2QsdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLGNBQWM7R0FDZCx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCOzs7R0FHRyxRQUFRLEVBQUU7O0FBRWIsa0JBQWtCO0FBQ2xCO0dBQ0c7O01BRUcsb0JBQW9CLEVBQUUsRUFBRTs7QUFFOUIsZ0ZBQWdGO0FBQ2hGO0dBQ0c7OztNQUdHLFdBQVcsRUFBRSxFQUFFOztBQUVyQixhQUFhO0FBQ2I7R0FDRztNQUNHLG9CQUFvQixFQUFFO0dBQ3pCO01BQ0csY0FBYztNQUNkLFFBQVEsRUFBRTtHQUNiO01BQ0csUUFBUSxFQUFFO0dBQ2I7O01BRUcsUUFBUSxFQUFFLEVBQUU7O0FBRWxCO0dBQ0csa0JBQW9CO0dBQXBCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHLGlCQUFpQjtHQUNqQixhQUFhLEVBQUU7R0FDZjtNQUNHLGNBQWM7TUFDZCx1QkFBdUI7TUFDdkIsYUFBYSxFQUFFOztBQUVyQjtHQUNHLHFDQUFxQyxFQUFFOztBQUUxQztHQUNHLFVBQVUsRUFBRTs7QUFFZjtHQUNHLGFBQWE7R0FDYixVQUFVO0dBQ1YsY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLHlCQUF5QjtHQUN6QixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxrQkFBa0I7R0FDbEIsY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1Qiw4Q0FBOEM7QUFDOUM7R0FDRzs7TUFFRyx1QkFBdUIsRUFBRSxFQUFFOztBQUVqQztHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0c7TUFDRyxlQUFlLEVBQUU7TUFDakI7U0FDRyxlQUFlLEVBQUU7R0FDdkI7TUFDRyxtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUU7R0FDekI7TUFDRyxZQUFZO01BQ1osb0JBQW9CLEVBQUUsRUFBRTs7QUFFOUI7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxpQkFBaUI7R0FDakIsbUJBQW1CO0dBQ25CLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLG1CQUFtQjtHQUNuQixnQkFBZ0IsRUFBRTtHQUNsQjtNQUNHO1NBQ0csZ0JBQWdCLEVBQUUsRUFBRTs7QUFFN0I7R0FDRyxnQkFBa0I7R0FBbEIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csbUJBQW1CO0dBQ25CLFFBQVE7R0FDUixTQUFTO0dBQ1QsU0FBUztHQUNULGVBQWU7R0FDZixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7O0dBRUcsYUFBYTtHQUNiLGlCQUFpQjtHQUNqQixtQkFBbUI7R0FDbkIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csc0JBQXNCO0dBQ3RCLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxzQkFBc0I7R0FDdEIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csaUJBQWlCLEVBQUU7R0FDbkI7TUFDRyxhQUFhO01BQ2IsaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csb0JBQW9CO0dBQ3BCLHNCQUFzQixFQUFFOztBQUUzQixTQUFTO0FBQ1Q7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxrQkFBa0I7R0FDbEIsb0JBQW9CLEVBQUU7O0FBRXpCOzs7O0dBSUcsY0FBYyxFQUFFOztBQUVuQjs7R0FFRyxpQkFBaUI7R0FDakIsaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csb0JBQW9CLEVBQUU7O0FBRXpCLHVCQUF1QjtBQUN2QjtHQUNHLDBDQUEwQztHQUMxQyxnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLG9CQUFvQjtHQUNwQixhQUFhLEVBQUU7O0FBRWxCO0dBQ0csY0FBYyxFQUFFOztBQUVuQjtHQUNHLG1CQUFtQjtHQUNuQixnQkFBa0I7R0FBbEIsa0JBQWtCO0dBQ2xCLFdBQVc7R0FDWCxhQUFhLEVBQUU7O0FBRWxCOztHQUVHLGFBQWE7R0FDYixnQkFBa0I7R0FBbEIsa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csZ0JBQWtCO0dBQWxCLGtCQUFrQjtHQUNsQixpQkFBaUIsRUFBRTs7QUFFdEIsaUJBQWlCO0FBQ2pCO0dBQ0csc0JBQXNCO0dBQ3RCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLGlCQUFpQixFQUFFO0dBQ25CO01BQ0csZ0JBQWdCO01BQ2hCLGVBQWUsRUFBRTtHQUNwQjtNQUNHLGdCQUFnQixFQUFFO01BQ2xCO1NBQ0csY0FBYyxFQUFFO01BQ25CO1NBQ0csaUJBQWlCLEVBQUU7TUFDdEI7O1NBRUcsY0FBYyxFQUFFOztBQUV6QixvRkFBb0Y7QUFDcEY7O0dBRUcsc0JBQXNCLEVBQUU7O0FBRTNCOzs7R0FHRyxzQkFBc0IsRUFBRTs7QUFFM0I7O0dBRUcsc0JBQXNCO0dBQ3RCLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLHNCQUFzQixFQUFFOztBQUUzQjs7R0FFRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxzQkFBc0IsRUFBRTs7QUFFM0I7R0FDRyxjQUFjO0dBQ2Qsa0NBQWtDO0dBQ2xDLHlCQUF5QjtHQUN6Qix1QkFBdUI7R0FDdkIscUJBQXFCO0dBQ3JCLDBCQUEwQixFQUFFO0dBQzVCO01BQ0cseUJBQThCO01BQTlCLDhCQUE4QixFQUFFO01BQ2hDO1NBQ0csd0JBQW9CO1NBQXBCLG9CQUFvQixFQUFFO0dBQzVCO01BQ0csY0FBYztNQUNkLHVCQUF1QixFQUFFO0dBQzVCO01BQ0csY0FBYztNQUNkLG9CQUFvQjtNQUNwQixrQkFBb0I7TUFBcEIsb0JBQW9CLEVBQUU7R0FDekI7TUFDRyxhQUFhO01BQ2IsaUJBQWlCO01BQ2pCLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBRTtNQUNyQjtTQUNHO1lBQ0csaUJBQWlCO1lBQ2pCLG1CQUFtQixFQUFFLEVBQUU7R0FDaEM7TUFDRyxhQUFhLEVBQUU7R0FDbEI7TUFDRyxtQkFBcUI7VUFBckIscUJBQXFCLEVBQUU7TUFDdkI7U0FDRyxpQkFBaUIsRUFBRTtHQUN6QjtNQUNHLGNBQWM7TUFDZCw4RUFBOEU7TUFDOUUsZ0JBQWdCO01BQWhCLHFCQUFnQjtNQUFoQixnQkFBZ0I7TUFDaEIseUZBQXlGO01BQ3pGLG1CQUFxQjtVQUFyQixxQkFBcUI7TUFDckIsWUFBWTtNQUNaLG9CQUFvQixFQUFFO01BQ3RCO1NBQ0csYUFBYTtTQUNiLFlBQVk7U0FDWixxQkFBa0I7WUFBbEIsa0JBQWtCLEVBQUU7R0FDMUI7TUFDRztTQUNHLDJCQUFnQztTQUFoQyxnQ0FBZ0MsRUFBRSxFQUFFO0dBQzFDO01BQ0c7U0FDRywyQkFBZ0M7U0FBaEMsZ0NBQWdDLEVBQUU7TUFDckM7U0FDRyxtQkFBd0I7U0FBeEIsd0JBQXdCO1NBQXhCLHdCQUF3QixFQUFFO01BQzdCOztTQUVHLGdCQUFnQjtTQUFoQixxQkFBZ0I7U0FBaEIsZ0JBQWdCO1NBQ2hCLHdCQUFvQjtTQUFwQixvQkFBb0IsRUFBRSxFQUFFO0dBQzlCO01BQ0c7O1NBRUcsbUJBQXdCO1NBQXhCLHdCQUF3QjtTQUF4Qix3QkFBd0I7U0FDeEIsZUFBZSxFQUFFO01BQ3BCO1NBQ0csaUJBQWlCO1NBQ2pCLGFBQWEsRUFBRSxFQUFFO0dBQ3ZCO01BQ0csaUJBQWlCLEVBQUU7O0FBRXpCO0dBQ0csWUFBWSxFQUFFO0dBQ2Q7Ozs7OztNQU1HLGlCQUFpQjtNQUNqQixvQkFBb0I7TUFDcEIsaUJBQWlCLEVBQUU7R0FDdEI7TUFDRyxhQUFhLEVBQUU7R0FDbEI7TUFDRywwQkFBMEI7TUFDMUIsOEJBQThCO01BQzlCLGlDQUFpQyxFQUFFO0dBQ3RDO01BQ0c7U0FDRywwQkFBMEIsRUFBRTtTQUM1QjtZQUNHLGNBQWMsRUFBRSxFQUFFO0dBQzNCO01BQ0c7U0FDRywwQkFBMEIsRUFBRSxFQUFFOztBQUV2QztHQUNHLGNBQWM7R0FDZCxvQkFBb0I7R0FDcEIsZ0JBQWdCO0dBQ2hCLHdCQUF3QjtHQUN4QixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixvQkFBb0I7R0FDcEIsbUJBQW1CO0dBQ25CLDBCQUEwQjtHQUMxQixvQ0FBb0MsRUFBRTtHQUN0QztNQUNHLGdCQUFnQjtNQUNoQixpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLHNCQUFzQixFQUFFO0dBQzNCO01BQ0csZUFBZSxFQUFFO01BQ2pCO1NBQ0csYUFBYTtTQUNiLGNBQWM7U0FDZCxxQkFBa0I7WUFBbEIsa0JBQWtCO1NBQ2xCLGlCQUFpQixFQUFFO0dBQ3pCO01BQ0csa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxnQkFBZ0I7TUFDaEIsc0JBQXNCO01BQ3RCLG1CQUFtQixFQUFFO0dBQ3hCO01BQ0csa0JBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQiwwQkFBMEIsRUFBRTtNQUM1QjtTQUNHLGtCQUFrQjtTQUNsQiwwQkFBMEIsRUFBRTtHQUNsQztNQUNHLGFBQWE7TUFDYixnQkFBZ0I7TUFDaEIsZ0JBQWdCLEVBQUU7TUFDbEI7U0FDRyxnQkFBa0I7U0FBbEIsa0JBQWtCLEVBQUU7TUFDdkI7U0FDRyxzQkFBc0IsRUFBRTs7QUFFakM7R0FDRyxhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxjQUFjO0dBQ2QsZ0JBQWdCO0dBQ2hCLG9CQUFvQixFQUFFO0dBQ3RCOztNQUVHLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixvQkFBb0IsRUFBRTtHQUN6QjtNQUNHLDBCQUEwQjtNQUMxQixrQkFBa0I7TUFDbEIscUJBQXFCO01BQ3JCLG9CQUFvQjtNQUNwQixjQUFjO01BQ2QsdUJBQXVCO01BQ3ZCLG1CQUFtQixFQUFFO01BQ3JCO1NBQ0c7WUFDRyxvQkFBb0IsRUFBRSxFQUFFO01BQzlCO1NBQ0csNkJBQTZCO1NBQzdCLG9CQUFvQixFQUFFO01BQ3pCO1NBQ0csYUFBYTtTQUNiLHFCQUFxQixFQUFFO01BQzFCO1NBQ0csa0JBQW1CO1NBQW5CLG1CQUFtQixFQUFFO01BQ3hCO1NBQ0csNkJBQTZCO1NBQzdCLGtCQUFrQjtTQUNsQiw4QkFBOEIsRUFBRTtNQUNuQztTQUNHLDZCQUE2QjtTQUM3QixrQkFBa0IsRUFBRTtNQUN2QjtTQUNHLGlCQUFpQjtTQUNqQiw2QkFBNkI7U0FDN0Isa0JBQW1CO1NBQW5CLG1CQUFtQixFQUFFOztBQUU5QjtHQUNHLG9CQUFvQixFQUFFO0dBQ3RCO01BQ0csaUJBQWlCLEVBQUU7TUFDbkI7U0FDRztZQUNHLGtCQUFrQixFQUFFLEVBQUU7TUFDNUI7U0FDRyxrQkFBbUI7U0FBbkIsbUJBQW1CLEVBQUU7TUFDeEI7U0FDRyw2QkFBNkI7U0FDN0IsOEJBQThCLEVBQUU7TUFDbkM7U0FDRyw2QkFBNkIsRUFBRTtNQUNsQztTQUNHLGlCQUFpQjtTQUNqQiw2QkFBNkI7U0FDN0Isa0JBQW1CO1NBQW5CLG1CQUFtQixFQUFFOztBQUU5Qjs7RUFFRTtBQUNGO0dBQ0csMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLGNBQWM7R0FDZCxrQkFBa0IsRUFBRTtHQUNwQjtNQUNHLGlCQUFpQixFQUFFO0dBQ3RCO01BQ0csdUJBQXVCO01BQ3ZCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csMEJBQTBCO01BQzFCLGNBQWM7TUFDZCxrQkFBa0I7TUFDbEIscUJBQXFCLEVBQUU7R0FDMUI7TUFDRyxnQkFBa0I7TUFBbEIsa0JBQWtCO01BQ2xCLHVCQUF1QjtNQUN2QixpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLGlCQUFpQjtNQUNqQixrQkFBa0I7TUFDbEIsZUFBZTtNQUNmLGtCQUFrQixFQUFFO0dBQ3ZCO01BQ0csYUFBYTtNQUNiLGNBQWMsRUFBRTtNQUNoQjtTQUNHLGFBQWEsRUFBRTtHQUNyQjtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLHNCQUFzQixFQUFFO01BQ3hCO1NBQ0csZUFBZSxFQUFFOztBQUUxQjs7SUFFSTtBQUNKO0dBQ0csdUJBQXVCO0dBQ3ZCLGFBQWEsRUFBRTtHQUNmO01BQ0csa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxnQkFBZ0IsRUFBRTtHQUNyQjs7TUFFRyxvQkFBb0IsRUFBRTs7QUFFNUI7R0FDRyxzQkFBc0I7R0FDdEIsd0JBQXdCO0dBQ3hCLGtCQUFrQixFQUFFOztBQUV2QjtHQUNHLDJCQUEyQjtHQUMzQixpQkFBaUI7R0FDakIsa0JBQWtCLEVBQUU7R0FDcEI7TUFDRyxpQkFBaUIsRUFBRTtHQUN0QjtNQUNHLGNBQWMsRUFBRTtHQUNuQjtNQUNHO1NBQ0csc0JBQXNCLEVBQUUsRUFBRTs7QUFFbkM7R0FDRyxvQkFBb0IsRUFBRTtHQUN0QjtNQUNHLG9CQUFvQjtNQUNwQix1QkFBdUI7TUFDdkIsdUJBQXVCLEVBQUU7TUFDekI7U0FDRyx1Q0FBdUM7U0FDdkMsYUFBYSxFQUFFO01BQ2xCO1NBQ0c7WUFDRyxvQkFBb0I7WUFDcEIscUJBQXFCLEVBQUUsRUFBRTs7QUFFckM7O0VBRUU7QUFDRjtHQUNHO01BQ0csWUFBWSxFQUFFO0dBQ2pCO01BQ0csZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxZQUFZLEVBQUUsRUFBRTs7QUFFdEI7R0FDRztNQUNHLHlCQUF5QixFQUFFO0dBQzlCO01BQ0csZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUI7R0FDRztNQUNHLHdCQUF3QixFQUFFO0dBQzdCO01BQ0csZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUI7R0FDRztNQUNHLDJCQUEyQixFQUFFO0dBQ2hDO01BQ0csZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUI7O0dBRUc7QUFDSDtHQUNHO01BQ0cseUJBQXlCLEVBQUUsRUFBRTs7QUFFbkM7R0FDRztNQUNHLHVCQUF1QixFQUFFLEVBQUU7O0FBRWpDO0dBQ0c7TUFDRyx1QkFBdUIsRUFBRSxFQUFFOztBQUVqQztHQUNHO01BQ0cseUJBQXlCLEVBQUUsRUFBRTs7QUFFbkM7R0FDRztNQUNHLHVCQUF1QixFQUFFLEVBQUU7O0FBRWpDO0dBQ0c7TUFDRyx5QkFBeUIsRUFBRSxFQUFFOztBQUVuQztHQUNHO01BQ0csdUJBQXVCLEVBQUUsRUFBRTs7QUFFakM7O0dBRUcsWUFBWSxFQUFFOztBQUVqQjs7RUFFRTtBQUNGO0dBQ0c7TUFDRyxlQUFlO01BQ2YsK01BQStNLEVBQUU7TUFDak47U0FDRyxZQUFZLEVBQUU7TUFDakI7O1NBRUcsWUFBWTtTQUNaLFdBQVc7U0FDWCxpQkFBaUIsRUFBRTtNQUN0QjtTQUNHLGNBQWM7U0FDZCxtQkFBbUIsRUFBRTtTQUNyQjtZQUNHLGFBQWEsRUFBRTtNQUNyQjtTQUNHLFdBQVc7U0FDWCxhQUFhO1NBQ2Isa0JBQWtCLEVBQUU7TUFDdkI7U0FDRyxZQUFZLEVBQUUsRUFBRTtHQUN0QjtNQUNHO1NBQ0csWUFBWTtTQUNaLFlBQVksRUFBRTtNQUNqQjtTQUNHLGNBQWMsRUFBRSxFQUFFOztBQUUzQjtHQUNHO01BQ0csbUJBQW1CO01BQ25CLGFBQWE7TUFDYixjQUFjO01BQ2QsaUJBQWlCO01BQ2pCLGVBQWUsRUFBRTtNQUNqQjtTQUNHLHFCQUFrQjtZQUFsQixrQkFBa0I7U0FDbEIsbUJBQW1CO1NBQ25CLFNBQVM7U0FDVCxVQUFVO1NBQ1YseUNBQWlDO2lCQUFqQyxpQ0FBaUM7U0FDakMsYUFBYTtTQUNiLFlBQVksRUFBRSxFQUFFOztBQUV6Qix1QkFBdUI7QUFDdkI7R0FDRyxvQkFBb0I7R0FDcEIsd0JBQXdCO0dBQ3hCLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxZQUFZO0dBQ1osY0FBYyxFQUFFO0dBQ2hCO01BQ0csY0FBYztNQUNkLGtCQUFrQjtNQUNsQixvQkFBb0I7TUFDcEIsd0JBQXdCO01BQ3hCLHNCQUFzQixFQUFFO0dBQzNCO01BQ0csY0FBYztNQUNkLGtCQUFrQjtNQUNsQixZQUFZO01BQ1osbUJBQW1CLEVBQUU7R0FDeEI7TUFDRyxZQUFZLEVBQUU7R0FDakI7TUFDRyxZQUFZLEVBQUU7TUFDZDtTQUNHLGVBQWU7U0FDZixxQkFBcUIsRUFBRTtTQUN2QjtZQUNHLFlBQVk7WUFDWixlQUFlLEVBQUU7U0FDcEI7WUFDRyxpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixZQUFZLEVBQUU7R0FDdkI7TUFDRyxpQkFBaUI7TUFDakIsa0JBQWtCO01BQ2xCLG9CQUFvQjtNQUNwQixlQUFlLEVBQUU7R0FDcEI7TUFDRyxvQkFBb0I7TUFDcEIsb0JBQW9CO01BQ3BCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csb0JBQW9CO01BQ3BCLFlBQVksRUFBRTtHQUNqQjtNQUNHLGNBQWM7TUFDZCxzQkFBc0I7TUFDdEIsdUJBQXVCLEVBQUU7TUFDekI7U0FDRyxnQkFBZ0I7U0FDaEIsZUFBZTtTQUNmLG1CQUFtQixFQUFFO0dBQzNCO01BQ0csc0JBQXNCO01BQ3RCLGFBQWE7TUFDYixZQUFZO01BQ1osZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGNBQWM7TUFDZCw0Q0FBNEM7TUFDNUMsVUFBVTtNQUNWLGNBQWM7TUFDZCx1QkFBdUI7TUFDdkIsb0JBQW9CO01BQ3BCLGlCQUFpQjtNQUNqQixZQUFZLEVBQUU7TUFDZDtTQUNHLGFBQWE7U0FDYixTQUFTO1NBQ1QsVUFBVTtTQUNWLG9DQUFvQztTQUNwQyxxQ0FBcUM7U0FDckMsK0JBQStCO1NBQy9CLG1CQUFtQjtTQUNuQixXQUFXO1NBQ1gsV0FBVyxFQUFFO01BQ2hCO1NBQ0csYUFBYTtTQUNiLFNBQVM7U0FDVCxVQUFVO1NBQ1Ysb0NBQW9DO1NBQ3BDLHFDQUFxQztTQUNyQyxnQ0FBZ0M7U0FDaEMsbUJBQW1CO1NBQ25CLFdBQVc7U0FDWCxXQUFXLEVBQUU7R0FDbkI7TUFDRyxlQUFlO01BQ2YsZ0JBQWdCO01BQWhCLGdCQUFnQjtNQUNoQixvQkFBb0IsRUFBRTs7QUFFNUI7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRztNQUNHLGlCQUFpQixFQUFFLEVBQUU7O0FBRTNCO0dBQ0c7TUFDRyxpQkFBaUIsRUFBRTtNQUNuQjtTQUNHLG1CQUFtQixFQUFFO1NBQ3JCO1lBQ0csb0JBQW9CO1lBQ3BCLHFCQUFxQixFQUFFO1NBQzFCO1lBQ0csa0JBQWtCO1lBQ2xCLGlCQUFpQixFQUFFO01BQ3pCO1NBQ0csY0FBYztTQUNkLDBCQUEwQjtTQUMxQixvQkFBb0I7U0FDcEIsb0JBQW9CLEVBQUU7U0FDdEI7WUFDRyxZQUFZLEVBQUUsRUFBRTs7QUFFNUI7R0FDRztNQUNHLG1CQUFtQixFQUFFO01BQ3JCO1NBQ0csd0JBQXdCLEVBQUU7TUFDN0I7U0FDRyxlQUFlLEVBQUU7TUFDcEI7U0FDRyxhQUFhO1NBQ2IsT0FBTztTQUNQLFdBQVc7U0FDWCxVQUFVLEVBQUU7U0FDWjtZQUNHLGFBQWE7WUFDYixTQUFTO1lBQ1QsVUFBVTtZQUNWLG1DQUFtQztZQUNuQyw4QkFBOEI7WUFDOUIsc0NBQXNDO1lBQ3RDLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osU0FBUyxFQUFFO1NBQ2Q7WUFDRyxhQUFhO1lBQ2IsU0FBUztZQUNULFVBQVU7WUFDVixtQ0FBbUM7WUFDbkMsOEJBQThCO1lBQzlCLHNDQUFzQztZQUN0QyxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFNBQVMsRUFBRSxFQUFFOztBQUV6QjtHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxvQkFBb0I7R0FDcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0c7TUFDRyxvQkFBb0IsRUFBRSxFQUFFOztBQUU5Qjs7R0FFRyxhQUFhLEVBQUU7O0FBRWxCO0dBQ0csbUJBQW1CO0dBQ25CLGFBQWE7R0FDYixZQUFZO0dBQ1osaUJBQWlCLEVBQUU7O0FBRXRCO0dBQ0csdUNBQStCO0dBQS9CLCtCQUErQjtHQUEvQixrREFBK0I7R0FDL0IsMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csbUJBQW1CO0dBQ25CLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxtQkFBbUI7R0FDbkIsY0FBYyxFQUFFOztBQUVuQjtHQUNHLG1CQUFtQjtHQUNuQixjQUFjLEVBQUU7O0FBRW5CO0dBQ0csbUJBQW1CO0dBQ25CLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxZQUFZO0dBQ1osYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixpQkFBaUI7R0FDakIsWUFBWSxFQUFFOztBQUVqQjtHQUNHLHNCQUFzQjtHQUN0QixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxZQUFZO0dBQ1osYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixPQUFPO0dBQ1AsY0FBYztHQUNkLG9CQUFvQjtHQUNwQix3QkFBd0I7R0FDeEIsdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csc0JBQXNCLEVBQUU7O0FBRTNCO0dBQ0csa0JBQWtCO0dBQ2xCLHNCQUFzQjtHQUN0QixtQkFBbUI7R0FDbkIsZ0JBQWdCLEVBQUU7O0FBRXJCOzs7OztHQUtHLG1CQUFtQixFQUFFOztBQUV4QjtHQUNHO01BQ0csY0FBYztNQUNkLGFBQWE7TUFDYixnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGNBQWM7TUFDZCxZQUFZO01BQ1osZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxXQUFXO01BQ1gsYUFBYTtNQUNiLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csV0FBVztNQUNYLGFBQWE7TUFDYixnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csaUJBQWlCO01BQ2pCLGdCQUFnQixFQUFFO0dBQ3JCO01BQ0csZUFBZTtNQUNmLFVBQVU7TUFDVixTQUFTLEVBQUU7R0FDZDtNQUNHLGdCQUFnQjtNQUNoQixVQUFVO01BQ1YsU0FBUyxFQUFFO0dBQ2Q7TUFDRyxlQUFlO01BQ2YsVUFBVTtNQUNWLFNBQVMsRUFBRTtHQUNkO01BQ0csZ0JBQWdCO01BQ2hCLFVBQVU7TUFDVixRQUFRLEVBQUU7R0FDYjtNQUNHLGVBQWU7TUFDZixVQUFVO01BQ1YsU0FBUyxFQUFFLEVBQUU7O0FBRW5CO0dBQ0c7TUFDRyxnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGNBQWM7TUFDZCxhQUFhLEVBQUU7R0FDbEI7TUFDRyxjQUFjO01BQ2QsWUFBWSxFQUFFO0dBQ2pCO01BQ0csV0FBVztNQUNYLGFBQWEsRUFBRTtHQUNsQjtNQUNHLFdBQVc7TUFDWCxhQUFhLEVBQUU7R0FDbEI7TUFDRyxlQUFlO01BQ2YsZ0JBQWdCO01BQ2hCLGdCQUFnQixFQUFFO0dBQ3JCOztNQUVHLGNBQWMsRUFBRTtHQUNuQjtNQUNHLGdCQUFnQjtNQUNoQixVQUFVO01BQ1YsU0FBUyxFQUFFO0dBQ2Q7TUFDRyxnQkFBZ0I7TUFDaEIsVUFBVTtNQUNWLFFBQVEsRUFBRTtHQUNiO01BQ0csZ0JBQWdCO01BQ2hCLFNBQVMsRUFBRSxFQUFFOztBQUVuQjtHQUNHO01BQ0csZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxpQkFBaUI7TUFDakIsZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxjQUFjO01BQ2QsYUFBYTtNQUNiLGdCQUFnQjtNQUNoQixjQUFjLEVBQUU7TUFDaEI7U0FDRyxpQkFBaUIsRUFBRTtHQUN6QjtNQUNHLGNBQWM7TUFDZCxZQUFZO01BQ1osZ0JBQWdCLEVBQUU7TUFDbEI7U0FDRyxpQkFBaUI7U0FDakIsbUNBQTJCO2lCQUEzQiwyQkFBMkI7U0FDM0Isc0JBQXNCLEVBQUU7R0FDOUI7TUFDRyxXQUFXO01BQ1gsYUFBYTtNQUNiLGdCQUFnQixFQUFFO01BQ2xCO1NBQ0csaUJBQWlCLEVBQUU7R0FDekI7TUFDRyxXQUFXO01BQ1gsYUFBYTtNQUNiLGdCQUFnQixFQUFFO01BQ2xCO1NBQ0csaUJBQWlCLEVBQUU7R0FDekI7O01BRUcsY0FBYyxFQUFFO0dBQ25CO01BQ0csU0FBUztNQUNULFNBQVM7TUFDVCxnQkFBZ0IsRUFBRTtHQUNyQjtNQUNHLGdCQUFnQjtNQUNoQixVQUFVO01BQ1YsU0FBUyxFQUFFO0dBQ2Q7TUFDRyxnQkFBZ0I7TUFDaEIsVUFBVTtNQUNWLFNBQVMsRUFBRSxFQUFFOztBQUVuQjtHQUNHLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGtCQUFjO0dBQWQsY0FBYztHQUNkLCtCQUErQjtHQUMvQiw0REFBNEQsRUFBRTtHQUM5RDtNQUNHLG9CQUFvQjtNQUNwQixvQkFBb0IsRUFBRTtNQUN0QjtTQUNHLGlCQUFpQixFQUFFOztBQUU1QjtHQUNHLGNBQWM7R0FDZCxnQkFBZ0IsRUFBRTtHQUNsQjtNQUNHLFdBQVcsRUFBRTs7QUFFbkI7R0FDRywyQkFBMkI7R0FDM0Isc0JBQXNCLEVBQUU7R0FDeEI7TUFDRyxnQkFBZ0IsRUFBRTs7QUFFeEI7R0FDRyx1QkFBdUI7R0FDdkIsd0JBQXdCO0dBQ3hCLGNBQWM7R0FDZCxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyw4QkFBOEIsRUFBRTtHQUNoQztNQUNHLG9CQUFvQixFQUFFOztBQUU1QjtHQUNHLGFBQWEsRUFBRTtHQUNmO01BQ0csY0FBYyxFQUFFO0dBQ25CO01BQ0csa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxpQkFBaUIsRUFBRTtHQUN0QjtNQUNHO1NBQ0csZUFBZTtTQUNmLGlCQUFpQjtTQUNqQix1QkFBdUIsRUFBRTtNQUM1QjtTQUNHLHNCQUFzQjtTQUN0QixXQUFXLEVBQUU7TUFDaEI7U0FDRyxjQUFjLEVBQUUsRUFBRTs7QUFFM0I7R0FDRyx3QkFBd0IsRUFBRTtHQUMxQjtNQUNHO1NBQ0csd0JBQXdCLEVBQUUsRUFBRTs7QUFFckM7R0FDRyxpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRztNQUNHLFdBQVcsRUFBRSxFQUFFOztBQUVyQjtHQUNHLGlCQUFpQjtHQUFqQixpQkFBaUIsRUFBRTs7QUFFdEI7R0FDRyxvQkFBb0I7R0FBcEIsb0JBQW9CLEVBQUU7O0FBRXpCO0dBQ0csb0JBQW9CO0dBQXBCLG9CQUFvQixFQUFFOztBQUV6QjtHQUNHLGtCQUFjO0dBQWQsY0FBYztHQUNkLCtCQUErQjtHQUMvQixlQUFlO0dBQ2YsMEJBQStCO0dBQS9CLCtCQUErQixFQUFFOztBQUVwQztHQUNHO01BQ0csc0JBQTJCO01BQTNCLDJCQUEyQixFQUFFLEVBQUU7O0FBRXJDO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0c7TUFDRyxXQUFXLEVBQUUsRUFBRTs7QUFFckI7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRztNQUNHLGFBQWEsRUFBRTtHQUNsQjtNQUNHLGFBQWEsRUFBRSxFQUFFOztBQUV2QjtHQUNHO01BQ0csYUFBYSxFQUFFO0dBQ2xCO01BQ0csYUFBYSxFQUFFLEVBQUU7O0FBRXZCO0dBQ0csZUFBZTtHQUNmLGlDQUF5QjtXQUF6Qix5QkFBeUIsRUFBRTtHQUMzQjtNQUNHLGlCQUFpQixFQUFFOztBQUV6QjtHQUNHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxlQUFlO0dBQ2YsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0c7TUFDRyxjQUFjLEVBQUUsRUFBRTs7QUFFeEI7R0FDRztNQUNHLGNBQWMsRUFBRSxFQUFFOztBQUV4QjtHQUNHO01BQ0csaUJBQWlCLEVBQUUsRUFBRTs7QUFFM0I7R0FDRztNQUNHLGlCQUFpQixFQUFFLEVBQUU7O0FBRTNCO0dBQ0c7TUFDRyxvQkFBb0IsRUFBRSxFQUFFOztBQUU5QjtHQUNHO01BQ0csb0JBQW9CLEVBQUUsRUFBRTs7QUFFOUIseUJBQXlCO0FBQ3pCOzs7Ozs7Ozs7O0dBVUc7QUFDSDtHQUNHLG9CQUFvQjtHQUNwQixvQkFBb0I7R0FDcEIsbUJBQW1CO0dBQ25COzs7Ozs7Ozs7Ozs7R0FZQTtHQUNBLDJDQUEyQztHQUMzQyxtQkFBbUI7R0FDbkIsb0JBQW9CO0dBQ3BCLG9CQUFvQjtHQUNwQixxQkFBcUI7R0FDckIsbUNBQW1DO0dBQ25DLHFCQUFxQjtHQUNyQixrQ0FBa0M7R0FDbEMsd0JBQXdCO0dBQ3hCLHVGQUF1RixFQUFFOztBQUU1RjtHQUNHLHFDQUFxQztHQUNyQyxlQUFlLEVBQUU7O0FBRXBCLDBCQUEwQjtBQUMxQjtHQUNHLGNBQWM7R0FDZCxnQkFBZ0I7R0FDaEIsY0FBYztHQUNkLHFCQUFzQjtHQUF0QixzQkFBc0I7R0FDdEIsZUFBZSxFQUFFOztBQUVwQjtHQUNHO01BQ0csV0FBVztNQUNYLFlBQVksRUFBRTtHQUNqQjtNQUNHLG9CQUFvQjtNQUNwQixZQUFZLEVBQUUsRUFBRTs7QUFFdEIsaUJBQWlCO0FBQ2pCO0dBQ0csWUFBWTtHQUNaLFVBQVU7R0FDVixXQUFXO0dBQ1gsdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csaUVBQWlFLEVBQUU7O0FBRXRFOztHQUVHLGlFQUFpRSxFQUFFOztBQUV0RTtHQUNHLGlFQUFpRSxFQUFFOztBQUV0RTtHQUNHLGlFQUFpRSxFQUFFOztBQUV0RSxnRUFBZ0U7QUFDaEU7R0FDRyw0Q0FBNEMsRUFBRTs7QUFFakQ7R0FDRyx5Q0FBeUMsRUFBRTs7QUFFOUMsZUFBZTtBQUNmLHNHQUFzRztBQUN0RztHQUNHLHdDQUF3QztHQUN4QyxpQkFBaUI7R0FDakIsNENBQTRDLEVBQUU7O0FBRWpEO0dBQ0csY0FBYztHQUNkLDBDQUEwQztHQUMxQyxrQ0FBa0M7R0FDbEMsMENBQTBDLEVBQUU7O0FBRS9DO0dBQ0csMENBQTBDO0dBQzFDLHNCQUFzQixFQUFFOztBQUUzQjtHQUNHLDBDQUEwQyxFQUFFOztBQUUvQztHQUNHLDhCQUE4QjtHQUM5QixrQkFBa0IsRUFBRTs7QUFFdkIsOEJBQThCO0FBQzlCOzs7R0FHRztBQUNIO0dBQ0csMkJBQTJCLEVBQUU7O0FBRWhDLGdEQUFnRDtBQUNoRDtHQUNHO01BQ0csV0FBVyxFQUFFLEVBQUU7O0FBRXJCO0dBQ0c7TUFDRyxrQkFBa0IsRUFBRSxFQUFFOztBQUU1QjtHQUNHLFdBQVcsRUFBRTtHQUNiO01BQ0csa0JBQWtCLEVBQUU7R0FDdkI7TUFDRyxxQ0FBcUMsRUFBRTs7QUFFN0M7R0FDRywwQ0FBMEMsRUFBRTtHQUM1QztNQUNHLGdCQUFnQixFQUFFOztBQUV4QixnQkFBZ0I7QUFDaEI7R0FDRyxhQUFhO0dBQ2IsZ0JBQWdCO0dBQ2hCLHNCQUFzQjtHQUN0QixtQkFBbUI7R0FDbkIsc0JBQXNCO0dBQ3RCLGlCQUFpQjtHQUNqQixrQkFBa0I7R0FDbEIsWUFBWTtHQUNaLG1DQUFtQyxFQUFFOztBQUV4QztHQUNHLGVBQWU7R0FDZiwrQkFBK0I7R0FDL0IsMkJBQW1CO0dBQW5CLHdCQUFtQjtHQUFuQixtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyxZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLHVDQUF1QyxFQUFFOztBQUU1QztHQUNHLFlBQVksRUFBRTs7QUFFakI7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyxZQUFZLEVBQUU7O0FBRWpCO0dBQ0csOEJBQThCLEVBQUU7O0FBRW5DO0dBQ0csOEJBQThCLEVBQUU7O0FBRW5DO0dBQ0csaUNBQWlDLEVBQUU7O0FBRXRDOzs7R0FHRyxzQkFBc0I7R0FDdEIsa0JBQWtCO0dBQ2xCLFlBQVksRUFBRTs7QUFFakI7OztHQUdHLDJDQUEyQztHQUMzQyxlQUFlO0dBQ2YsbUJBQW1CO0dBQ25CLGVBQWU7R0FDZixpQ0FBaUMsRUFBRTs7QUFFdEM7OztHQUdHLGdCQUFnQjtHQUNoQixlQUFlO0dBQ2Ysc0JBQXNCLEVBQUU7O0FBRTNCOzs7R0FHRywyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRyxlQUFlLEVBQUU7O0FBRXBCO0dBQ0csZUFBZSxFQUFFOztBQUVwQixhQUFhO0FBQ2I7R0FDRywyQkFBMkIsRUFBRTs7QUFFaEM7R0FDRyxtQkFBbUIsRUFBRTs7QUFFeEI7R0FDRyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyxvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxjQUFjO0dBQ2QsaUNBQWlDLEVBQUU7O0FBRXRDO0dBQ0csYUFBYSxFQUFFOztBQUVsQjtHQUNHLDZCQUE2QjtHQUM3QixjQUFjO0dBQ2QsdUJBQXVCO0dBQ3ZCLDhCQUE4QixFQUFFOztBQUVuQztHQUNHO01BQ0cscUNBQXFDLEVBQUU7R0FDMUM7TUFDRyxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQixZQUFZO0FBQ1o7R0FDRyxlQUFlO0dBQ2YsbUJBQW1CLEVBQUU7O0FBRXhCOzs7OztFQUtFO0FBQ0Y7R0FDRyxpQkFBaUI7R0FDakIsMkJBQTJCLEVBQUU7O0FBRWhDO0dBQ0csK0JBQStCO0dBQy9CLGtDQUFrQztHQUNsQyxtQkFBbUIsRUFBRTs7QUFFeEIsMkRBQTJEO0FBQzNEO0dBQ0csK0JBQStCO0dBQy9CLGtDQUFrQztHQUNsQyxtQkFBbUI7R0FDbkIsZ0JBQWdCO0dBQ2hCLGtCQUFrQjtHQUNsQixrQkFBa0I7R0FDbEIsd0JBQXdCLEVBQUU7O0FBRTdCO0dBQ0csK0JBQStCO0dBQy9CLDhCQUE4QjtHQUM5QixzQkFBc0I7R0FDdEIsbUJBQW1CO0dBQ25CLG9CQUFvQjtHQUNwQixnQkFBZ0I7R0FDaEIsYUFBYTtHQUNiLGtCQUFrQjtHQUNsQixtQkFBbUI7R0FDbkIscUNBQXFDO0dBQ3JDLGdCQUFnQjtHQUNoQixrQkFBa0I7R0FDbEIsYUFBYTtHQUNiLG1DQUFtQyxFQUFFOztBQUV4QztHQUNHLCtCQUErQjtHQUMvQiw4QkFBOEI7R0FDOUIsc0JBQXNCO0dBQ3RCLG1CQUFtQjtHQUNuQixvQkFBb0I7R0FDcEIsZ0JBQWdCO0dBQ2hCLGFBQWE7R0FDYixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQixnQkFBZ0I7R0FDaEIsa0JBQWtCO0dBQ2xCLGFBQWE7R0FDYixtQ0FBbUMsRUFBRTs7QUFFeEM7Ozs7Ozs7Ozs7RUFVRTtBQUNGLGdCQUFnQjtBQUNoQjtHQUNHLFlBQVk7R0FDWixpRUFBaUU7R0FDakUsdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csNENBQTRDO0dBQzVDLGFBQWEsRUFBRTs7QUFFbEIsMkRBQTJEO0FBQzNEO0dBQ0csNEJBQTRCO0dBQzVCLDZCQUE2QjtHQUM3Qix1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyw2QkFBNkIsRUFBRTs7QUFFbEM7R0FDRyxhQUFhLEVBQUU7O0FBRWxCLGVBQWU7QUFDZjtHQUNHLHFDQUFxQztHQUNyQyxpQ0FBaUM7R0FDakMsdUJBQXVCO0dBQ3ZCLDBCQUEwQjtHQUMxQixjQUFjO0dBQ2Qsd0JBQXdCO0dBQ3hCLHVCQUF1QjtHQUN2QixvQkFBb0I7R0FDcEIsaUJBQWlCO0dBQ2pCLGlCQUFpQixFQUFFOztBQUV0QixpRUFBaUU7QUFDakU7O0dBRUcsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csMkNBQTJDO0dBQzNDLGtDQUFrQztHQUNsQyxhQUFhLEVBQUU7O0FBRWxCLG1CQUFtQjtBQUNuQjtHQUNHLFlBQVk7R0FDWixjQUFjLEVBQUU7O0FBRW5CO0dBQ0csOEJBQThCLEVBQUU7O0FBRW5DO0dBQ0csMkNBQTJDLEVBQUU7O0FBRWhEO0dBQ0csVUFBVTtHQUNWLGlDQUFpQztHQUNqQyxpQkFBaUI7R0FDakIsWUFBWSxFQUFFOztBQUVqQjs7R0FFRyxVQUFVLEVBQUU7O0FBRWY7R0FDRywwQ0FBMEM7R0FDMUMsa0JBQWtCO0dBQ2xCLHFDQUFxQyxFQUFFOztBQUUxQztHQUNHLDhCQUE4QjtHQUM5QiwrQ0FBK0MsRUFBRTs7QUFFcEQsdUJBQXVCO0FBQ3ZCO0dBQ0csWUFBWSxFQUFFOztBQUVqQjtHQUNHLG1CQUFtQjtHQUNuQixlQUFlO0dBQ2YsNENBQTRDO0dBQzVDLGdEQUFnRCxFQUFFOztBQUVyRDtHQUNHLG1DQUFtQyxFQUFFOztBQUV4QztHQUNHLG9DQUFvQyxFQUFFOztBQUV6QztHQUNHLG9DQUFvQyxFQUFFOztBQUV6QztHQUNHLFlBQVksRUFBRTs7QUFFakIsNkNBQTZDO0FBQzdDO0dBQ0csYUFBYTtHQUNiLCtCQUErQixFQUFFOztBQUVwQyx5QkFBeUI7QUFDekI7R0FDRyxxQ0FBcUMsRUFBRTs7QUFFMUMscUJBQXFCO0FBQ3JCOzs7OztHQUtHLGFBQWEsRUFBRTs7QUFFbEI7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxrQ0FBa0MsRUFBRTs7QUFFdkM7R0FDRyxrQ0FBa0MsRUFBRTs7QUFFdkM7R0FDRyxpQ0FBaUMsRUFBRTs7QUFFdEMsZ0JBQWdCO0FBQ2hCO0dBQ0csZ0JBQWdCO0dBQ2hCLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7R0FDRyx1Q0FBdUMsRUFBRTs7QUFFNUM7Ozs7Ozs7Ozs7RUFVRTtBQUNGLGtCQUFrQjtBQUNsQjtHQUNHLGlCQUFpQjtHQUNqQixlQUFlO0dBQ2YsMkJBQTJCO0dBQzNCLDJCQUEyQixFQUFFOztBQUVoQztHQUNHLGNBQWMsRUFBRTs7QUFFbkI7R0FDRyxjQUFjO0dBQ2QsZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUNuQixnQkFBZ0I7R0FDaEIseUJBQXlCO0dBQ3pCLGlCQUFpQjtHQUNqQixZQUFZO0dBQ1osZ0JBQWdCO0dBQ2hCLGFBQWE7R0FDYixlQUFlO0dBQ2YsbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csc0JBQXNCO0dBQ3RCLHFDQUFxQztHQUNyQyx1QkFBdUI7R0FDdkIsY0FBYztHQUNkLHVCQUF1QixFQUFFOztBQUU1QjtHQUNHLGdCQUFnQjtHQUNoQixrQkFBa0I7R0FDbEIsZUFBZSxFQUFFOztBQUVwQjtHQUNHLFlBQVk7R0FDWixVQUFVO0dBQ1Ysa0JBQWtCO0dBQ2xCLGtCQUFrQjtHQUNsQixnQkFBZ0IsRUFBRTs7QUFFckI7R0FDRyxXQUFXO0dBQ1gsa0NBQWtDO0dBQ2xDLHdDQUF3QztHQUN4QyxvQkFBb0I7R0FDcEIsaUJBQWlCO0dBQ2pCLGNBQWM7R0FDZCxtQkFBbUI7R0FDbkIseUJBQXlCLEVBQUU7O0FBRTlCO0dBQ0csdUJBQXVCLEVBQUU7O0FBRTVCO0dBQ0csa0JBQWtCLEVBQUU7O0FBRXZCO0dBQ0csMkJBQTJCLEVBQUU7O0FBRWhDO0dBQ0csbUJBQW1CLEVBQUU7O0FBRXhCO0dBQ0csbUJBQW1CO0dBQ25CLGFBQWE7R0FDYixjQUFjO0dBQ2QsZ0JBQWdCO0dBQ2hCLDRCQUE0QjtHQUM1Qix5QkFBeUIsRUFBRTs7QUFFOUI7R0FDRyxjQUFjO0dBQ2QsbUJBQW1CO0dBQ25CLDhCQUE4QjtHQUM5QixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLDhCQUE4QixFQUFFOztBQUVuQztHQUNHLG1DQUFtQztHQUNuQyxhQUFhO0dBQ2IsaUJBQWlCO0dBQ2pCLGtCQUFrQixFQUFFOztBQUV2QixhQUFhO0FBQ2I7R0FDRzs7MEJBRXVCLEVBQUU7O0FBRTVCO0dBQ0csb0JBQW9CO0dBQ3BCLGVBQWUsRUFBRTs7QUFFcEI7R0FDRyxxQkFBcUIsRUFBRTs7QUFFMUI7R0FDRyxpQkFBaUI7R0FDakIsb0JBQW9CO0dBQ3BCLG9DQUE0QjtXQUE1Qiw0QkFBNEI7R0FDNUIsd0JBQXdCLEVBQUU7O0FBRTdCO0dBQ0csMkNBQTJDLEVBQUU7O0FBRWhEO0dBQ0cscUNBQXFDLEVBQUU7O0FBRTFDO0dBQ0csWUFBWSxFQUFFOztBQUVqQjtHQUNHLGlCQUFpQixFQUFFOztBQUV0Qjs7OztFQUlFO0FBQ0Y7R0FDRyxjQUFjLEVBQUU7O0FBRW5CO0dBQ0csY0FBYztHQUNkLDBCQUEwQixFQUFFOztBQUUvQjtHQUNHLGtCQUFrQixFQUFFOztBQUV2QixnQkFBZ0I7QUFDaEI7Ozt3QkFHd0I7QUFDeEI7Ozs7R0FJRyx1QkFBdUI7R0FDdkIsWUFBWTtHQUNaLFVBQVU7R0FDVixXQUFXO0dBQ1gsMEJBQTBCO0dBQzFCLDhCQUE4QixFQUFFOztBQUVuQztHQUNHLCtCQUErQjtHQUMvQixXQUFXO0dBQ1gsWUFBWTtHQUNaLGdCQUFnQjtHQUNoQixtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxZQUFZO0dBQ1osZ0JBQWdCLEVBQUU7O0FBRXJCO0dBQ0csb0NBQW9DO0dBQ3BDLHdDQUF3QyxFQUFFOztBQUU3QztHQUNHLG9DQUFvQztHQUNwQyx3Q0FBd0MsRUFBRTs7QUFFN0M7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxXQUFXO0dBQ1gsZUFBZTtHQUNmLHFDQUFxQztHQUNyQyx5Q0FBeUM7R0FDekMsbUNBQW1DO0dBQ25DLGlCQUFpQjtHQUNqQixvQkFBb0IsRUFBRTs7QUFFekI7R0FDRyxhQUFhO0dBQ2IscUNBQXFDO0dBQ3JDLHlDQUF5QztHQUN6QyxtQ0FBbUM7R0FDbkMsV0FBVztHQUNYLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsbUNBQW1DLEVBQUU7O0FBRXhDO0dBQ0csV0FBVztHQUNYLGdCQUFnQjtHQUNoQixxQ0FBcUM7R0FDckMseUNBQXlDO0dBQ3pDLG1DQUFtQztHQUNuQyxpQkFBaUI7R0FDakIsb0JBQW9CO0dBQ3BCLG1CQUFtQjtHQUNuQixZQUFZLEVBQUU7O0FBRWpCO0dBQ0csYUFBYTtHQUNiLHFDQUFxQztHQUNyQyx5Q0FBeUM7R0FDekMsbUNBQW1DO0dBQ25DLFdBQVc7R0FDWCxlQUFlO0dBQ2YsbUJBQW1CO0dBQ25CLG9DQUFvQztHQUNwQyxrQkFBa0IsRUFBRTs7QUFFdkI7R0FDRyx1QkFBdUI7R0FDdkIsY0FBYztHQUNkLHVCQUF1QjtHQUN2QixhQUFhLEVBQUU7O0FBRWxCO0dBQ0csYUFBYTtHQUNiLG1CQUFtQixFQUFFO0dBQ3JCO01BQ0csbUJBQW1CO01BQ25CLE9BQU87TUFDUCxRQUFRO01BQ1IsWUFBWTtNQUNaLGFBQWE7TUFDYiwwQkFBMEI7TUFDMUIsbUJBQW1CO01BQ25CLGNBQWM7TUFDZCx1QkFBdUI7TUFDdkIsd0JBQXdCO01BQ3hCLG9CQUFvQixFQUFFOztBQUU1QjtHQUNHLGtCQUFrQixFQUFFOztBQUV2Qjs7O0dBR0csZUFBZTtHQUNmLGlCQUFpQixFQUFFOztBQUV0QjtHQUNHLDBCQUEwQjtHQUMxQixlQUFlLEVBQUU7O0FBRXBCO0dBQ0csdUNBQXVDLEVBQUU7O0FBRTVDLDhDQUE4QztBQUM5QywwQ0FBMEM7QUFDMUM7R0FDRztNQUNHLGdCQUFnQixFQUFFO01BQ2xCO1NBQ0csMENBQTBDLEVBQUU7R0FDbEQ7TUFDRyxXQUFXLEVBQUU7TUFDYjtTQUNHLGdDQUFnQyxFQUFFO01BQ3JDO1NBQ0csV0FBVyxFQUFFLEVBQUU7O0FBRXhCLCtDQUErQztBQUMvQztHQUNHO01BQ0csd0NBQXdDLEVBQUU7R0FDN0M7TUFDRywwQ0FBMEMsRUFBRTtHQUMvQztNQUNHLDBDQUEwQyxFQUFFO0dBQy9DO01BQ0cseUJBQXlCLEVBQUU7R0FDOUI7TUFDRyxtQ0FBbUM7TUFDbkMsYUFBYSxFQUFFO0dBQ2xCO01BQ0csZ0JBQWdCLEVBQUU7R0FDckI7TUFDRyxxRUFBcUUsRUFBRSxFQUFFOztBQUUvRTs7OztFQUlFO0FBQ0Y7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxtQ0FBbUMsRUFBRTs7QUFFeEM7R0FDRyxrQ0FBa0MsRUFBRTs7QUFFdkM7R0FDRyx3QkFBd0IsRUFBRTs7QUFFN0I7R0FDRyx1QkFBdUIsRUFBRTs7QUFFNUI7R0FDRyw4Q0FBOEMsRUFBRTs7QUFFbkQ7R0FDRyw4Q0FBOEMsRUFBRTs7QUFFbkQ7R0FDRyw0Q0FBNEMsRUFBRTs7QUFFakQ7R0FDRyw2Q0FBNkMsRUFBRTs7QUFFbEQ7R0FDRyw2Q0FBNkMsRUFBRTs7QUFFbEQsNEJBQTRCO0FBQzVCO0dBQ0csMEJBQTBCLEVBQUU7O0FBRS9CO0dBQ0csNkJBQTZCLEVBQUU7O0FBRWxDO0dBQ0csMkJBQTJCLEVBQUU7O0FBRWhDO0dBQ0csNEJBQTRCLEVBQUUiLCJmaWxlIjoidm9ybGFnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiDDnGJlcnNjaHJlaWJ0IFN0YW5kYXJkZmFyYmVuIGRlciB2YXJpYWJsZXMuc2NzcyBmw7xyIGRhcyBFcnN0ZWxsZW4gZGVyIHZvcmxhZ2UuY3NzICovXG4vKiBHZXN0YWx0dW5nIGRlciBTdGFuZGFyZCBIVE1MLUVsZW1lbnRlICovXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgIHNyYzogdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL1JlZ3VsYXIvT3BlblNhbnMtUmVndWxhci5lb3RcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi8uLi8uLi9TY3JpcHRzL2xpYi9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMvUmVndWxhci9PcGVuU2Fucy1SZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9SZWd1bGFyL09wZW5TYW5zLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9SZWd1bGFyL09wZW5TYW5zLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9TY3JpcHRzL2xpYi9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMvUmVndWxhci9PcGVuU2Fucy1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL1JlZ3VsYXIvT3BlblNhbnMtUmVndWxhci5zdmcjc3ZnRm9udE5hbWVcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICAgc3JjOiB1cmwoXCIuLi8uLi8uLi9TY3JpcHRzL2xpYi9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMvQm9sZC9PcGVuU2Fucy1Cb2xkLmVvdFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9Cb2xkL09wZW5TYW5zLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL0JvbGQvT3BlblNhbnMtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL0JvbGQvT3BlblNhbnMtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9Cb2xkL09wZW5TYW5zLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi8uLi9TY3JpcHRzL2xpYi9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMvQm9sZC9PcGVuU2Fucy1Cb2xkLnN2ZyNzdmdGb250TmFtZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgIHNyYzogdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL1NlbWlib2xkL09wZW5TYW5zLVNlbWlib2xkLmVvdFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9TZW1pYm9sZC9PcGVuU2Fucy1TZW1pYm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi8uLi9TY3JpcHRzL2xpYi9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMvU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9TZW1pYm9sZC9PcGVuU2Fucy1TZW1pYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9TZW1pYm9sZC9PcGVuU2Fucy1TZW1pYm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9TZW1pYm9sZC9PcGVuU2Fucy1TZW1pYm9sZC5zdmcjc3ZnRm9udE5hbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgIHNyYzogdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMuZW90XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL1NjcmlwdHMvbGliL29wZW4tc2Fucy1mb250ZmFjZS9mb250cy9JdGFsaWMvT3BlblNhbnMtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vU2NyaXB0cy9saWIvb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzL0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi8uLi9TY3JpcHRzL2xpYi9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMvSXRhbGljL09wZW5TYW5zLUl0YWxpYy5zdmcjc3ZnRm9udE5hbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIEF1c2JsZW5kZW4gZWluZXMgenUgbGFuZ2VuIFRleHRlcyBtaXQgZHJlaSBQdW5rdGVuICcuLi4nICovXG5ib2R5IHtcbiAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWw7XG4gICBmb250LXNpemU6IDEuNHJlbTtcbiAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uZGVmYXVsdEZvbnQge1xuICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWw7IH1cblxuLyogU3R5bGluZyBmw7xyIMOcYmVyc2NocmlmdGVuKi9cbi5lc0g0IHtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIG1hcmdpbi10b3A6IDVweDtcbiAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmVzSDUge1xuICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgbWFyZ2luLXRvcDogNXB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG5hIHtcbiAgIGNvbG9yOiBibGFjazsgfVxuXG5hOmZvY3VzLFxuYTpob3ZlciB7XG4gICBjb2xvcjogLS0tLUFremVudC0tLS07IH1cblxuLm1hcmdpbi10b3Atc20ge1xuICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLW1kIHtcbiAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC1sZyB7XG4gICBtYXJnaW4tdG9wOiA0NXB4ICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYmFzZSB7XG4gICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAuZmxleC1jb250YWluZXItLXZlcnRpY2FsQ2VudGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmJvbGQge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmJvbGQ2MDAge1xuICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZXJyb3Ige1xuICAgY29sb3I6ICNhOTQ0NDI7IH1cblxuLmNlbnRlci10ZXh0IHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mdWxsSGVpZ2h0IHtcbiAgIGhlaWdodDogMTAwJTsgfVxuXG4uZnVsbEhlaWdodE92ZXJmbG93QXV0byB7XG4gICBvdmVyZmxvdzogYXV0bztcbiAgIGhlaWdodDogMTAwJTsgfVxuXG4ub3ZlcmZsb3dBdXRvIHtcbiAgIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5vdmVyZmxvd0hpZGRlbiB7XG4gICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vdmVyZmxvd1lBdXRvIHtcbiAgIG92ZXJmbG93LXk6IGF1dG87IH1cblxuKjpmb2N1cyB7XG4gICBvdXRsaW5lOiAwIG5vbmUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4uZXNDbGVhcmZpeDphZnRlciB7XG4gICBjb250ZW50OiBcIi5cIjtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgY2xlYXI6IGJvdGg7XG4gICBmb250LXNpemU6IDA7XG4gICBoZWlnaHQ6IDA7XG4gICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmVzTm9zZWxlY3Qge1xuICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmVzVGV4dFJpY2h0aWdVbWJyZWNoZW4ge1xuICAgaHlwaGVuczogYXV0bzsgfVxuXG4uZXNUZXh0WmVpbGVudW1icnVlY2hlQmVydWVja3NpY2h0aWdlbiB7XG4gICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7IH1cblxuLmVzVGV4dE5pY2h0VW1icmVjaGVuIHtcbiAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmVzSGlkZGVuIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVzSW52aXNpYmxlIHtcbiAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZXNMaW5rTm9EZWNvcmF0aW9uOmhvdmVyLFxuLmVzTGlua05vRGVjb3JhdGlvbjpmb2N1cyxcbi5lc0xpbmtOb0RlY29yYXRpb24ge1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgY29sb3I6IGluaGVyaXQ7IH1cblxuI292ZXJsYXkge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgdG9wOiAwO1xuICAgYm90dG9tOiAwO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgei1pbmRleDogMTAwMDA7IH1cblxuLyogRmFyYmVuICovXG4uZXNBa3plbnQxLS1jb2xvciB7XG4gICBjb2xvcjogLS0tLUFremVudC0tLS07IH1cblxuLyogRHJlaGVuIHZvbiBFbGVtZW50ZW4qL1xuLmVzUm90YXRlMTgwIHtcbiAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLyogQW5pbWllcmVuIHZvbiBFbGVtZW50ZW4gKi9cbi5lc0FuaW1hdGUxcyB7XG4gICB0cmFuc2l0aW9uOiAxcyBlYXNlLWluLW91dDsgfVxuXG4uZXNDb3B5VGV4dCB7XG4gICBtYXJnaW4tbGVmdDogMTVweDtcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIHotaW5kZXg6IDE7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmVzQ29weFRleHRTdWNjZXNzIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG4gICB6LWluZGV4OiAwOyB9XG4gICAuZXNDb3B4VGV4dFN1Y2Nlc3MuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGFuaW1hdGlvbjogZmFkZU5hY2hPYmVuIDIuNXMgbGluZWFyOyB9XG5cbkBrZXlmcmFtZXMgZmFkZU5hY2hPYmVuIHtcbiAgIDAlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAxMDAlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyogQ3Vyc29yICovXG4qW2RhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXSB7XG4gICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyotLS0tIEJvb3RzdHJhcCAtLS0tKi9cbi5sYWJlbC5sYWJlbC1hdXNnZWJ1Y2h0IHtcbiAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDE2NjY2O1xuICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgIGZvbnQtc2l6ZTogODUlOyB9XG4gICAubGFiZWwubGFiZWwtYXVzZ2VidWNodC5sYWJlbC1hdXNnZWJ1Y2h0LS1yZWNodHMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgLmxhYmVsLmxhYmVsLWF1c2dlYnVjaHQubGFiZWwtYXVzZ2VidWNodC0tbGlua3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgIC5sYWJlbC5sYWJlbC1hdXNnZWJ1Y2h0LmxhYmVsLWF1c2dlYnVjaHQtLWdyb3NzIHtcbiAgICAgIHBhZGRpbmc6IDAuM2VtIDAuNmVtIDAuNGVtO1xuICAgICAgZm9udC1zaXplOiA2MCU7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG4vKi0tLS0tIERydWNrZW4gLS0tLS0qL1xuQG1lZGlhIHByaW50IHtcbiAgIC5lc05vUHJpbnQsIC5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS5oZWFkbGluZS0ta2FydGUgaDM6YmVmb3JlLCAuZXNHcmlkLS1rYXJ0ZSAuaGVhZGxpbmUuaGVhZGxpbmUtLWthcnRlIGgzOmFmdGVyLCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzpiZWZvcmUsIC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUuaGVhZGxpbmUtLWthcnRlIGgzOmFmdGVyLCAuZXNHcmlkLS1rYXJ0ZSAuaGVhZGxpbmUuaGVhZGxpbmUtLWthY2hlbCBoMzpiZWZvcmUsIC5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS5oZWFkbGluZS0ta2FjaGVsIGgzOmFmdGVyLCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDM6YmVmb3JlLCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDM6YWZ0ZXIsIC5lc0dyaWQtLWthY2hlbCAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nOmJlZm9yZSwgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2UuZ3JpZEJhZGdlLS1ibGlja2Zhbmc6YWZ0ZXIsIC5lc0dyaWQtLWthY2hlbCAua3Vyc2Jlc2NocmVpYnVuZy5rdXJzYmVzY2hyZWlidW5nLS1rYWNoZWwgLnVudGVydGl0ZWwtLWthY2hlbDpiZWZvcmUsIC5lc0dyaWQtLWthY2hlbCAua3Vyc2Jlc2NocmVpYnVuZy5rdXJzYmVzY2hyZWlidW5nLS1rYWNoZWwgLnVudGVydGl0ZWwtLWthY2hlbDphZnRlciwgLmVzR3JpZC0ta2FydGUgLmdyaWRCYWRnZS5ncmlkQmFkZ2UtLWJsaWNrZmFuZzpiZWZvcmUsIC5lc0dyaWQtLWthcnRlIC5ncmlkQmFkZ2UuZ3JpZEJhZGdlLS1ibGlja2Zhbmc6YWZ0ZXIsIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYXJ0ZSAuaGVhZGxpbmUuaGVhZGxpbmUtLWthcnRlIGgzOmJlZm9yZSwgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS5oZWFkbGluZS0ta2FydGUgaDM6YWZ0ZXIsIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzpiZWZvcmUsIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzphZnRlciwgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS5oZWFkbGluZS0ta2FjaGVsIGgzOmJlZm9yZSwgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS5oZWFkbGluZS0ta2FjaGVsIGgzOmFmdGVyLCAuZXNJbmZvcm1hdGlvbnNCb3ggLmVzR3JpZC0ta2FjaGVsIC5oZWFkbGluZS5oZWFkbGluZS0ta2FjaGVsIGgzOmJlZm9yZSwgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUuaGVhZGxpbmUtLWthY2hlbCBoMzphZnRlciwgLmVzSW5wdXRncm91cF9faW5wdXQgLmVzSW5wdXRncm91cF9fYmV6ZWljaG51bmdXcmFwcGVyOmJlZm9yZSwgLmVzSW5wdXRncm91cF9faW5wdXQgLmVzSW5wdXRncm91cF9fYmV6ZWljaG51bmdXcmFwcGVyOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qLS0tLS0gS3Vyc2luZm9ybWF0aW9uZW4sIHNpZWhlIE1vZGFsZSBpbiBLVE4gdW5kIEtBVyAtLS0tLSovXG4ua3Vyc2luZm9ybWF0aW9uZW4gLmt1cnNpbmZvcm1hdGlvbmVuLS13cmFwcGVyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5rdXJzaW5mb3JtYXRpb25lbiAua3Vyc2luZm9ybWF0aW9uZW4tLWt1cnNUaXRlbCwgLmt1cnNpbmZvcm1hdGlvbmVuIC5rdXJzaW5mb3JtYXRpb25lbi0tbmFtZUtvbnRha3Qge1xuICAgZm9udC1zaXplOiAxLjhyZW07XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ua3Vyc2luZm9ybWF0aW9uZW4gLmt1cnNpbmZvcm1hdGlvbmVuLS1kYXR1bSB7XG4gICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4ua3Vyc2luZm9ybWF0aW9uZW4gLmt1cnNpbmZvcm1hdGlvbmVuLS1uYW1lS29udGFrdCB7XG4gICBwYWRkaW5nLXRvcDogNnB4OyB9XG5cbi8qLS0tLS0gQmlsZGVyIC0tLS0tKi9cbi5pbWctZml0IHtcbiAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuLyotLS0tLSBDb29raWUtSGlud2VpcyAtLS0tLSovXG4uY2NfYmFubmVyLXdyYXBwZXIge1xuICAgei1pbmRleDogMjAwMDEgIWltcG9ydGFudDsgfVxuXG4vKiBJRSB6aWNrdCwgYmFubmVyIHdpcmQgdGVpbHdlaXNlIHZvbiBOYXZpZ2F0aW9uIHVuZCBDb250ZW50IHVlYmVybGFnZXJ0ICovXG4uYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAuY2NfYmFubmVyIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uZXNVbmRlcmxpbmUge1xuICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIC0tLS1Ba3plbnQtQWN0aXZlLS0tLTtcbiAgIHBhZGRpbmctYm90dG9tOiAycHg7IH1cblxuLmVzTm9SYWRpdXMge1xuICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93TmV3TGluZXMge1xuICAgd2hpdGUtc3BhY2U6IHByZTsgfVxuXG4uZXNDbGlja2FibGU6aG92ZXIge1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuaDEge1xuICAgZm9udC1zaXplOiAzcmVtO1xuICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbmgyIHtcbiAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbmgzIHtcbiAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG5oNCB7XG4gICBmb250LXNpemU6IDEuNnJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaDUge1xuICAgZm9udC1zaXplOiAxLjRyZW07XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5oNiB7XG4gICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4uZXNMYXlvdXRTdHlsZXMgI2VzUGFnZVdyYXBwZXIgaDEge1xuICAgY29sb3I6IC0tLS1Db2xvckgxLS0tLTsgfVxuXG4uZXNMYXlvdXRTdHlsZXMgI2VzUGFnZVdyYXBwZXIgaDIge1xuICAgY29sb3I6IC0tLS1Db2xvckgyLS0tLTsgfVxuXG4uZXNMYXlvdXRTdHlsZXMgI2VzUGFnZVdyYXBwZXIgaDMge1xuICAgY29sb3I6IC0tLS1Db2xvckgzLS0tLTsgfVxuXG4uZXNMYXlvdXRTdHlsZXMgI2VzUGFnZVdyYXBwZXIgaDQge1xuICAgY29sb3I6IC0tLS1Db2xvckg0LS0tLTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgLmNvbnRlbnRMYXlvdXQtYnVyZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMTVweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi8qIEFub3JkbnVuZyBkZXIgTW9kdWxlICovXG5odG1sIHtcbiAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cblxuaHRtbCxcbmJvZHksXG4jZXNQYWdlV3JhcHBlcixcbmlmcmFtZSB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuI2VzUGFnZVdyYXBwZXIge1xuICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmlmcmFtZSB7XG4gICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmltZyNsb2dvIHtcbiAgIGhlaWdodDogMTAwJTsgfVxuXG4vKiBMYXlvdXQtS2xhc3NlbiBmw7xyIFBvc2l0aW9uaWVydW5nIGRlcyBTZWl0ZW5pbmhhbHRzIC0+IFdyYXBwZXItRWxlbWVudCBpbiBWaWV3IHNvcmd0IGbDvHIgQWJzdMOkbmRlIHVuZCBFaW5zY2hyw6Rua3VuZyBkZXIgQnJlaXRlICovXG4uZXNBYnN0YW5kT2JlbiB7XG4gICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5lc0Fic3RhbmRVbnRlbiB7XG4gICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4uZXNBYnN0YW5kTGlua3Mge1xuICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLmVzQWJzdGFuZFJlY2h0cyB7XG4gICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cblxuLmVzQWJzdGFuZFNjcm9sbGJhbGtlbiB7XG4gICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cblxuLmVzTWl0dGlnSW5QYXJlbnRGbGV4IHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWluLWhlaWdodDogMTAwJTtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5lc01pdHRpZ0luUGFyZW50RmxleCB7XG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmVzVm9sbGVTZWl0ZW5icmVpdGVNaXRNYXJnaW4ge1xuICAgd2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nOiAwIDE1cHg7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5lc1NlaXRlbmJyZWl0ZU1heDEyMDAge1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgIHBhZGRpbmc6IDAgMTVweDtcbiAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgIC5lc0Vpbmdlc2NocmFlbmt0ZVNlaXRlbmJyZWl0ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHdpZHRoOiA5MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgLmVzRWluZ2VzY2hyYWVua3RlU2VpdGVuYnJlaXRlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuXG4uZXNFaW5nZXNjaHJhZW5rdGVTZWl0ZW5icmVpdGUtLW5vTWFyZ2luIHtcbiAgIG1hcmdpbjogMDsgfVxuXG4ubGF5b3V0X19wcmVzZW50YXRpb24gLmVzRWluZ2VzY2hyYWVua3RlU2VpdGVuYnJlaXRlIHtcbiAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgd2lkdGg6IHVuc2V0OyB9XG5cbi8qIEFiIGRlciBTY3JlZW5icmVpdGUgXCJzbVwiIHNvbGxlbiBkaWUgbGlua2VuIFNwYWx0ZW4gcmVjaHRzIGVpbiBwYWRkaW5nIHZvbiAyNXB4IGFuc3RhdHQgMTVweCBoYWJlbiB1bmQgZGllIHJlY2h0ZW4gdW1nZWtlaHJ0ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgLmVzR3JpZDJzcGFsdGlnV2l0aElubmVyUGFkZGluZy0tc20gLmNvbC1zbS02Om50aC1jaGlsZChvZGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgIC5lc0dyaWQyc3BhbHRpZ1dpdGhJbm5lclBhZGRpbmctLXNtIC5yb3cgZm9ybSA+IC5jb2wtc20tNjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9IH1cblxuLmVzR3JpZENvbHVtbnNXaXRoQmlnQm9yZGVyIC5yb3cgLmVzR3JpZENvbHVtbnNXaXRoQmlnQm9yZGVyX19jb2x1bW4ge1xuICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHdoaXRlO1xuICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgd2hpdGU7IH1cbiAgIC5lc0dyaWRDb2x1bW5zV2l0aEJpZ0JvcmRlciAucm93IC5lc0dyaWRDb2x1bW5zV2l0aEJpZ0JvcmRlcl9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAuZXNHcmlkQ29sdW1uc1dpdGhCaWdCb3JkZXIgLnJvdyAuZXNHcmlkQ29sdW1uc1dpdGhCaWdCb3JkZXJfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgLmVzR3JpZENvbHVtbnNXaXRoQmlnQm9yZGVyIC5yb3cgLmVzR3JpZENvbHVtbnNXaXRoQmlnQm9yZGVyX19jb2x1bW4ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHdoaXRlOyB9IH1cblxuLm5vLWd1dHRlcixcbi5lc05vR3V0dGVyIHtcbiAgIHBhZGRpbmctbGVmdDogMDtcbiAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmVzTm9NYXJnaW4ge1xuICAgbWFyZ2luLWxlZnQ6IDA7XG4gICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmVzTm9NYXJnaW5Ub3Age1xuICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5lc05vTWFyZ2luQm90dG9tIHtcbiAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuc2VjdGlvbiNlc0ludHJvIHtcbiAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG5cbnNlY3Rpb24jZXNPdXRybyB7XG4gICBwYWRkaW5nOiAxNXB4IDA7IH1cblxuLyogc3RlbGx0IEluaGFsdGUgbWl0IGVpbmVyIHN0aWNreSBTaWRlYmFyIGRhciB6LkIuIFJlZ2lzdGVyIGRlciBEZXRhaWxzZWl0ZSBpbiBFUEwsIFRQTCovXG4ud3JhcHBlckNvbnRlbnRXaXRoU2lkZWJhclJpZ2h0IHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWF4LXdpZHRoOiAxNTUwcHg7IH1cbiAgIC53cmFwcGVyQ29udGVudFdpdGhTaWRlYmFyUmlnaHQgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgIC53cmFwcGVyQ29udGVudFdpdGhTaWRlYmFyUmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAud3JhcHBlckNvbnRlbnRXaXRoU2lkZWJhclJpZ2h0IC5zaWRlYmFyIHtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgIC53cmFwcGVyQ29udGVudFdpdGhTaWRlYmFyUmlnaHQgLnNpZGViYXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuXG4ubGF5b3V0X19wcmVzZW50YXRpb24gLndyYXBwZXJDb250ZW50V2l0aFNpZGViYXJSaWdodCB7XG4gICB3aWR0aDogdW5zZXQ7XG4gICBtYXgtd2lkdGg6IHVuc2V0OyB9XG5cbi5mbGV4Ym94Q29sdW1uLS1zcGFjZWJldHdlZW4ge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAuZmxleGJveENvbHVtbi0tc3BhY2ViZXR3ZWVuIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi8qIFN0eWxlcyBkZXIgZWFzeVNvZnQtSHRtbC1FbGVtZW50ZSAqL1xuLmVzRmxleENvbnRhaW5lciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5lc0ZsZXhDb250YWluZXJfX2l0ZW0ge1xuICAgbWFyZ2luOiAwIDE1cHggMTVweCAwO1xuICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5lc0ZsZXhDb250YWluZXItLW92ZXJmbG93VW5zZXQge1xuICAgb3ZlcmZsb3c6IHVuc2V0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAuZXNGbGV4Q29udGFpbmVyX19pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNy41cHgpOyB9XG4gICAuZXNGbGV4Q29udGFpbmVyX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMTBweCk7IH1cbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTEuMjVweCk7IH1cbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW06bnRoLWNoaWxkKDRuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMTJweCk7IH1cbiAgIC5lc0ZsZXhDb250YWluZXJfX2l0ZW06bnRoLWNoaWxkKDVuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uZXNLYWNoZWwge1xuICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgIGh5cGhlbnM6IGF1dG87XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XG4gICBwYWRkaW5nOiAxNXB4O1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAuZXNLYWNoZWxfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgIC5lc0thY2hlbF9fY29udGVudCB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgIC5lc0thY2hlbC0tY2VudGVyZWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAuZXNLYWNoZWwtLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjOTc5Nzk3O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgIC5lc0thY2hlbC0tc2VsZWN0ZWQge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tO1xuICAgICAgYm9yZGVyLWNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07IH1cbiAgIC5lc0thY2hlbC0taG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IC0tLS1Ba3plbnQtSG92ZXItLS0tO1xuICAgICAgYm9yZGVyLWNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTsgfVxuICAgLmVzS2FjaGVsLS1ob3ZlckRlc2VsZWN0IHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjYTk0NDQyO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDsgfVxuXG4uYmFzaXNpbmZvcy0tYm94IHtcbiAgIGJvcmRlcjogc29saWQgMXB4ICNkYmRiZGI7XG4gICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICAgcGFkZGluZzogMTJweCAxNnB4OyB9XG5cbi5iYXNpc2luZm9zOm5vdCguYmFzaXNpbmZvcy0tYm94KSBwIHtcbiAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uYmFzaXNpbmZvc19femVpbGUge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYmFzaXNpbmZvc19femVpbGUtLXp3ZWlTcGFsdGlnIHtcbiAgIGRpc3BsYXk6IGZsZXg7IH1cblxuLmJhc2lzaW5mb3NfX3JlY2h0ZVNwYWx0ZSB7XG4gICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uYmFzaXNpbmZvczpub3QoLmJhc2lzaW5mb3MtLWJveCkge1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uYmFzaXNpbmZvcy0tbmFtZSB7XG4gICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4uYmFzaXNpbmZvcy0tYm94IC5iYXNpc2luZm9zLS1uYW1lIHtcbiAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIERldmV4dHJlbWUtRmlsZXMsIGRhbWl0IGbDvHIgZGllIHZvcmxhZ2UuY3NzIG5pY2h0IGFsbGVzIGRvcHBlbHQgZ2VtYWNodCB3ZXJkZW4gbXVzcyovXG4vKiBWb3IgZGVuIGVhc3lTb2Z0LVN0eWxlcywgZGEgYmlzbGFuZyBpbiBkaWVzZXIgUmVpaGVuZm9sZ2UgaW4gZGVyIF9lc0xheW91dC52Ymh0bWwgZWluZ2VidW5kZW4gKi9cbi5keC13aWRnZXQsXG4uZHgtd2lkZ2V0IGlucHV0LFxuLmR4LXdpZGdldCB0ZXh0YXJlYSxcbi5keC1vdmVybGF5LXdyYXBwZXIsXG4uZHgtb3ZlcmxheS13cmFwcGVyIGlucHV0LFxuLmR4LW92ZXJsYXktd3JhcHBlciB0ZXh0YXJlYSxcbi5keC1tZW51LWJhc2UsXG4uZHgtbWVudS1iYXNlIGlucHV0LFxuLmR4LW1lbnUtYmFzZSB0ZXh0YXJlYSxcbi5keC1maWVsZCxcbi5keC1maWVsZCBpbnB1dCxcbi5keC1maWVsZCB0ZXh0YXJlYSxcbi5keC1kYXRhZ3JpZC1jb2x1bW4tY2hvb3Nlcixcbi5keC1kYXRhZ3JpZC1jb2x1bW4tY2hvb3NlciBpbnB1dCxcbi5keC1kYXRhZ3JpZC1jb2x1bW4tY2hvb3NlciB0ZXh0YXJlYSxcbi5keC10cmVlbGlzdC1jb2x1bW4tY2hvb3Nlcixcbi5keC10cmVlbGlzdC1jb2x1bW4tY2hvb3NlciBpbnB1dCxcbi5keC10cmVlbGlzdC1jb2x1bW4tY2hvb3NlciB0ZXh0YXJlYSxcbi5keC10aGVtZS1nZW5lcmljLXR5cG9ncmFwaHksXG4uZHgtdGhlbWUtZ2VuZXJpYy10eXBvZ3JhcGh5IGlucHV0LFxuLmR4LXRoZW1lLWdlbmVyaWMtdHlwb2dyYXBoeSB0ZXh0YXJlYSB7XG4gICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uZXNCdXR0b24gLmR4LWJ1dHRvbi1jb250ZW50IHtcbiAgIHBhZGRpbmc6IDA7IH1cblxuLmVzQnV0dG9uLmJ0bi0tYWt6ZW50MS5keC1idXR0b24ge1xuICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZXNCdXR0b24uYnRuLS1ha3plbnQxLmR4LWJ1dHRvbi5keC1zdGF0ZS1mb2N1c2VkIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9XG5cbi5keC1kcm9wZG93bmJveCxcbi5keC1kcm9wZG93bmJveCAuZHgtdGV4dGVkaXRvci1pbnB1dCxcbi5keC1kcm9wZG93bmJveCAuZHgtZHJvcGRvd25lZGl0b3ItaWNvbixcbi5keC1kcm9wZG93bmJveC5keC1kcm9wZG93bmJveCB7XG4gICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qIFVtIGRhcyBTdWNoZmVsZC9TdWNoZS1JY29uIGltIEZpbHRlcmRyb3Bkb3duIHNvbGwgZWluIGdyYXVlciBSYWhtZW4gZXJzdGVsbHQgd2VyZGVuLCBkYW1pdCBkYXMgRmVsZCBiZXNzZXIgYWxzIHNvbGNoZXMgenUgZXJrZW5uZW4gaXN0LiAqL1xuLmVzR3JpZC0tZmlsdGVyR3JpZCAuZHgtZGF0YWdyaWQtZmlsdGVyLXJvdyB0ZDpmaXJzdC1jaGlsZC5keC1lZGl0b3ItY2VsbCB7XG4gICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgLmVzR3JpZC0tZmlsdGVyR3JpZCAuZHgtZGF0YWdyaWQtZmlsdGVyLXJvdyB0ZDpmaXJzdC1jaGlsZC5keC1lZGl0b3ItY2VsbDpub3QoLmR4LWZvY3VzZWQpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7IH1cblxuLmVzR3JpZC0tZmlsdGVyR3JpZCAuZHgtZGF0YWdyaWQtcm93c3ZpZXcge1xuICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uZHgtYnV0dG9uZ3JvdXAgLmR4LWJ1dHRvbmdyb3VwLWZpcnN0LWl0ZW0sXG4uZHgtYnV0dG9uZ3JvdXAgLmR4LWJ1dHRvbmdyb3VwLWxhc3QtaXRlbSB7XG4gICBib3JkZXItcmFkaXVzOiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbi5keC1pY29uOmhvdmVyIHtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZHgtdGV4dGVkaXRvci5keC1lZGl0b3Itb3V0bGluZWQge1xuICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uZHgtaW52YWxpZC5keC10ZXh0ZWRpdG9yLmR4LWVkaXRvci1vdXRsaW5lZC5keC1zaG93LWludmFsaWQtYmFkZ2UgLmR4LXRleHRlZGl0b3ItaW5wdXQtY29udGFpbmVyOmFmdGVyIHtcbiAgIGNvbnRlbnQ6IFwiXFxlOTkyXCI7XG4gICBmb250LWZhbWlseTogJ2Vhc3lTb2Z0LVB1Ymxpc2gnO1xuICAgZm9udC1zaXplOiAxOHB4O1xuICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgIGNvbG9yOiAjZDk1MzRmO1xuICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uZHgtaW52YWxpZC5keC10ZXh0ZWRpdG9yLFxuLmR4LWludmFsaWQgLmR4LWNoZWNrYm94LWNvbnRhaW5lciAuZHgtY2hlY2tib3gtaWNvbixcbi5keC1pbnZhbGlkIC5keC1yYWRpb2J1dHRvbi1pY29uOmJlZm9yZSB7XG4gICBib3JkZXItY29sb3I6IHJnYmEoMjE3LCA4MywgNzksIDAuOCk7IH1cblxuLmR4LWJ1dHRvbixcbi5keC1wYWdlciAuZHgtcGFnZSxcbi5keC1wYWdlciAuZHgtcGFnZS1zaXplIHtcbiAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmR4LWRhdGVib3g6bm90KC5keC1pbnZhbGlkKS5keC1zdGF0ZS1yZWFkb25seSwgLmR4LWRhdGVib3g6bm90KC5keC1pbnZhbGlkKS5keC1lZGl0b3Itb3V0bGluZWQsIC5keC1kYXRlYm94Om5vdCguZHgtaW52YWxpZCkuZHgtZWRpdG9yLW91dGxpbmVkLmR4LXN0YXRlLWZvY3VzZWQge1xuICAgYm9yZGVyLXJhZGl1czogMDtcbiAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuXG4uZHgtZGF0ZWJveDpub3QoLmR4LWludmFsaWQpIGlucHV0Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZHgtZGF0ZWJveC1jYWxlbmRhciAuZHgtZHJvcGRvd25lZGl0b3ItaWNvbiB7XG4gICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5keC1kYXRlYm94LXdyYXBwZXItY2FsZW5kYXIgLmR4LWNhbGVuZGFyLW5hdmlnYXRvci1wcmV2aW91cy1tb250aC5keC1idXR0b24sXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1uYXZpZ2F0b3ItcHJldmlvdXMtdmlldy5keC1idXR0b24sXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1uYXZpZ2F0b3IgLmR4LWNhbGVuZGFyLWNhcHRpb24tYnV0dG9uLmR4LWJ1dHRvbiAuZHgtYnV0dG9uLWNvbnRlbnQsXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1kcm9wZG93bmVkaXRvci1pY29uLFxuLmR4LWRhdGVib3gtd3JhcHBlci1jYWxlbmRhciAuZHgtY2FsZW5kYXItbmF2aWdhdG9yLW5leHQtbW9udGguZHgtYnV0dG9uLFxuLmR4LWRhdGVib3gtd3JhcHBlci1jYWxlbmRhciAuZHgtY2FsZW5kYXItbmF2aWdhdG9yLW5leHQtdmlldy5keC1idXR0b24sXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1jZWxsIHtcbiAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmR4LWRhdGVib3gtd3JhcHBlci1jYWxlbmRhciAuZHgtY2FsZW5kYXItbmF2aWdhdG9yLXByZXZpb3VzLW1vbnRoLmR4LWJ1dHRvbiAuZHgtaWNvbixcbi5keC1kYXRlYm94LXdyYXBwZXItY2FsZW5kYXIgLmR4LWNhbGVuZGFyLW5hdmlnYXRvci1wcmV2aW91cy12aWV3LmR4LWJ1dHRvbiAuZHgtaWNvbixcbi5keC1kYXRlYm94LXdyYXBwZXItY2FsZW5kYXIgLmR4LWNhbGVuZGFyLW5hdmlnYXRvciAuZHgtY2FsZW5kYXItY2FwdGlvbi1idXR0b24uZHgtYnV0dG9uIC5keC1idXR0b24tY29udGVudCxcbi5keC1kYXRlYm94LXdyYXBwZXItY2FsZW5kYXIgLmR4LWNhbGVuZGFyLW5hdmlnYXRvci1uZXh0LW1vbnRoLmR4LWJ1dHRvbiAuZHgtaWNvbixcbi5keC1kYXRlYm94LXdyYXBwZXItY2FsZW5kYXIgLmR4LWNhbGVuZGFyLW5hdmlnYXRvci1uZXh0LXZpZXcuZHgtYnV0dG9uIC5keC1pY29uIHtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1jZWxsLmR4LWNhbGVuZGFyLXNlbGVjdGVkLWRhdGUsXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1jZWxsLmR4LWNhbGVuZGFyLXNlbGVjdGVkLWRhdGUuZHgtY2FsZW5kYXItdG9kYXksXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1jZWxsLmR4LWNhbGVuZGFyLXNlbGVjdGVkLWRhdGUuZHgtY2FsZW5kYXItY29udG91cmVkLWRhdGUsXG4uZHgtZGF0ZWJveC13cmFwcGVyLWNhbGVuZGFyIC5keC1jYWxlbmRhci1jZWxsLmR4LWNhbGVuZGFyLXNlbGVjdGVkLWRhdGUuZHgtY2FsZW5kYXItdG9kYXkuZHgtY2FsZW5kYXItY29udG91cmVkLWRhdGUge1xuICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTAwMHB4IC0tLS1Ba3plbnQtLS0tOyB9XG5cbi5keC1kYXRhZ3JpZC10YWJsZSB7XG4gICBoZWlnaHQ6IDFweDsgfVxuXG4uZHgtZGF0YWdyaWQtdGFibGUgdHIsXG4uZHgtZGF0YWdyaWQtdGFibGUgdGQsXG4uZHgtZGF0YWdyaWQtdGFibGUgYSB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuLmR4LWRhdGFncmlkLXRhYmxlIGEuZXNMaW5rTm9EZWNvcmF0aW9uIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5keC1kYXRhZ3JpZC1oZWFkZXItcGFuZWwgLmR4LWdyb3VwLXBhbmVsLW1lc3NhZ2Uge1xuICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7IH1cblxuLmVzR3JpZCAuZXNHcmlkX19idXR0b25zVW5kU3VjaGUge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmVzR3JpZCAuZXNHcmlkX19idXR0b25zT2JlcmhhbGIge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgLmVzR3JpZCAuZXNHcmlkX19idXR0b25zT2JlcmhhbGIgLmJ0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4uZXNHcmlkIC5hbXBlbF9fYmV6ZWljaG51bmcge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5lc0dyaWQuZXNHcmlkLS1ncm91cGVkIC5keC1kYXRhZ3JpZCAuZHgtZGF0YWdyaWQtcm93c3ZpZXcge1xuICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLWdyb3VwZWQgLmR4LWRhdGFncmlkIC5keC1kYXRhZ3JpZC1yb3dzdmlldyAuZHgtZGF0YWdyaWQtY29udGVudCB0YWJsZS5keC1kYXRhZ3JpZC10YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDAgM3B4OyB9XG4gICAgICAuZXNHcmlkLmVzR3JpZC0tZ3JvdXBlZCAuZHgtZGF0YWdyaWQgLmR4LWRhdGFncmlkLXJvd3N2aWV3IC5keC1kYXRhZ3JpZC1jb250ZW50IHRhYmxlLmR4LWRhdGFncmlkLXRhYmxlIC5keC1yb3cgPiB0ZCB7XG4gICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmVzR3JpZC5lc0dyaWQtLWdyb3VwZWQgLmR4LWRhdGFncmlkIC5keC1yb3cuZHgtZ3JvdXAtcm93IHtcbiAgIGNvbG9yOiAtLS0tR3JvdXBIZWFkZXJGb250Q29sb3ItLS0tO1xuICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgIC5lc0dyaWQuZXNHcmlkLS1ncm91cGVkIC5keC1kYXRhZ3JpZCAuZHgtcm93LmR4LWdyb3VwLXJvdyAuZHgtZGF0YWdyaWQtZ3JvdXAtY2xvc2VkLFxuICAgLmVzR3JpZC5lc0dyaWQtLWdyb3VwZWQgLmR4LWRhdGFncmlkIC5keC1yb3cuZHgtZ3JvdXAtcm93IC5keC1kYXRhZ3JpZC1ncm91cC1vcGVuZWQge1xuICAgICAgY29sb3I6IC0tLS1Hcm91cEhlYWRlckZvbnRDb2xvci0tLS07IH1cbiAgIC5lc0dyaWQuZXNHcmlkLS1ncm91cGVkIC5keC1kYXRhZ3JpZCAuZHgtcm93LmR4LWdyb3VwLXJvdy5lcy1yb3ctZ3JvdXAtMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tR3JvdXBIZWFkZXJCZy0xLS0tLTsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLWdyb3VwZWQgLmR4LWRhdGFncmlkIC5keC1yb3cuZHgtZ3JvdXAtcm93LmVzLXJvdy1ncm91cC0xIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Hcm91cEhlYWRlckJnLTItLS0tOyB9XG4gICAuZXNHcmlkLmVzR3JpZC0tZ3JvdXBlZCAuZHgtZGF0YWdyaWQgLmR4LXJvdy5keC1ncm91cC1yb3cuZXMtcm93LWdyb3VwLTIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUdyb3VwSGVhZGVyQmctMy0tLS07IH1cbiAgIC5lc0dyaWQuZXNHcmlkLS1ncm91cGVkIC5keC1kYXRhZ3JpZCAuZHgtcm93LmR4LWdyb3VwLXJvdyAuYW1wZWxfX3dyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAuZXNHcmlkLmVzR3JpZC0tZ3JvdXBlZCAuZHgtZGF0YWdyaWQgLmR4LXJvdy5keC1ncm91cC1yb3cgLmFtcGVsX19iZXplaWNobnVuZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tZ3JvdXBlZCAuZHgtZGF0YWdyaWQuZHgtZGF0YWdyaWQtYm9yZGVycyA+IC5keC1kYXRhZ3JpZC10b3RhbC1mb290ZXIge1xuICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gICBib3JkZXItbGVmdDogMDtcbiAgIGJvcmRlci1yaWdodDogMDsgfVxuXG4uZXNHcmlkIC5keC1kYXRhZ3JpZC1oZWFkZXJzIHtcbiAgIGNvbG9yOiAjMDAwOyB9XG4gICAuZXNHcmlkIC5keC1kYXRhZ3JpZC1oZWFkZXJzIC5lc1N2Z0ljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgLmVzR3JpZCAuZHgtZGF0YWdyaWQtaGVhZGVycyB0ZFtyb2xlPWNvbHVtbmhlYWRlcl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmVzR3JpZCAuZHgtZGF0YWdyaWQtYm9yZGVycyA+IC5keC1kYXRhZ3JpZC1wYWdlciB7XG4gICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5lc0dyaWQgLmR4LWRhdGFncmlkLWNvbnRlbnQgLmR4LWRhdGFncmlkLXRhYmxlIC5keC1yb3cuZHgtZGF0YWdyaWQtZmlsdGVyLXJvdyA+IHRkIHtcbiAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICBwYWRkaW5nLWJvdHRvbTogM3B4OyB9XG5cbi5lc0dyaWQgLmR4LWRhdGFncmlkLWNvbnRlbnQgLmR4LWRhdGFncmlkLXRhYmxlIC5keC1yb3cgPiB0ZCB7XG4gICBwYWRkaW5nOiAxNXB4OyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmVzR3JpZCAuZHgtZGF0YWdyaWQtY29udGVudCAuZHgtZGF0YWdyaWQtdGFibGUgLmR4LXJvdyA+IHRkIHtcbiAgICAgICAgIHBhZGRpbmc6IDEyLjVweCAxNXB4OyB9IH1cblxuLmVzR3JpZC5lc0dyaWQtLXRhcmdldEJsYW5rIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1kYXRhZ3JpZC10YWJsZSAuZHgtcm93LmR4LWRhdGEtcm93ID4gdGQge1xuICAgcGFkZGluZzogMDsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLXRhcmdldEJsYW5rIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1kYXRhZ3JpZC10YWJsZSAuZHgtcm93LmR4LWRhdGEtcm93ID4gdGQgPiBzcGFuLFxuICAgLmVzR3JpZC5lc0dyaWQtLXRhcmdldEJsYW5rIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1kYXRhZ3JpZC10YWJsZSAuZHgtcm93LmR4LWRhdGEtcm93ID4gdGQgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLXRhcmdldEJsYW5rIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1kYXRhZ3JpZC10YWJsZSAuZHgtcm93LmR4LWRhdGEtcm93ID4gdGQgPiBzcGFuIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAuZXNHcmlkLmVzR3JpZC0tdGFyZ2V0QmxhbmsgLmR4LWRhdGFncmlkLWNvbnRlbnQgLmR4LWRhdGFncmlkLXRhYmxlIC5keC1yb3cuZHgtZGF0YS1yb3cgPiB0ZCBhLFxuICAgLmVzR3JpZC5lc0dyaWQtLXRhcmdldEJsYW5rIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1kYXRhZ3JpZC10YWJsZSAuZHgtcm93LmR4LWRhdGEtcm93ID4gdGQgPiBzcGFuLmR4LWRhdGFncmlkLWFkYXB0aXZlLW1vcmUge1xuICAgICAgcGFkZGluZzogMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgIC5lc0dyaWQuZXNHcmlkLS10YXJnZXRCbGFuayAuZHgtZGF0YWdyaWQtY29udGVudCAuZHgtZGF0YWdyaWQtdGFibGUgLmR4LXJvdy5keC1kYXRhLXJvdyA+IHRkIGEsXG4gICAgICAgICAuZXNHcmlkLmVzR3JpZC0tdGFyZ2V0QmxhbmsgLmR4LWRhdGFncmlkLWNvbnRlbnQgLmR4LWRhdGFncmlkLXRhYmxlIC5keC1yb3cuZHgtZGF0YS1yb3cgPiB0ZCA+IHNwYW4uZHgtZGF0YWdyaWQtYWRhcHRpdmUtbW9yZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMi41cHggMTVweDsgfSB9XG5cbi5lc0dyaWQuZXNHcmlkLS13ZW5pZ1BhZGRpbmcgLmR4LWRhdGFncmlkLWNvbnRlbnQgLmR4LWRhdGFncmlkLXRhYmxlIC5keC1yb3cgPiB0ZCB7XG4gICBwYWRkaW5nOiA3cHg7IH1cblxuLmVzR3JpZCAuZHgtY29tbWFuZC1hZGFwdGl2ZSB7XG4gICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmVzR3JpZCAuZHgtZGF0YS1yb3csXG4uZXNHcmlkLS1ob3Jpem9udGFsIC5keC1yb3csXG4uZXNHcmlkLS12ZXJ0aWNhbCAuZHgtcm93IHtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZXNHcmlkIC5lc0dyaWRfX3Jvdy0tZGlzYWJsZWQgdGQge1xuICAgYmFja2dyb3VuZDogI2YzZjNmMyAhaW1wb3J0YW50O1xuICAgY29sb3I6ICM3ZjdmN2YgIWltcG9ydGFudDtcbiAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZXNHcmlkIC5lc0dyaWRfX3Jvdy0tZGlzYWJsZWQgLmR4LXNlbGVjdC1jaGVja2JveCB7XG4gICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmVzR3JpZCAuZXNHcmlkX19yb3ctLWRpc2FibGVkIC5keC1jaGVja2JveC1pY29uIHtcbiAgIGNvbG9yOiAjN2Y3ZjdmO1xuICAgYm9yZGVyLWNvbG9yOiAjZGJkYmRiOyB9XG5cbi5lc0dyaWQgW2NsYXNzXj1cImljb24tXCJdLCAuZXNHcmlkIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgZm9udC1mYW1pbHk6ICdlYXN5U29mdC1QdWJsaXNoJyAhaW1wb3J0YW50OyB9XG5cbi5lc0dyaWQgW2NsYXNzXj1cImljb24tXCJdLCAuZXNHcmlkIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgZm9udC1mYW1pbHk6ICdlYXN5U29mdC1QdWJsaXNoJyAhaW1wb3J0YW50OyB9XG5cbi5lc0dyaWQgLmR4LWRhdGFncmlkLXJvd3N2aWV3IC5keC1yb3cuZHgtZ3JvdXAtcm93LFxuLmVzR3JpZCAuZHgtZGF0YWdyaWQtaGVhZGVycyB0ZFtyb2xlPWNvbHVtbmhlYWRlcl0ge1xuICAgY29sb3I6ICMzMzM7IH1cblxuLmVzR3JpZCAuZHgtZGF0YWdyaWQtcm93c3ZpZXcuZHgtZW1wdHkge1xuICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmVzR3JpZCAuZHgtZGF0YWdyaWQtcm93c3ZpZXcgLmR4LXJvdyAuZHgtY29tbWFuZC1hZGFwdGl2ZSxcbi5lc0dyaWQgLmR4LWRhdGFncmlkLXJvd3N2aWV3IC5keC1yb3cgPiB0ciA+IC5keC1jb21tYW5kLWFkYXB0aXZlIHtcbiAgIHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7IH1cblxuLmVzR3JpZCAuZHgtZGF0YWdyaWQtcm93c3ZpZXcuZHgtc2Nyb2xsYWJsZS1uYXRpdmUtaW9zIC5keC1zY3JvbGxhYmxlLWNvbnRhaW5lciB7XG4gICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAuZXNHcmlkIC5keC1hZGFwdGl2ZS1kZXRhaWwtcm93IC5keC1maWVsZC1pdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5lc0dyaWQgLmR4LWFkYXB0aXZlLWRldGFpbC1yb3cgLmR4LWZpZWxkLWl0ZW0gLmR4LWZpZWxkLWl0ZW0tY29udGVudCB7XG4gICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5lc0dyaWQgLmljb24tYnVjaHVuZ3NzdGF0dXNpbmZvcm1hdGlvbi0tc3RhdHVzNCwgLmVzR3JpZCAuaWNvbi1idWNodW5nc3N0YXR1c2luZm9ybWF0aW9uLS1zdGF0dXM1IHtcbiAgIGNvbG9yOiAjYTIyMzE5OyB9XG5cbi5lc0dyaWQgLmljb24tYnVjaHVuZ3NzdGF0dXNpbmZvcm1hdGlvbi0tc3RhdHVzMSB7XG4gICBjb2xvcjogIzRjOTYwYjsgfVxuXG4uZXNHcmlkIC5pY29uLWJ1Y2h1bmdzc3RhdHVzaW5mb3JtYXRpb24tLXN0YXR1czIsIC5lc0dyaWQgLmljb24tYnVjaHVuZ3NzdGF0dXNpbmZvcm1hdGlvbi0tc3RhdHVzMyB7XG4gICBjb2xvcjogI2U2NzAwOTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAgLmVzR3JpZCAuaWNvbi1idWNodW5nc3N0YXR1c2luZm9ybWF0aW9uLS1zdGF0dXM0LCAuZXNHcmlkIC5pY29uLWJ1Y2h1bmdzc3RhdHVzaW5mb3JtYXRpb24tLXN0YXR1czUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLmVzR3JpZCAuaWNvbi1idWNodW5nc3N0YXR1c2luZm9ybWF0aW9uLS1zdGF0dXMxIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIC5lc0dyaWQgLmljb24tYnVjaHVuZ3NzdGF0dXNpbmZvcm1hdGlvbi0tc3RhdHVzMiwgLmVzR3JpZCAuaWNvbi1idWNodW5nc3N0YXR1c2luZm9ybWF0aW9uLS1zdGF0dXMzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIC5lc0dyaWQgLmJ1Y2h1bmdzc3RhdHVzIHtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAuZXNHcmlkIC5idWNodW5nc3N0YXR1cy0tc3RhdHVzNCwgLmVzR3JpZCAuYnVjaHVuZ3NzdGF0dXMtLXN0YXR1czUge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EyMjMxOSAhaW1wb3J0YW50OyB9XG4gICAgICAuZXNHcmlkIC5idWNodW5nc3N0YXR1cy0tc3RhdHVzMSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM5NjBiICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5lc0dyaWQgLmJ1Y2h1bmdzc3RhdHVzLS1zdGF0dXMyLCAuZXNHcmlkIC5idWNodW5nc3N0YXR1cy0tc3RhdHVzMyB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY3MDA5ICFpbXBvcnRhbnQ7IH1cbiAgIC5lc0dyaWQgLmJ1Y2h1bmdzc3RhdHVzaW5mb3JtYXRpb24tLWhpbndlaXN0ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmVzR3JpZC0taG9yaXpvbnRhbCwgLmVzR3JpZC0tdmVydGljYWwsIC5lc0dyaWQtLWF1Zmxpc3R1bmcge1xuICAgLypBbHRlcm5pZXJlbmRlIFRlYmVsbGVuemVpbGVuKi8gfVxuICAgLmVzR3JpZC0taG9yaXpvbnRhbCAuZXNGb3JtYXR2b3JsYWdlLCAuZXNHcmlkLS12ZXJ0aWNhbCAuZXNGb3JtYXR2b3JsYWdlLCAuZXNHcmlkLS1hdWZsaXN0dW5nIC5lc0Zvcm1hdHZvcmxhZ2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtOyB9XG4gICAuZXNHcmlkLS1ob3Jpem9udGFsIC5keC1kYXRhZ3JpZC1yb3dzdmlldywgLmVzR3JpZC0tdmVydGljYWwgLmR4LWRhdGFncmlkLXJvd3N2aWV3LCAuZXNHcmlkLS1hdWZsaXN0dW5nIC5keC1kYXRhZ3JpZC1yb3dzdmlldyB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gICAuZXNHcmlkLS1ob3Jpem9udGFsIC5keC1oZWFkZXItcm93LCAuZXNHcmlkLS12ZXJ0aWNhbCAuZHgtaGVhZGVyLXJvdywgLmVzR3JpZC0tYXVmbGlzdHVuZyAuZHgtaGVhZGVyLXJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAuZXNHcmlkLS1ob3Jpem9udGFsIC5keC1kYXRhZ3JpZC1oZWFkZXJzLCAuZXNHcmlkLS12ZXJ0aWNhbCAuZHgtZGF0YWdyaWQtaGVhZGVycywgLmVzR3JpZC0tYXVmbGlzdHVuZyAuZHgtZGF0YWdyaWQtaGVhZGVycyB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgIC5lc0dyaWQtLWhvcml6b250YWwgdGFibGUgdGQuZXZlbiwgLmVzR3JpZC0tdmVydGljYWwgdGFibGUgdGQuZXZlbiwgLmVzR3JpZC0tYXVmbGlzdHVuZyB0YWJsZSB0ZC5ldmVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQkZCRkI7IH1cblxuLmVzR3JpZC0taG9yaXpvbnRhbCAuYnVjaHVuZ3NzdGF0dXMsIC5lc0dyaWQtLXZlcnRpY2FsIC5idWNodW5nc3N0YXR1cywgLmVzR3JpZC0tdGFibGUgLmJ1Y2h1bmdzc3RhdHVzIHtcbiAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgbGluZS1oZWlnaHQ6IDEuNnJlbTsgfVxuXG4uZXNHcmlkLS10YWJsZSAuYnVjaHVuZ3NzdGF0dXMge1xuICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5lc0dyaWQtLXRhYmxlRGVzaWduRGF0YXRhYmxlIC5keC1kYXRhZ3JpZC1yb3dzdmlldyAuZHgtcm93LmR4LWdyb3VwLXJvdyxcbi5lc0dyaWQtLXRhYmxlRGVzaWduRGF0YXRhYmxlIC5keC1kYXRhZ3JpZC1oZWFkZXJzIHRkW3JvbGU9Y29sdW1uaGVhZGVyXSB7XG4gICBjb2xvcjogLS0tLUFremVudC0tLS07XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLmVzR3JpZC0tdGFibGVEZXNpZ25EYXRhdGFibGUgLmVzU3ZnSWNvbiB7XG4gICBtYXJnaW4tcmlnaHQ6IDcuNXB4OyB9XG4gICAuZXNHcmlkLS10YWJsZURlc2lnbkRhdGF0YWJsZSAuZXNTdmdJY29uIHN2ZyB7XG4gICAgICBmaWxsOiAtLS0tQWt6ZW50LS0tLTtcbiAgICAgIHN0cm9rZTogbm9uZTsgfVxuXG4uZXNHcmlkLS10YWJsZURlc2lnbkRhdGF0YWJsZSAuZXNTdmdJY29uX193cmFwcGVyIC5lc0dyaWRDb2x1bW5fX3RpdGxlIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4uZXNHcmlkLS10YWJsZURlc2lnbkRhdGF0YWJsZSAuZHgtY29sdW1uLWluZGljYXRvcnMge1xuICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZXNHcmlkLS10YWJsZURlc2lnbkRhdGF0YWJsZSAuZHgtc29ydC1pbmRpY2F0b3Ige1xuICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmVzR3JpZC0tdGFibGVEZXNpZ25EYXRhdGFibGUgLmR4LWRhdGFncmlkLWNvbnRlbnQgLmR4LXJvdyA+IHRkIHtcbiAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbi5lc0dyaWQtLXRhYmxlRGVzaWduRGF0YXRhYmxlIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1yb3c6bm90KC5keC1oZWFkZXItcm93KSA+IHRkIHtcbiAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4uZXNHcmlkLS10YWJsZURlc2lnbkRhdGF0YWJsZSAuZHgtZGF0YWdyaWQtY29udGVudCAuZHgtcm93ID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLmVzR3JpZC0tdGFibGVEZXNpZ25EYXRhdGFibGUgLmR4LWRhdGFncmlkLXJvd3N2aWV3LFxuLmVzR3JpZC0tdGFibGVEZXNpZ25EYXRhdGFibGUgLmR4LWRhdGFncmlkLWhlYWRlcnMge1xuICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbi5lc0dyaWQtLXRhYmxlRGVzaWduRGF0YXRhYmxlICNzdWNoZVdyYXBwZXIge1xuICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uZXNHcmlkIC5lc0dyaWQuZXNHcmlkLS10YXJnZXRCbGFuayAuZHgtZGF0YWdyaWQtY29udGVudCAuZHgtcm93Om5vdCguZHgtaGVhZGVyLXJvdykgPiB0ZCB7XG4gICBwYWRkaW5nLXRvcDogMDtcbiAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5lc0dyaWQgLmVzR3JpZC5lc0dyaWQtLXRhcmdldEJsYW5rIC5keC1kYXRhZ3JpZC1jb250ZW50IC5keC1yb3cgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmVzR3JpZC0ta2FydGUgZGl2LmR4LWRhdGFncmlkLWhlYWRlcnMsIC5lc0dyaWQtLWthY2hlbCBkaXYuZHgtZGF0YWdyaWQtaGVhZGVycyB7XG4gICBib3JkZXItdG9wOiAwO1xuICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgLmVzR3JpZC0ta2FydGUgZGl2LmR4LWRhdGFncmlkLWhlYWRlcnMgLmR4LWhlYWRlci1yb3csIC5lc0dyaWQtLWthY2hlbCBkaXYuZHgtZGF0YWdyaWQtaGVhZGVycyAuZHgtaGVhZGVyLXJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS1jb250YWluZXIsIC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUtY29udGFpbmVyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5lc0dyaWQtLWthcnRlIC5lc0dyaWRfX2thcnRlUm93IHRkLCAuZXNHcmlkLS1rYWNoZWwgLmVzR3JpZF9fa2FydGVSb3cgdGQge1xuICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5lc0dyaWQtLWthcnRlIC5lc0dyaWRfX2thcnRlUm93Om5vdCg6bGFzdC1jaGlsZCksIC5lc0dyaWQtLWthY2hlbCAuZXNHcmlkX19rYXJ0ZVJvdzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiOyB9XG5cbi5lc0dyaWQtLWthcnRlIC5oZWFkbGluZSwgLmVzR3JpZC0ta2FjaGVsIC5oZWFkbGluZSB7XG4gICBmb250LXNpemU6IDEuNnJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAyLjZyZW07XG4gICBjb2xvcjogIzAwNEQ4MTtcbiAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMywgLmVzR3JpZC0ta2FjaGVsIC5oZWFkbGluZS5oZWFkbGluZS0ta2FydGUgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICBtYXgtaGVpZ2h0OiAyLjZlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAuZXNHcmlkLS1rYXJ0ZSAuaGVhZGxpbmUuaGVhZGxpbmUtLWthcnRlIGgzOmJlZm9yZSwgLmVzR3JpZC0ta2FjaGVsIC5oZWFkbGluZS5oZWFkbGluZS0ta2FydGUgaDM6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6ICcuLi4nO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgICBib3R0b206IDA7XG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzphZnRlciwgLmVzR3JpZC0ta2FjaGVsIC5oZWFkbGluZS5oZWFkbGluZS0ta2FydGUgaDM6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICByaWdodDogLTAuMmVtO1xuICAgICAgICAgLypyaWdodDogLTAuMTVlbTsqL1xuICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDMsIC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUuaGVhZGxpbmUtLWthY2hlbCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgbWF4LWhlaWdodDogMi40ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDM6YmVmb3JlLCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDM6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6ICcuLi4nO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgICBib3R0b206IDA7XG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDM6YWZ0ZXIsIC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUuaGVhZGxpbmUtLWthY2hlbCBoMzphZnRlciB7XG4gICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHJpZ2h0OiAtMC4yZW07XG4gICAgICAgICAvKnJpZ2h0OiAtMC4xNWVtOyovXG4gICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5lc0dyaWQtLWthcnRlIC51bnRlcnRpdGVsLnVudGVydGl0ZWwtLWthcnRlLCAuZXNHcmlkLS1rYWNoZWwgLnVudGVydGl0ZWwudW50ZXJ0aXRlbC0ta2FydGUge1xuICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi5lc0dyaWQtLWthcnRlIC5rdXJzaW5mb3JtYXRpb25lbi5rdXJzaW5mb3JtYXRpb25lbi0ta2FydGUsIC5lc0dyaWQtLWthY2hlbCAua3Vyc2luZm9ybWF0aW9uZW4ua3Vyc2luZm9ybWF0aW9uZW4tLWthcnRlIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgZmxleC1ncm93OiAxO1xuICAgZmxleC1iYXNpczogMTAwJTsgfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZ3JpZEJhZGdlLWNvbnRhaW5lciwgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2UtY29udGFpbmVyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgZmxleC1zaHJpbms6IDA7IH1cblxuLmVzR3JpZC0ta2FydGUgLmdyaWRCYWRnZSwgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2Uge1xuICAgZm9udC1zaXplOiAxLjhyZW07XG4gICBsaW5lLWhlaWdodDogMi42cmVtO1xuICAgcGFkZGluZzogMCAxLjZyZW07XG4gICBjb2xvcjogI2ZmZmZmZjtcbiAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAuZXNHcmlkLS1rYXJ0ZSAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYXVzZ2VidWNodCwgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2UuZ3JpZEJhZGdlLS1hdXNnZWJ1Y2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBMzIzMTc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cbiAgIC5lc0dyaWQtLWthcnRlIC5ncmlkQmFkZ2UuZ3JpZEJhZGdlLS1ibGlja2ZhbmcsIC5lc0dyaWQtLWthY2hlbCAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtLS0tOyB9XG5cbi5lc0dyaWQtLWthcnRlIC5taW5pSWNvbnMsIC5lc0dyaWQtLWthY2hlbCAubWluaUljb25zIHtcbiAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZGF0ZUxvY2F0aW9uLCAuZXNHcmlkLS1rYWNoZWwgLmRhdGVMb2NhdGlvbiB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgIC5lc0dyaWQtLWthcnRlIC5kYXRlTG9jYXRpb24uZGF0ZUxvY2F0aW9uLS1rYXJ0ZSwgLmVzR3JpZC0ta2FjaGVsIC5kYXRlTG9jYXRpb24uZGF0ZUxvY2F0aW9uLS1rYXJ0ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAuZXNHcmlkLS1rYXJ0ZSAuZGF0ZUxvY2F0aW9uLmRhdGVMb2NhdGlvbi0ta2FydGUgPiBkaXYsIC5lc0dyaWQtLWthY2hlbCAuZGF0ZUxvY2F0aW9uLmRhdGVMb2NhdGlvbi0ta2FydGUgPiBkaXYge1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgIC5lc0dyaWQtLWthcnRlIC5kYXRlTG9jYXRpb24uZGF0ZUxvY2F0aW9uLS1rYXJ0ZSA+IGRpdjpmaXJzdC1jaGlsZCwgLmVzR3JpZC0ta2FjaGVsIC5kYXRlTG9jYXRpb24uZGF0ZUxvY2F0aW9uLS1rYXJ0ZSA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXNHcmlkIC52b3JzY2hhdUJpbGQge1xuICAgZGlzcGxheTogbm9uZTsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgIC5lc0dyaWQgLnZvcnNjaGF1QmlsZCB7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuXG4uZXNHcmlkLS1rYWNoZWwge1xuICAgLypJRTEwIHVuZCBkYXLDvGJlciovIH1cbiAgIC5lc0dyaWQtLWthY2hlbCAudm9yc2NoYXVCaWxkIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAxNTBweDsgfVxuICAgLmVzR3JpZC0ta2FjaGVsIC5lc0dyaWRfX2thY2hlbFJvdyBkaXZbaWRePVwiZXNHcmlkX0dydXBwZV9cIl0ge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNjVweCwgMWZyKSk7XG4gICAgICBncmlkLWF1dG8tcm93czogNDUwcHg7XG4gICAgICBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG4gICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgIC5lc0dyaWQtLWthY2hlbCAuZ3JpZExheW91dC0ta2FjaGVsIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7IH1cbiAgIC5lc0dyaWQtLWthY2hlbCAuZGV0YWlsTGluayB7XG4gICAgICBtYXJnaW46IDAgMS41cmVtIDIuNXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5lc0dyaWQtLWthY2hlbCAuZGV0YWlsTGluayBhIHtcbiAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2UtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2UtY29udGFpbmVyLmdyaWRCYWRnZS1jb250YWluZXItLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgIGhlaWdodDogMjBweDsgfVxuICAgLmVzR3JpZC0ta2FjaGVsIC5ncmlkQmFkZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5lc0dyaWQtLWthY2hlbCAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nIHtcbiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgICBtYXgtaGVpZ2h0OiAyLjhlbTtcbiAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gN3JlbSk7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgICAgIC5lc0dyaWQtLWthY2hlbCAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnLi4uJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgICAgIC5lc0dyaWQtLWthY2hlbCAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgICAgICAgIC8qcmlnaHQ6IC0wLjE1ZW07Ki9cbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgIC5lc0dyaWQtLWthY2hlbCAua3Vyc2Jlc2NocmVpYnVuZy5rdXJzYmVzY2hyZWlidW5nLS1rYWNoZWwge1xuICAgICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgICAuZXNHcmlkLS1rYWNoZWwgLmt1cnNiZXNjaHJlaWJ1bmcua3Vyc2Jlc2NocmVpYnVuZy0ta2FjaGVsIC51bnRlcnRpdGVsLS1rYWNoZWwge1xuICAgICAgICAgbWF4LWhlaWdodDogMTc1cHg7XG4gICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgICAgIG1heC1oZWlnaHQ6IDQuMmVtO1xuICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgIC5lc0dyaWQtLWthY2hlbCAua3Vyc2Jlc2NocmVpYnVuZy5rdXJzYmVzY2hyZWlidW5nLS1rYWNoZWwgLnVudGVydGl0ZWwtLWthY2hlbDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJy4uLic7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAgICAuZXNHcmlkLS1rYWNoZWwgLmt1cnNiZXNjaHJlaWJ1bmcua3Vyc2Jlc2NocmVpYnVuZy0ta2FjaGVsIC51bnRlcnRpdGVsLS1rYWNoZWw6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTAuMmVtO1xuICAgICAgICAgICAgLypyaWdodDogLTAuMTVlbTsqL1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgLmVzR3JpZC0ta2FjaGVsIC5rdXJzYmVzY2hyZWlidW5nLmt1cnNiZXNjaHJlaWJ1bmctLWthY2hlbCAudW50ZXJ0aXRlbC0ta2FjaGVsOmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDJweDsgfVxuICAgLmVzR3JpZC0ta2FjaGVsIC5rdXJzaW5mb3JtYXRpb25lbi5rdXJzaW5mb3JtYXRpb25lbi0ta2FjaGVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9XG4gICAuZXNHcmlkLS1rYWNoZWwgLmt1cnNpbmZvcm1hdGlvbmVuLmt1cnNpbmZvcm1hdGlvbmVuID4gZGl2IHtcbiAgICAgIC8qXHJcbiAgICAgICAgICBzcGFuW2NsYXNzXj0naWNvbiddIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjlyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3Bhbi5pY29uLXRlaWxuZWhtZXJ6YWhsaW5mb3JtYXRpb24ge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHNwYW4uaWNvbi1mdWxsdGltZS1oYWxmdGltZSB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcclxuICAgICAgICAgIH0qLyB9XG4gICAgICAuZXNHcmlkLS1rYWNoZWwgLmt1cnNpbmZvcm1hdGlvbmVuLmt1cnNpbmZvcm1hdGlvbmVuID4gZGl2Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgIC5lc0dyaWQtLWthY2hlbCB0YWJsZS5keC1kYXRhZ3JpZC10YWJsZSBkaXZbaWRePVwiZXNHcmlkX0dydXBwZV9cIl0ge1xuICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLmVzR3JpZC0ta2FjaGVsIC5ncmlkTGF5b3V0LS1rYWNoZWwge1xuICAgICAgICAgbWluLXdpZHRoOiAyNjVweDtcbiAgICAgICAgIG1hcmdpbjogMCAxLjVyZW0gMS41cmVtIDA7XG4gICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICBmbGV4LWJhc2lzOiAwOyB9XG4gICAgICAuZXNHcmlkLS1rYWNoZWwgLmdyaWRMYXlvdXQtLWthY2hlbC1wbGFjZWhvbGRlciB7XG4gICAgICAgICBtaW4td2lkdGg6IDI2NXB4O1xuICAgICAgICAgbWFyZ2luOiAwIDEuNXJlbSAwIDA7XG4gICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgIGZsZXgtYmFzaXM6IDA7IH0gfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZ3JpZExheW91dC0ta2FydGUge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZGJkYjtcbiAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgIC5lc0dyaWQtLWthcnRlIC5ncmlkTGF5b3V0LS1rYXJ0ZTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmVzR3JpZC0ta2FydGUgLmdyaWRCYWRnZSB7XG4gICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gICAuZXNHcmlkLS1rYXJ0ZSAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNnJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDIuNnJlbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgLmVzR3JpZC0ta2FydGUgLmdyaWRCYWRnZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmVzR3JpZC0ta2FydGUgLmRldGFpbExpbmsge1xuICAgZm9udC1zaXplOiAzcmVtO1xuICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgY29sb3I6ICNkYmRiZGI7XG4gICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgIC5lc0dyaWQtLWthcnRlIC5kZXRhaWxMaW5rIGEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5lc0dyaWQtLWthcnRlIC5ncmlkTGF5b3V0LS1rYXJ0ZTpob3Zlcixcbi5lc0dyaWQtLWthcnRlIC5ncmlkTGF5b3V0LS1rYXJ0ZTpob3ZlciBoMzphZnRlcixcbi5lc0dyaWQtLWthcnRlIHRyLmVzR3JpZF9fa2FydGVSb3c6aG92ZXIsXG4uZXNHcmlkLS1rYXJ0ZSB0ci5lc0dyaWRfX2thcnRlUm93OmhvdmVyIC5rdXJzaW5mb3JtYXRpb25lbiAuaGVhZGxpbmUgaDM6YWZ0ZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZHgtc2VsZWN0aW9uLmR4LXN0YXRlLWhvdmVyIHRkIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUgIWltcG9ydGFudDsgfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZHgtc2VsZWN0aW9uIGgzOmFmdGVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTUgIWltcG9ydGFudDsgfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZHgtc2VsZWN0aW9uLmR4LXN0YXRlLWhvdmVyIGgzOmFmdGVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2UgIWltcG9ydGFudDsgfVxuXG4uZXNHcmlkLS1rYXJ0ZSAuZ3JpZExheW91dC0ta2FydGU6aG92ZXIgLmRldGFpbExpbmsge1xuICAgY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAuZXNHcmlkLS1rYXJ0ZSAuaGVhZGxpbmUtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgLmVzR3JpZC0ta2FydGUgLmdyaWRCYWRnZS5ncmlkQmFkZ2UtLWJsaWNrZmFuZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgbWF4LWhlaWdodDogMS40ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgLmVzR3JpZC0ta2FydGUgLmdyaWRCYWRnZS5ncmlkQmFkZ2UtLWJsaWNrZmFuZzpiZWZvcmUge1xuICAgICAgICAgY29udGVudDogJy4uLic7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuZXNHcmlkLS1rYXJ0ZSAuZ3JpZEJhZGdlLmdyaWRCYWRnZS0tYmxpY2tmYW5nOmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgICAgIC8qcmlnaHQ6IC0wLjE1ZW07Ki9cbiAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgIC5lc0dyaWQtLWthcnRlIC5kYXRlTG9jYXRpb24uZGF0ZUxvY2F0aW9uLS1rYXJ0ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZXNHcmlkLS1rYXJ0ZSAuZGF0ZUxvY2F0aW9uLmRhdGVMb2NhdGlvbi0ta2FydGUgPiBkaXYge1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgICAgIC5lc0dyaWQtLWthcnRlIC5kYXRlTG9jYXRpb24uZGF0ZUxvY2F0aW9uLS1rYXJ0ZSA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgIC5lc0dyaWQtLWthcnRlIC5kZXRhaWxMaW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi5lc0dyaWQuZXNHcmlkLS1ob3Jpem9udGFsIHtcbiAgIC8qYmVpIGhvcml6b250YWxlciBEYXJzdGVsbHVuZyBzb2xsIGRhcyBMYXlvdXQgZGVyIFRhYmVsbGVuc3BhbHRlbiBuaWNodCBmaXhpZXJ0IHNlaW4uIEJlacOfdCBzaWNoIG1pdCBmbGV4Ym94Ki8gfVxuICAgLmVzR3JpZC5lc0dyaWQtLWhvcml6b250YWwgLmVzR3JpZF9fcm93VGVtcGxhdGVfV3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAuZXNHcmlkLmVzR3JpZC0taG9yaXpvbnRhbCAuZXNHcmlkX19yb3dUZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAvKm9kZXI6IGZsZXgtZW5kOyAtIGRhbWl0IGlzdCBhdWNoIG1laHJ6ZWlsaWdlciBUZXh0IGltbWVyIGFuIGRlciB1bnRlcnN0ZW4gTGluaWUgcG9zaXRpb25pZXJ0Ki9cbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLWhvcml6b250YWwgLmVzR3JpZF9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiAxNSU7XG4gICAgICBmbGV4LWdyb3c6IDE1O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAvKiY6bnRoLW9mLXR5cGUoMSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzYWxtb247XHJcbiAgIH1cclxuXHJcbiAgICY6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGVhdDtcclxuICAgfVxyXG5cclxuICAgJjpudGgtb2YtdHlwZSgzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNreWJsdWU7XHJcbiAgIH1cclxuXHJcbiAgICY6bnRoLW9mLXR5cGUoNCkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3dncmVlbjtcclxuICAgfSovIH1cbiAgIC5lc0dyaWQuZXNHcmlkLS1ob3Jpem9udGFsIHRhYmxlLmR4LWRhdGFncmlkLXRhYmxlLWZpeGVkIHtcbiAgICAgIHRhYmxlLWxheW91dDogYXV0bzsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLWhvcml6b250YWwgLmVzR3JpZF9fY29sdW1uLS1idWNodW5nc3N0YXR1cyB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tdmVydGljYWwgLmVzR3JpZF9fcm93VGVtcGxhdGVfV3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tdmVydGljYWwgLmVzR3JpZF9fcm93VGVtcGxhdGUge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBmbGV4LWdyb3c6IDE7XG4gICB3aWR0aDogMTAwJTsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tdmVydGljYWwgLnZlcnRpY2FsTGF5b3V0X2NvbFdyYXBwZXItLTFjb2wsXG4uZXNHcmlkLmVzR3JpZC0tdmVydGljYWwgLnZlcnRpY2FsTGF5b3V0X2NvbFdyYXBwZXItLTJjb2wge1xuICAgZGlzcGxheTogZmxleDtcbiAgIG1hcmdpbjogMC40cmVtIDA7XG4gICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tdmVydGljYWwgLnZlcnRpY2FsTGF5b3V0X2NvbFdyYXBwZXItLTFjb2wge1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tdmVydGljYWwgLnZlcnRpY2FsTGF5b3V0X2NvbFdyYXBwZXItLTJjb2wge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgLmVzR3JpZC5lc0dyaWQtLXZlcnRpY2FsIC52ZXJ0aWNhbExheW91dF9jb2xXcmFwcGVyLS0yY29sIC5zcGFsdGVuVWViZXJzY2hyaWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zcmVtO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgIC5lc0dyaWQuZXNHcmlkLS12ZXJ0aWNhbCAudmVydGljYWxMYXlvdXRfY29sV3JhcHBlci0tMmNvbCAuc3BhbHRlbldlcnQge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgLmVzR3JpZC5lc0dyaWQtLXZlcnRpY2FsIC52ZXJ0aWNhbExheW91dF9jb2xXcmFwcGVyLS0yY29sIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmVzR3JpZC5lc0dyaWQtLXZlcnRpY2FsIC52ZXJ0aWNhbExheW91dF9jb2xXcmFwcGVyLS0yY29sIC5zcGFsdGVuVWViZXJzY2hyaWZ0IHtcbiAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmdydXBwZW50aXRlbCB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5lc0dyaWQuZXNHcmlkLS1hdWZsaXN0dW5nIC5keC1kYXRhZ3JpZC1yb3dzdmlldyxcbi5lc0dyaWQuZXNHcmlkLS1hdWZsaXN0dW5nIC5keC1yb3cubWFpbi1yb3cge1xuICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmVzR3JpZF9fc3BhbHRlbldyYXBwZXItLTJzcGFsdGVuLFxuLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmVzR3JpZF9fc3BhbHRlbldyYXBwZXItLTFzcGFsdGUge1xuICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmVzR3JpZF9fc3BhbHRlbldyYXBwZXItLTJzcGFsdGVuIHRkIHtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmVzR3JpZF9fc3BhbHRlbldyYXBwZXItLTJzcGFsdGVuIC5lc0dyaWRfX3NwYWx0ZW5VZWJlcnNjaHJpZnQsXG4uZXNHcmlkLmVzR3JpZC0tYXVmbGlzdHVuZyAuZXNHcmlkX19zcGFsdGVuV3JhcHBlci0tMnNwYWx0ZW4gLmVzR3JpZF9fc3BhbHRlbldlcnQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5lc0dyaWQuZXNHcmlkLS1hdWZsaXN0dW5nIC5lc0dyaWRfX3NwYWx0ZW5XcmFwcGVyLS0yc3BhbHRlbiAuZXNHcmlkX19zcGFsdGVuVWViZXJzY2hyaWZ0IHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuXG4uZXNHcmlkLmVzR3JpZC0tYXVmbGlzdHVuZyAuZXNHcmlkX19zcGFsdGVuV3JhcHBlci0tMXNwYWx0ZSAuZXNHcmlkX19zcGFsdGVuVWViZXJzY2hyaWZ0IHtcbiAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5lc0dyaWQuZXNHcmlkLS1hdWZsaXN0dW5nIC5lc0dyaWRfX3NwYWx0ZW5XcmFwcGVyLS0xc3BhbHRlIC5lc0dyaWRfX3NwYWx0ZW5XZXJ0IHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmVzR3JpZCAuZXNHcmlkX196ZWxsZU1pdEJpbGQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgd2lkdGg6IDEwMCU7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgIC5lc0dyaWQgLmVzR3JpZF9femVsbGVNaXRCaWxkIC5pbWctcmVzcG9uc2l2ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmVzR3JpZCAuZHgtcmVzcG9uc2l2ZWJveCAuZXNHcmlkX196ZWxsZU1pdEJpbGQge1xuICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZXNHcmlkIHRyLmR4LWZyZWVzcGFjZS1yb3cge1xuICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgIC5lc0dyaWQgdHIuZHgtZnJlZXNwYWNlLXJvdyB0ZCB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmVzR3JpZCAuZXNHcmlkX19pbm5lclRhYmxlIHtcbiAgIGRpc3BsYXk6IHRhYmxlO1xuICAgd2lkdGg6IDEwMCU7XG4gICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbi5lc0dyaWQgLmVzR3JpZF9fdGFibGVSb3cge1xuICAgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbi5lc0dyaWQgLmVzR3JpZF9fdGFibGVDZWxsIHtcbiAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuLmVzR3JpZCAuZHgtZGF0YWdyaWQtcm93c3ZpZXcgLmR4LXJvdyA+IHRkLmR4LWRhdGFncmlkLWdyb3VwLXNwYWNlIHtcbiAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7IH1cblxuLmVzR3JpZCAuZHgtcm93LmR4LWRhdGFncmlkLWdyb3VwLWZvb3RlciA+IHRkIHtcbiAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5lc0dyaWQgLmR4LWRhdGFncmlkLWZpbHRlci1yb3cgLmR4LWVkaXRvci1jZWxsIC5keC1lZGl0b3Itd2l0aC1tZW51IC5keC10ZXh0ZWRpdG9yLWlucHV0IHtcbiAgIHBhZGRpbmctbGVmdDogMzZweDsgfVxuXG4uZXNHcmlkLmVzR3JpZC0td2l0aEJhY2tncm91bmQgLmR4LWRhdGFncmlkLCAuZXNHcmlkLmVzR3JpZC0td2l0aEJhY2tncm91bmQgLmR4LXRvb2xiYXIge1xuICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4uZXNJbmZvcm1hdGlvbnNCb3ggLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMywgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUuaGVhZGxpbmUtLWthcnRlIGgzIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBsaW5lLWhlaWdodDogMS4zZW07XG4gICBtYXgtaGVpZ2h0OiAyLjZlbTtcbiAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAuZXNJbmZvcm1hdGlvbnNCb3ggLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzpiZWZvcmUsIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzpiZWZvcmUge1xuICAgICAgY29udGVudDogJy4uLic7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTFweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAuZXNJbmZvcm1hdGlvbnNCb3ggLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYXJ0ZSBoMzphZnRlciwgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthY2hlbCAuaGVhZGxpbmUuaGVhZGxpbmUtLWthcnRlIGgzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgIC8qcmlnaHQ6IC0wLjE1ZW07Ki9cbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG4uZXNJbmZvcm1hdGlvbnNCb3ggLmVzR3JpZC0ta2FydGUgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDMsIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDMge1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgIG1heC1oZWlnaHQ6IDIuNGVtO1xuICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYXJ0ZSAuaGVhZGxpbmUuaGVhZGxpbmUtLWthY2hlbCBoMzpiZWZvcmUsIC5lc0luZm9ybWF0aW9uc0JveCAuZXNHcmlkLS1rYWNoZWwgLmhlYWRsaW5lLmhlYWRsaW5lLS1rYWNoZWwgaDM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcuLi4nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgLmVzSW5mb3JtYXRpb25zQm94IC5lc0dyaWQtLWthcnRlIC5oZWFkbGluZS5oZWFkbGluZS0ta2FjaGVsIGgzOmFmdGVyLCAuZXNJbmZvcm1hdGlvbnNCb3ggLmVzR3JpZC0ta2FjaGVsIC5oZWFkbGluZS5oZWFkbGluZS0ta2FjaGVsIGgzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgIC8qcmlnaHQ6IC0wLjE1ZW07Ki9cbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG4uZXNQb3dlcnN1Y2hlIHtcbiAgIGZsZXgtZ3JvdzogMTtcbiAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgIG1heC13aWR0aDogNTAwcHg7IH1cblxuLypkeERhdGFHcmlkIC0gYm9yZGVyIGltIHVudGVyZW4gQmVyZWljaCBlbnRmZXJuZW4qL1xuLmVzRm9ybXVsYXJncm91cF9fY29udGVudC0td2l0aG91dFBhZGRpbmcgLmVzR3JpZCB7XG4gICBib3JkZXI6IG5vbmU7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLXdpdGhvdXRQYWRkaW5nIC5lc0dyaWQgLmR4LWxhc3Qtcm93LWJvcmRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLXdpdGhvdXRQYWRkaW5nIC5lc0dyaWQgLmR4LXJvdy5tYWluLXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLXdpdGhvdXRQYWRkaW5nIC5lc0dyaWQgLmR4LWRhdGFncmlkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qZHhEYXRhR3JpZCBpbiBlc0Zvcm11bGFyZ3JvdXAgKHouQi4gaW0gTW9kYWwgS0FXKSovXG4uZXNGb3JtdWxhcmdyb3VwX19jb250ZW50LS13aXRob3V0UGFkZGluZyAuZXNHcmlkIC5keC1kYXRhZ3JpZC1oZWFkZXJzIHtcbiAgIGJvcmRlci1sZWZ0OiBoaWRkZW47XG4gICBib3JkZXItdG9wOiBoaWRkZW47XG4gICBib3JkZXItcmlnaHQ6IGhpZGRlbjsgfVxuXG4vKiBwcmludCAqL1xuQG1lZGlhIHByaW50IHtcbiAgIC8qIHZlcmhpbmRlcnQgbGVlcmUgU2VpdGVuIGltIEZpcmVmb3gqL1xuICAgLmR4LWRhdGFncmlkLWhlYWRlci1wYW5lbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAvKiBWZXJoaW5kZXJ0IGRhcyBBYnNjaG5laWRlbiBkZXMgR3JpZHMqL1xuICAgLmR4LWRhdGFncmlkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4vKnZlcmhpbmRlcnQgQWJzY2huZWlkZW4gZGVyIEtJUC1LYXJ0ZSBiZWkgbW9iaWxlbiBHZXLDpHRlbiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgaHRtbDpub3QoLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIpIC5lc0dyaWQtLWthcnRlIC5ncmlkTGF5b3V0LS1rYXJ0ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICBodG1sOm5vdCguYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlcikgLmVzR3JpZC0ta2FydGUgLmRldGFpbExpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5hbXBlbF9fd3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgIC5hbXBlbF9fd3JhcHBlci0tY29udGVudExlZnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAuYW1wZWxfX3dyYXBwZXItLWlubGluZUZsZXgge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9XG4gICAuYW1wZWxfX3dyYXBwZXIgLmFtcGVsIHtcbiAgICAgIG1pbi13aWR0aDogMTdweDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgLmFtcGVsX193cmFwcGVyIC5hbXBlbC0tcm90LCAuYW1wZWxfX3dyYXBwZXIgLmFtcGVsLS1zdGF0dXMxIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMjIzMTk7IH1cbiAgICAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWwtLWdlbGIsIC5hbXBlbF9fd3JhcHBlciAuYW1wZWwtLXN0YXR1czIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2NzAwOTsgfVxuICAgICAgLmFtcGVsX193cmFwcGVyIC5hbXBlbC0tZ3J1ZW4sIC5hbXBlbF9fd3JhcHBlciAuYW1wZWwtLXN0YXR1czMge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjOTYwYjsgfVxuICAgICAgLmFtcGVsX193cmFwcGVyIC5hbXBlbC0td2Vpc3MsIC5hbXBlbF9fd3JhcHBlciAuYW1wZWwtLXN0YXR1czQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7IH1cbiAgICAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWwtLXNpemUyMiB7XG4gICAgICAgICBtaW4td2lkdGg6IDIycHg7XG4gICAgICAgICBoZWlnaHQ6IDIycHg7IH1cbiAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWxfX2tpcCB7XG4gICAgICBtaW4td2lkdGg6IDE3cHg7XG4gICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWxfX2tpcC0tc3RhdHVzNCwgLmFtcGVsX193cmFwcGVyIC5hbXBlbF9fa2lwLS1zdGF0dXM1IHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMjIzMTk7IH1cbiAgICAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWxfX2tpcC0tc3RhdHVzMiwgLmFtcGVsX193cmFwcGVyIC5hbXBlbF9fa2lwLS1zdGF0dXMzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNjcwMDk7IH1cbiAgICAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWxfX2tpcC0tc3RhdHVzMSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM5NjBiOyB9XG4gICAuYW1wZWxfX3dyYXBwZXIgLmFtcGVsX19CUkgge1xuICAgICAgbWluLXdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAuYW1wZWxfX3dyYXBwZXIgLmFtcGVsX19CUkgtLXN0YXR1czAsIC5hbXBlbF9fd3JhcHBlciAuYW1wZWxfX0JSSC0tc3RhdHVzMSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTdBN0E3OyB9XG4gICAgICAuYW1wZWxfX3dyYXBwZXIgLmFtcGVsX19CUkgtLXN0YXR1czIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2NzAwOTsgfVxuICAgICAgLmFtcGVsX193cmFwcGVyIC5hbXBlbF9fQlJILS1zdGF0dXMzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Yzk2MGI7IH1cbiAgICAgIC5hbXBlbF9fd3JhcHBlciAuYW1wZWxfX0JSSC0tc3RhdHVzNCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTIyMzE5OyB9XG5cbi5keC1yZXNwb25zaXZlYm94IC5hbXBlbF9fd3JhcHBlciwgLmVzR3JpZC0tdmVydGljYWwgLmFtcGVsX193cmFwcGVyIHtcbiAgIGp1c3RpZnktY29udGVudDogbGVmdDsgfVxuXG4vKiBEcmFnIGFuZCBEcm9wICovXG4uZHgtZGF0YWdyaWQtZHJhZy1oZWFkZXIuZHgtZGF0YWdyaWQtZHJhZy1hY3Rpb24ge1xuICAgei1pbmRleDogMjAwMDE7IH1cblxuLypcclxuICAgSUUgLSBTb25kZXJmYWVsbGVcclxuKi9cbi5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIHtcbiAgIC8qIEF1ZmZhZWxsaWdrZWl0OiAqLyB9XG4gICAuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAuZHgtc2VsZWN0aW9uIC5keC1kYXRhZ3JpZC1oaWRkZW4tY29sdW1uLFxuICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLmR4LXN0YXRlLWhvdmVyIC5keC1kYXRhZ3JpZC1oaWRkZW4tY29sdW1uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgIC5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIGRpdltpZF49XCJlc0dyaWRfXCJdIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMwcHgpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgZGl2W2lkXj1cImVzR3JpZF9cIl0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDAwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgZGl2W2lkXj1cImVzR3JpZF9cIl0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDUwcHgpOyB9IH1cblxuLypcclxuICAgQnV0dG9uLUdydXBwZSBpbSBHcmlkICdzdGlja3knIG1hY2hlbiwgdmdsLjogUEVSV0VJVC0zMzg0LlxyXG4qL1xuLmVzR3JpZF9fYnV0dG9uc1VuZFN1Y2hlLS1zdGlja3kuYWN0aXZlIHtcbiAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICB0b3A6IDA7XG4gICB6LWluZGV4OiAxO1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICBtYXJnaW46IC0xNXB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgIC5lc0dyaWRfX2J1dHRvbnNVbmRTdWNoZS0tc3RpY2t5LmFjdGl2ZSAuZXNUYWJlbGxlX19jb250cm9scyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5lc0dyaWRfX2J1dHRvbnNVbmRTdWNoZS0tc3RpY2t5LmFjdGl2ZSB7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHggLSAzMHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgLmVzR3JpZC0ta2FjaGVsIC5keC1kYXRhZ3JpZC10YWJsZS1maXhlZCB7XG4gICAgICB3aWR0aDogaW5pdGlhbDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAuZXNHcmlkLS1rYXJ0ZSAuZHgtZGF0YWdyaWQtdGFibGUtZml4ZWQge1xuICAgICAgdGFibGUtbGF5b3V0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4uZXNHcmlkLmVzR3JpZC0tZmlsdGVyR3JpZCAuZHgtZGF0YWdyaWQtdGFibGUgLmR4LXJvdyAuZHgtY29tbWFuZC1zZWxlY3Qge1xuICAgd2lkdGg6IDQwcHg7XG4gICBtaW4td2lkdGg6IDQwcHg7XG4gICBtYXgtd2lkdGg6IDQwcHg7XG4gICBwYWRkaW5nOiA3cHggMDsgfVxuXG4uZHgtcG9wdXAtd3JhcHBlciAuZHgtcG9wdXAtdGl0bGUgLmR4LXRvb2xiYXItY2VudGVyIHtcbiAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5keC1wb3B1cC13cmFwcGVyID4gLmR4LW92ZXJsYXktY29udGVudCB7XG4gICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5keC1wb3B1cC13cmFwcGVyID4gLmR4LW92ZXJsYXktY29udGVudCxcbi5keC1wb3B1cC13cmFwcGVyIC5keC1zdGF0ZS1mb2N1c2VkLmR4LW92ZXJsYXktY29udGVudCB7XG4gICBib3JkZXI6IG5vbmU7IH1cblxuLmR4LXBvcHVwLXRpdGxlLmR4LXRvb2xiYXIge1xuICAgcGFkZGluZzogMjVweCAzNXB4IDhweDtcbiAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5keC1wb3B1cC10aXRsZS5keC10b29sYmFyIC5keC10b29sYmFyLWxhYmVsIHtcbiAgICAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDsgfSB9XG5cbi5keC1wb3B1cC1jb250ZW50IHtcbiAgIHBhZGRpbmc6IDEwcHggMzVweCAzNXB4OyB9XG5cbi5keC1vdmVybGF5LW1vZGFsIC5keC10b29sYmFyLmR4LXBvcHVwLWJvdHRvbSB7XG4gICBwYWRkaW5nOiAwIDM1cHggMzVweDsgfVxuXG4uZHgtc2Nyb2xsYWJsZS1jb250ZW50IHtcbiAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG5cbi5keC1kYXRhZ3JpZCAuZHgtc2Nyb2xsYWJsZS1jb250ZW50LFxuLmR4LXNjaGVkdWxlci0tbm8taGVhZGVyIC5keC1zY3JvbGxhYmxlLWNvbnRlbnQge1xuICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5keC1wb3B1cC13cmFwcGVyIC5lc0Zvcm11bGFyX19oclZvckJ1dHRvbiB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbi5lc01vZGFsX19jb250ZW50V3JhcHBlciB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogRGV2RXh0cmVtZS1Qb3B1cHMgc29sbGVuIGF1Y2ggZGFzIE1lbsO8IHVuZCBkYXMgQnVyZ2VyTmF2LUxvZ28gw7xiZXJkZWNrZW4xICovXG4uZHgtb3ZlcmxheS13cmFwcGVyIHtcbiAgIHotaW5kZXg6IDEwMDAwICFpbXBvcnRhbnQ7IH1cblxuLyogS29udGFrdHZlcmtuw7xwZnVuZyBBdWZoZWJlbiBQb3B1cCAqL1xuLm1vZGFsX0Zvcm11bGFyX0NhbmNlbEtvbnRha3R2ZXJrbnVlcGZ1bmdfT3ZlcmxheUNvbnRlbnQgLmR4LXBvcHVwLWJvdHRvbS5keC10b29sYmFyIC5keC10b29sYmFyLWl0ZW1zLWNvbnRhaW5lciB7XG4gICBoZWlnaHQ6IGF1dG87IH1cblxuLm1vZGFsX0Zvcm11bGFyX0NhbmNlbEtvbnRha3R2ZXJrbnVlcGZ1bmdfT3ZlcmxheUNvbnRlbnQgLmR4LXBvcHVwLWJvdHRvbS5keC10b29sYmFyIC5keC10b29sYmFyLWFmdGVyIHtcbiAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5tb2RhbF9Gb3JtdWxhcl9DYW5jZWxLb250YWt0dmVya251ZXBmdW5nX092ZXJsYXlDb250ZW50IC5keC1vdmVybGF5LW1vZGFsIC5keC10b29sYmFyIHtcbiAgIHBhZGRpbmctYm90dG9tOiAyNXB4ICFpbXBvcnRhbnQ7IH1cblxuLm1vZGFsX0Zvcm11bGFyX0NhbmNlbEtvbnRha3R2ZXJrbnVlcGZ1bmdfT3ZlcmxheUNvbnRlbnQgLmR4LXRvb2xiYXItYnV0dG9uIHtcbiAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBEZWxldGUgUG9wdXAgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAubW9kYWxfRm9ybXVsYXJfRGVsZXRlRm9ybXVsYXJpbnN0YW56X092ZXJsYXlDb250ZW50IC5keC10b29sYmFyLWNlbnRlciwgLm1vZGFsX0Zvcm11bGFyX0RlbGV0ZUZvcm11bGFyaW5zdGFuel9PdmVybGF5Q29udGVudCAuZHgtdG9vbGJhci1hZnRlcixcbiAgIC5tb2RhbF9Gb3JtdWxhcl9DYW5jZWxLb250YWt0dmVya251ZXBmdW5nX092ZXJsYXlDb250ZW50IC5keC10b29sYmFyLWNlbnRlcixcbiAgIC5tb2RhbF9Gb3JtdWxhcl9DYW5jZWxLb250YWt0dmVya251ZXBmdW5nX092ZXJsYXlDb250ZW50IC5keC10b29sYmFyLWFmdGVyIHtcbiAgICAgIGZsb2F0OiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAubW9kYWxfRm9ybXVsYXJfRGVsZXRlRm9ybXVsYXJpbnN0YW56X092ZXJsYXlDb250ZW50IC5keC10b29sYmFyLWl0ZW0tY29udGVudCxcbiAgIC5tb2RhbF9Gb3JtdWxhcl9DYW5jZWxLb250YWt0dmVya251ZXBmdW5nX092ZXJsYXlDb250ZW50IC5keC10b29sYmFyLWl0ZW0tY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgLm1vZGFsX0Zvcm11bGFyX0RlbGV0ZUZvcm11bGFyaW5zdGFuel9PdmVybGF5Q29udGVudCAuZHgtYnV0dG9uLFxuICAgLm1vZGFsX0Zvcm11bGFyX0NhbmNlbEtvbnRha3R2ZXJrbnVlcGZ1bmdfT3ZlcmxheUNvbnRlbnQgLmR4LWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgLmR4LW92ZXJsYXktY29udGVudCAuZHgtdG9vbGJhci5keC1wb3B1cC1ib3R0b20ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfSB9XG5cbi5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5tb2RhbF9Gb3JtdWxhcl9DYW5jZWxLb250YWt0dmVya251ZXBmdW5nX092ZXJsYXlDb250ZW50IC5keC10b29sYmFyLWl0ZW1zLWNvbnRhaW5lciB7XG4gICBtaW4taGVpZ2h0OiA2MHB4OyB9XG5cbi5keC10b2FzdC13cmFwcGVyIHtcbiAgIGJvdHRvbTogNzVweDtcbiAgIHJpZ2h0OiAwO1xuICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgIGFuaW1hdGlvbjogdG9hc3RTbGlkZVdpZGUgMC40cyBlYXNlLWluLW91dDtcbiAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgei1pbmRleDogMjAwMDEgIWltcG9ydGFudDtcbiAgIHdpZHRoOiBhdXRvO1xuICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAuZHgtdG9hc3Qtd3JhcHBlcjpob3ZlciAuZHgtdG9hc3QtY29udGVudDphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG5cbi5keC10b2FzdC1jb250ZW50IHtcbiAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICBib3JkZXItcmFkaXVzOiAwO1xuICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMTVweDtcbiAgIGJvdHRvbTogMDtcbiAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAgLmR4LXRvYXN0LWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICdlYXN5U29mdC1QdWJsaXNoJztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbnRlbnQ6IFwiXFw2NVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICBwYWRkaW5nOiAycHggNHB4IDFweDtcbiAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG5cbkBrZXlmcmFtZXMgdG9hc3RTbGlkZVdpZGUge1xuICAgMTAwJSB7XG4gICAgICByaWdodDogNTUwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRvYXN0U2xpZGUge1xuICAgMTAwJSB7XG4gICAgICByaWdodDogMzI1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgLmR4LXRvYXN0LXdyYXBwZXIge1xuICAgICAgYW5pbWF0aW9uOiB0b2FzdFNsaWRlIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAgLmR4LXRvYXN0LWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbi5keC1sb2FkcGFuZWwtY29udGVudCB7XG4gICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5keC1sb2FkaW5kaWNhdG9yIHtcbiAgIGxlZnQ6IDUwJTtcbiAgIHRvcDogNTAlO1xuICAgbWFyZ2luOiAtMjBweCAwIDAgLTIwcHg7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHdpZHRoOiA0MHB4O1xuICAgaGVpZ2h0OiA0MHB4O1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTc5Nzk3O1xuICAgYW5pbWF0aW9uOiBsb2FkSW5kaWNhdG9yU3BpbiAycyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgIC5keC1sb2FkaW5kaWNhdG9yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICByaWdodDogNHB4O1xuICAgICAgYm90dG9tOiA0cHg7XG4gICAgICBsZWZ0OiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgICAgYW5pbWF0aW9uOiBsb2FkSW5kaWNhdG9yU3BpbiAxLjVzIGxpbmVhciBpbmZpbml0ZTsgfVxuICAgLmR4LWxvYWRpbmRpY2F0b3I6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzRBNEE0QTtcbiAgICAgIGFuaW1hdGlvbjogbG9hZEluZGljYXRvclNwaW4gM3MgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgbG9hZEluZGljYXRvclNwaW4ge1xuICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5keC1sb2FkaW5kaWNhdG9yLXdyYXBwZXIge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHgtbG9hZHBhbmVsLW1lc3NhZ2Uge1xuICAgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLmR4LWxvYWRwYW5lbC1jb250ZW50LXdyYXBwZXIge1xuICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xuICAgbWFyZ2luLXRvcDogMjVweDtcbiAgIHBhZGRpbmc6IDEycHg7IH1cblxuLmR4LWhlYWRlci1maWx0ZXItbWVudSAuZHgtbG9hZGluZGljYXRvciB7XG4gICB3aWR0aDogMjBweDtcbiAgIGhlaWdodDogMjBweDtcbiAgIGJvcmRlci1ib3R0b20tY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgbWFyZ2luLXRvcDogMDtcbiAgIGFuaW1hdGlvbjogbG9hZEluZGljYXRvclNwaW4gMS41cyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgIC5keC1oZWFkZXItZmlsdGVyLW1lbnUgLmR4LWxvYWRpbmRpY2F0b3I6YmVmb3JlLCAuZHgtaGVhZGVyLWZpbHRlci1tZW51IC5keC1sb2FkaW5kaWNhdG9yOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmR4LWhlYWRlci1maWx0ZXItbWVudSAuZHgtc2Nyb2xsdmlldy1zY3JvbGxib3R0b20tdGV4dCB7XG4gICBtYXJnaW4tdG9wOiAtMTFweDsgfVxuXG4ubG9hZGluZ3BhbmVsX2xlZ2FjeSB7XG4gICB3aWR0aDogMjEwcHg7XG4gICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB0b3A6IDUwJTtcbiAgIGxlZnQ6IDUwJTtcbiAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgbWFyZ2luLWxlZnQ6IC0xMDVweDtcbiAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgLW1vei1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLmxvYWRpbmdwYW5lbF9sZWdhY3kgLmluZGljYXRvci1wb3NpdGlvbiB7XG4gICB0b3A6IDQwcHg7IH1cblxuLmxvYWRpbmdwYW5lbF9sZWdhY3kgLm1lc3NhZ2UtcG9zaXRpb24ge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgYm90dG9tOiAxMHB4O1xuICAgd2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nOiAwIDEwcHg7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmVzU2NoZWR1bGVyIHtcbiAgIGhlaWdodDogMTAwJTsgfVxuXG4uZXNTY2hlZHVsZXItd3JhcHBlciB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuLmVzU2NoZWR1bGVyLWl0ZW0ge1xuICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5lc1NjaGVkdWxlci1hcHBvaW50bWVudC1pdGVtLWNvbnRlbnQtc3ViamVjdCB7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG5cbi5keC1pdGVtLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudCB7XG4gICBsaW5lLWhlaWdodDogMnJlbTtcbiAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmR4LXNjaGVkdWxlci0tbm8taGVhZGVyIC5keC1zY2hlZHVsZXItbmF2aWdhdG9yLFxuLmR4LXNjaGVkdWxlci0tbm8taGVhZGVyIC5keC1zY2hlZHVsZXItdmlldy1zd2l0Y2hlcixcbi5keC1zY2hlZHVsZXItLW5vLWhlYWRlciAuZHgtc2NoZWR1bGVyLXZpZXctc3dpdGNoZXItbGFiZWwge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHgtc2NoZWR1bGVyLS1uby1oZWFkZXIgLmR4LXNjaGVkdWxlci1oZWFkZXIge1xuICAgaGVpZ2h0OiAwOyB9XG5cbi5keC1zY2hlZHVsZXItLW5vLWhlYWRlciAuZHgtc2NoZWR1bGVyLWhlYWRlci1wYW5lbCB7XG4gICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5keC1zY2hlZHVsZXItLW5vLWhlYWRlciAuZHgtc2NoZWR1bGVyLXdvcmstc3BhY2Uge1xuICAgcGFkZGluZy10b3A6IDA7XG4gICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIGJsZW5kZXQgZGVuIFBvcHVwLUJlcmVpY2ggYXVzLCB3ZWxjaGVyIGbDvHIgZGFzIEVkaXRpZXJuIHZvbiBUZXJtaW5lbiB2ZXJ3ZW5kZXQgd2lyZC4gKi9cbi5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtcG9wdXAge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBJbiBDaHJvbWUgc2NoaWViZW4gc2ljaCBkaWUgR2FuenRhZ3N0ZXJtaW5lIHVudGVyIGRpZSBncmF1ZW4gV29jaGVuZW5kc3BhbHRlbiBzdGF0dCBkYXLDvGJlci4gKi9cbi5keC1zY2hlZHVsZXItYWxsLWRheS1hcHBvaW50bWVudCxcbi5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtY29sbGVjdG9yIHtcbiAgIHotaW5kZXg6IDE7IH1cblxuLyogQWdlbmRhLVZpZXcgKi9cbi5keC1zY2hlZHVsZXItYWdlbmRhIHtcbiAgIGJvcmRlcjogbm9uZTsgfVxuICAgLmR4LXNjaGVkdWxlci1hZ2VuZGEgLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgIC5keC1zY2hlZHVsZXItYWdlbmRhLW5vZGF0YSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBUZXJtaW5iZXNjaHJpZnR1bmcgYmVpIHZlcnRpa2FsZW4gVGVybWluZmVsZGVybiAqL1xuLmR4LWl0ZW0uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC12ZXJ0aWNhbCB7XG4gICBib3gtc2hhZG93OiBub25lO1xuICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOyB9XG4gICAuZHgtaXRlbS5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQuZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LXZlcnRpY2FsIC50ZXJtaW4tZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICAuZHgtaXRlbS5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQuZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LXZlcnRpY2FsIC50ZXJtaW4tZGV0YWlscy0tdmVydGlrYWwge1xuICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyB9XG4gICAgICAgICAuZHgtaXRlbS5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQuZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LXZlcnRpY2FsIC50ZXJtaW4tZGV0YWlscy0tdmVydGlrYWwgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5keC1pdGVtLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtdmVydGljYWwgLnRlcm1pbi1kZXRhaWxzIHNwYW4uZXNGb3JtYXR2b3JsYWdlIHtcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgLmR4LWl0ZW0uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC12ZXJ0aWNhbC5keC1pdGVtIHVsIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBUZXJtaW5iZXNjaHJpZnR1bmcgZ2FuenTDpGdpZ2UgRXZlbnRzIChuaWNodCBNb25hdHNhbnNpY2h0IHVuZCBBZ2VuZGFhbnNpY2h0KSAqL1xuLmR4LWl0ZW0uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC1ob3Jpem9udGFsIHtcbiAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7IH1cbiAgIC5keC1pdGVtLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtaG9yaXpvbnRhbCAudGVybWluLWRldGFpbHMge1xuICAgICAgcGFkZGluZzogM3B4IDdweDsgfVxuXG4vKiBUZXJtaW5iZXNjaHJpZnR1bmcgZ2FuenTDpGdpZ2UgRXZlbnRzIChNb25hdHNhbnNpY2h0KSAqL1xuLmR4LXNjaGVkdWxlci0tbW9udGggLmR4LWl0ZW0uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC1ob3Jpem9udGFsIC50ZXJtaW4tZGV0YWlscyB7XG4gICBwYWRkaW5nOiA1cHggN3B4OyB9XG4gICAuZHgtc2NoZWR1bGVyLS1tb250aCAuZHgtaXRlbS5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQuZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LWhvcml6b250YWwgLnRlcm1pbi1kZXRhaWxzLnRlcm1pbi1kZXRhaWxzLS1rb250ZXh0bWVudSB7XG4gICAgICBwYWRkaW5nOiA1cHggMjhweCA1cHggN3B4OyB9XG5cbi8qIFRlcm1pbmJlc2NocmlmdHVuZyBnYW56dMOkZ2lnZSBFdmVudHMgKEFnZW5kYWFuc2ljaHQpICovXG4uZHgtc2NoZWR1bGVyLS1hZ2VuZGEgLmR4LWl0ZW0uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC1ob3Jpem9udGFsIC50ZXJtaW4tZGV0YWlscyB7XG4gICBwYWRkaW5nOiAxMHB4IDdweDsgfVxuICAgLmR4LXNjaGVkdWxlci0tYWdlbmRhIC5keC1pdGVtLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtaG9yaXpvbnRhbCAudGVybWluLWRldGFpbHMudGVybWluLWRldGFpbHMtLWtvbnRleHRtZW51IHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjhweCAxMHB4IDdweDsgfVxuXG4vKiBQb3B1cGJlc2NocmlmdHVuZyAqL1xuLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC10b29sdGlwLXdyYXBwZXIgLmR4LWl0ZW0ge1xuICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiBQb3B1cGJyZWl0ZSB2b24gMzYwcHggYXVmIDQ1MHB4IGVyaG9laGVuICovXG4uZHgtcG9wdXAtd3JhcHBlci5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtdG9vbHRpcC13cmFwcGVyIC5keC1wb3B1cC1jb250ZW50IC5keC1saXN0LWl0ZW0ge1xuICAgd2lkdGg6IDQ1MHB4OyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmR4LXBvcHVwLXdyYXBwZXIuZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LXRvb2x0aXAtd3JhcHBlciAuZHgtcG9wdXAtY29udGVudCAuZHgtbGlzdC1pdGVtIHtcbiAgICAgICAgIHdpZHRoOiAzMzBweDsgfSB9XG5cbi8qIFN0eWxpbmcgZGVyIEFwcG9pbnRtZW50cyAqL1xuLmR4LXNjaGVkdWxlci13b3JrLXNwYWNlLW1vbnRoIC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQsXG4uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50IHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNFOUVCRUM7XG4gICBjb2xvcjogYmxhY2s7XG4gICBwYWRkaW5nOiB1bnNldDsgfVxuICAgLmR4LXNjaGVkdWxlci13b3JrLXNwYWNlLW1vbnRoIC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQuZHgtc3RhdGUtZm9jdXNlZCxcbiAgIC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQuZHgtc3RhdGUtZm9jdXNlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG5cbi5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQ6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLyogSW5kaWthdG9yIGbDvHIgYWt0dWVsbGVuIFRhZyBhdXMgSGVhZGVyIHVuZCBaZWl0bGVpc3RlIGVudGZlcm5lbiovXG4uZHgtc2NoZWR1bGVyLWhlYWRlci1wYW5lbC1jdXJyZW50LXRpbWUtY2VsbDpiZWZvcmUsXG4uZHgtc2NoZWR1bGVyLXRpbWUtcGFuZWwtY3VycmVudC10aW1lLWNlbGw6YmVmb3JlIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmR4LXNjaGVkdWxlci10aW1lLXBhbmVsLWNlbGwuZHgtc2NoZWR1bGVyLXRpbWUtcGFuZWwtY3VycmVudC10aW1lLWNlbGwsXG4uZHgtc2NoZWR1bGVyLWhlYWRlci1wYW5lbC1jZWxsLmR4LXNjaGVkdWxlci1oZWFkZXItcGFuZWwtY3VycmVudC10aW1lLWNlbGwsXG4uZHgtc2NoZWR1bGVyLWRhdGUtdGltZS1pbmRpY2F0b3I6YmVmb3JlIHtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07IH1cblxuLmR4LXNjaGVkdWxlci1kYXRlLXRpbWUtaW5kaWNhdG9yIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTsgfVxuXG4vKiBIZWFkZXIgYW5wYXNzZW4gKi9cbi5keC1zY2hlZHVsZXItaGVhZGVyLXBhbmVsLWNlbGwge1xuICAgaGVpZ2h0OiA1NHB4O1xuICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5keC1zY2hlZHVsZXItaGVhZGVyLXJvdyB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFQkVDOyB9XG5cbi5keC1zY2hlZHVsZXItYWxsLWRheS10aXRsZSB7XG4gICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogTW9iaWxlIEFuc2ljaHQqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgIC5keC1zY2hlZHVsZXItLXdvcmtXZWVrIC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtdmVydGljYWwgLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC1jb250ZW50ID4gKjpub3QoLnRlcm1pbi1rb250ZXh0bWVudSksXG4gICAuZHgtc2NoZWR1bGVyLS13ZWVrIC5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQtdmVydGljYWwgLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC1jb250ZW50ID4gKjpub3QoLnRlcm1pbi1rb250ZXh0bWVudSkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLmR4LXNjaGVkdWxlci0td29ya1dlZWsgLmR4LWl0ZW0uZHgtc2NoZWR1bGVyLWFwcG9pbnRtZW50LFxuICAgLmR4LXNjaGVkdWxlci0td2VlayAuZHgtaXRlbS5keC1zY2hlZHVsZXItYXBwb2ludG1lbnQge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgLmR4LXNjaGVkdWxlci0tbW9udGggLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC1jb2xsZWN0b3Ige1xuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XG4gICAuZHgtc2NoZWR1bGVyLS1tb250aCAuZHgtc2NoZWR1bGVyLWRhdGUtdGFibGUtY2VsbCBkaXYuZHgtdGVtcGxhdGUtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuXG4vKiBLZWluIEhvdmVyIHVuZCBBY3RpdmUtU3RhdGUgKi9cbi5keC1zY2hlZHVsZXItYWxsLWRheS10YWJsZS1jZWxsLmR4LXN0YXRlLWZvY3VzZWQsXG4uZHgtc2NoZWR1bGVyLWRhdGUtdGFibGUtY2VsbC5keC1zdGF0ZS1mb2N1c2VkLFxuLmR4LXNjaGVkdWxlci1hbGwtZGF5LXRhYmxlLWNlbGwuZHgtc3RhdGUtaG92ZXIuZHgtc3RhdGUtZm9jdXNlZCxcbi5keC1zY2hlZHVsZXItZGF0ZS10YWJsZS1jZWxsLmR4LXN0YXRlLWhvdmVyLmR4LXN0YXRlLWZvY3VzZWQsXG4uZHgtc2NoZWR1bGVyLWFsbC1kYXktdGFibGUtY2VsbC5keC1zdGF0ZS1hY3RpdmUsXG4uZHgtc2NoZWR1bGVyLWRhdGUtdGFibGUtY2VsbC5keC1zdGF0ZS1hY3RpdmUge1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmR4LXNjaGVkdWxlci1hbGwtZGF5LXRhYmxlLWNlbGwuZHgtc2NoZWR1bGVyLWZvY3VzZWQtY2VsbCxcbi5keC1zY2hlZHVsZXItZGF0ZS10YWJsZS1jZWxsLmR4LXNjaGVkdWxlci1mb2N1c2VkLWNlbGwge1xuICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uZHgtc2NoZWR1bGVyLWFsbC1kYXktdGFibGUtY2VsbC5keC1zdGF0ZS1ob3Zlcixcbi5keC1zY2hlZHVsZXItZGF0ZS10YWJsZS1jZWxsLmR4LXN0YXRlLWhvdmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgY29sb3I6ICM5NTk1OTU7IH1cblxuLyogTGlua2UgWmVpdGxlaXN0ZSAtIEZvcm1hdGllcnVuZyAqL1xuLmR4LXNjaGVkdWxlci0temVpdHNrYWxhMTUgdHIuZHgtc2NoZWR1bGVyLXRpbWUtcGFuZWwtcm93Om50aC1jaGlsZCg0biszKSBkaXYge1xuICAgY29sb3I6IGdyZXk7IH1cblxuLmR4LXNjaGVkdWxlci0temVpdHNrYWxhMTUgdHIuZHgtc2NoZWR1bGVyLXRpbWUtcGFuZWwtcm93Om50aC1jaGlsZCg0bisxKSBkaXYge1xuICAgZm9udC1zaXplOiAxN3B4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyOXB4KSB7XG4gICAuZHgtc2NoZWR1bGVyLS16ZWl0c2thbGExNSB0ci5keC1zY2hlZHVsZXItdGltZS1wYW5lbC1yb3c6bnRoLWNoaWxkKDRuKzEpIGRpdiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgIC5keC1zY2hlZHVsZXItLXplaXRza2FsYTE1IHRyLmR4LXNjaGVkdWxlci10aW1lLXBhbmVsLXJvdzpudGgtY2hpbGQoNG4rMykgZGl2IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbi5keC1zY2hlZHVsZXItLXplaXRza2FsYTMwIC5keC1zY2hlZHVsZXItdGltZS1wYW5lbC1yb3csXG4uZHgtc2NoZWR1bGVyLS16ZWl0c2thbGE2MCAuZHgtc2NoZWR1bGVyLXRpbWUtcGFuZWwtcm93IHtcbiAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI5cHgpIHtcbiAgICAgIC5keC1zY2hlZHVsZXItLXplaXRza2FsYTMwIC5keC1zY2hlZHVsZXItdGltZS1wYW5lbC1yb3csXG4gICAgICAuZHgtc2NoZWR1bGVyLS16ZWl0c2thbGE2MCAuZHgtc2NoZWR1bGVyLXRpbWUtcGFuZWwtcm93IHtcbiAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi5keC1zY2hlZHVsZXItLXplaXRza2FsYTE1IC5keC1zY2hlZHVsZXItY2VsbC1zaXplcy12ZXJ0aWNhbCB7XG4gICBoZWlnaHQ6IDI1cHg7IH1cblxuLmR4LXNjaGVkdWxlci0temVpdHNrYWxhMzAgLmR4LXNjaGVkdWxlci1jZWxsLXNpemVzLXZlcnRpY2FsIHtcbiAgIGhlaWdodDogMzBweDsgfVxuXG4uZHgtc2NoZWR1bGVyLS16ZWl0c2thbGE2MCAuZHgtc2NoZWR1bGVyLWNlbGwtc2l6ZXMtdmVydGljYWwge1xuICAgaGVpZ2h0OiA1MHB4OyB9XG5cbi8qIFwiTmFzZVwiIGFtIFRvb2x0aXAgYXVzYmxlbmRlbiAqL1xuLmR4LXNjaGVkdWxlci1hcHBvaW50bWVudC10b29sdGlwLXdyYXBwZXIgLmR4LXBvcG92ZXItYXJyb3cge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTdHlsaW5nIEtvbnRleHRtZW7DvCAqL1xuLmVzQ29udGV4dE1lbnUgLmR4LW1lbnUtaXRlbXMsXG4uZXNDb250ZXh0TWVudSAuZHgtbWVudS1pdGVtcy1jb250YWluZXIge1xuICAgcGFkZGluZzogMDsgfVxuXG4uZXNDb250ZXh0TWVudS5keC1tZW51LWJhc2UgLmR4LW1lbnUtaXRlbS1jb250ZW50IHtcbiAgIHBhZGRpbmc6IDRweCAwO1xuICAgYm9yZGVyOiBub25lOyB9XG5cbi5lc0NvbnRleHRNZW51IC5keC1zdWJtZW51IHtcbiAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUI0QUFBQUJDQUlBQUFCRzBvbTdBQUFBS1hSRldIUkRjbVZoZEdsdmJpQlVhVzFsQUhCdklERXdJRFVnTWpBeE1DQXlNam96TXpvMU9TQXJNREV3TUd6eTcrSUFBQUFIZEVsTlJRZmFCUW9VSkFlc2o0VlVBQUFBQ1hCSVdYTUFBQTdEQUFBT3d3SEhiNmhrQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUJWSlJFRlVlTnBqL1AvL1B3TzF3ZU1uVDJSbFpBQVl1d1gvNG9BM0JnQUFBQUJKUlU1RXJrSmdnZz09KTtcbiAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zKSAwIDJweCAzcHgsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAwIDAgMnB4IGluc2V0O1xuICAgYm9yZGVyOiBub25lOyB9XG5cbi5lc0NvbnRleHRNZW51IC5keC1tZW51LWl0ZW0uZHgtc3RhdGUtaG92ZXIge1xuICAgYmFja2dyb3VuZDogI2YzZjNmMzsgfVxuXG4uZXNDb250ZXh0TWVudSAuZHgtbWVudS1zZXBhcmF0b3Ige1xuICAgaGVpZ2h0OiAwLjVweDtcbiAgIG1hcmdpbjogNXB4IDAgNXB4IDI4LjVweDtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNkZGRkZGQ7IH1cblxuLmVzQ29tYm9ib3hEeW5hbWlzY2hSb3cge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgIC5lc0NvbWJvYm94RHluYW1pc2NoUm93LS1oYXRBYnN0YW5kT2JlbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAuZXNDb21ib2JveER5bmFtaXNjaFJvdy0taXN0RmV0dEdlZHJ1Y2t0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAuZXNDb21ib2JveER5bmFtaXNjaFJvdyBzcGFuIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLmR4LXNlbGVjdGJveC5keC1zdGF0ZS1kaXNhYmxlZCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmU0O1xuICAgY29sb3I6ICNhYWEgIWltcG9ydGFudDtcbiAgIG9wYWNpdHk6IDE7IH1cbiAgIC5keC1zZWxlY3Rib3guZHgtc3RhdGUtZGlzYWJsZWQgLmR4LXRleHRlZGl0b3ItY29udGFpbmVyICoge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50OyB9XG5cbi5keC1idXR0b25ncm91cC1pdGVtLmR4LWl0ZW0tc2VsZWN0ZWQge1xuICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tICFpbXBvcnRhbnQ7XG4gICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgIGJvcmRlci13aWR0aDogMDsgfVxuXG4uYnV0dG9uR3JvdXAge1xuICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLmJ1dHRvbkdyb3VwLWdyaWQgLmR4LWJ1dHRvbmdyb3VwLXdyYXBwZXIge1xuICAgZGlzcGxheTogZ3JpZDsgfVxuXG4uZ3JpZC0tY29sLTMgLmR4LWJ1dHRvbmdyb3VwLXdyYXBwZXIge1xuICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsgfVxuXG4uZ3JpZC0tY29sLTQgLmR4LWJ1dHRvbmdyb3VwLXdyYXBwZXIge1xuICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7IH1cblxuLmdyaWQtLWNvbC01IC5keC1idXR0b25ncm91cC13cmFwcGVyIHtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmcjsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAgIC5ncmlkLS1jb2wtNSAuZHgtYnV0dG9uZ3JvdXAtd3JhcHBlciB7XG4gICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOyB9XG4gICAgICAgICAuZ3JpZC0tY29sLTUgLmR4LWJ1dHRvbmdyb3VwLXdyYXBwZXIgLmR4LWJ1dHRvbmdyb3VwLWl0ZW0uZHgtYnV0dG9uLW1vZGUtb3V0bGluZWQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH0gfVxuXG4uYnV0dG9uTmF2aWdhdGlvbiB7XG4gICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5kYXRlUGlja2VyIC5keC10ZXh0ZWRpdG9yLWlucHV0LWNvbnRhaW5lcixcbi5kYXRlUGlja2VyIC5keC10ZXh0ZWRpdG9yLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgIHdpZHRoOiAwOyB9XG5cbi5lc0Zvcm11bGFyIC5keC10ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgaGVpZ2h0OiBhdXRvO1xuICAgYm9yZGVyLXJhZGl1czogMDtcbiAgIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLmR4LXRleHRhcmVhIC5keC10ZXh0ZWRpdG9yLWlucHV0IHtcbiAgIHJlc2l6ZTogdmVydGljYWw7IH1cblxuLmR4LXJhZGlvZ3JvdXAge1xuICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZHgtcmFkaW9idXR0b246bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLmR4LXJhZGlvYnV0dG9uLWljb24ge1xuICAgd2lkdGg6IDE1cHg7XG4gICBoZWlnaHQ6IDE1cHg7IH1cbiAgIC5keC1yYWRpb2J1dHRvbi1pY29uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIGhlaWdodDogMTNweDsgfVxuXG4uZHgtcmFkaW8tdmFsdWUtY29udGFpbmVyIHtcbiAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuXG4uZHgtcmFkaW9idXR0b24taWNvbi1jaGVja2VkIC5keC1yYWRpb2J1dHRvbi1pY29uLWRvdCB7XG4gICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICB3aWR0aDogN3B4O1xuICAgaGVpZ2h0OiA3cHg7XG4gICBiYWNrZ3JvdW5kOiAjNTU1OyB9XG5cbi5keC1jaGVja2JveC1pY29uIHtcbiAgIHdpZHRoOiAxOHB4O1xuICAgaGVpZ2h0OiAxOHB4O1xuICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uZHgtY2hlY2tib3gtdGV4dCB7XG4gICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cblxuLyogRWluemVsbmUsIHVuYWJow6RuZ2lnZSBNb2R1bGVsZW1lbnRlICovXG4uYnRuIHtcbiAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICBwYWRkaW5nOiA4cHggMTJweDtcbiAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlIDBzLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgLyogQWxsZ2VtZWluZSBCdXR0b24tU3R5bGluZ3MgKi9cbiAgIC8qIFN0eWxpbmdzIGFuaGFuZCB2b24gS2xhc3NlbiAqLyB9XG4gICAuYnRuOmZvY3VzLCAuYnRuOmFjdGl2ZTpmb2N1cywgLmJ0bi5hY3RpdmU6Zm9jdXMsIC5idG4uZm9jdXMsIC5idG46YWN0aXZlLmZvY3VzLCAuYnRuLmFjdGl2ZS5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAuYnRuLS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgIC5idG4tLWFremVudDEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC0tLS07XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIC8qZGlzYWJsZWQgZHgtYnV0dG9uIGhhdCBpbmxpbmUgc3R5bGVzKi8gfVxuICAgICAgLmJ0bi0tYWt6ZW50MTpob3ZlciwgLmJ0bi0tYWt6ZW50MTphY3RpdmUsIC5idG4tLWFremVudDE6Zm9jdXMge1xuICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuYnRuLS1ha3plbnQxOmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9XG4gICAgICAuYnRuLS1ha3plbnQxOmFjdGl2ZSwgLmJ0bi0tYWt6ZW50MS0tYWN0aXZlIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTsgfVxuICAgICAgLmJ0bi0tYWt6ZW50MVtkaXNhYmxlZF06aG92ZXIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgIC5idG4tLWRlZmF1bHQge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAgIC5idG4tLWRlZmF1bHQ6aG92ZXIsIC5idG4tLWRlZmF1bHQ6YWN0aXZlIHtcbiAgICAgICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7IH1cbiAgIC5idG4tLXN1Y2hlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDJweCA5cHg7XG4gICAgICBoZWlnaHQ6IDM4cHg7IH1cbiAgIC5idG4tLXp1cnVlY2sgLmZhLWFuZ2xlLWxlZnQge1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgIC5idG4tLW5vU3R5bGluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAuYnRuLS1ub1N0eWxpbmdXaXRoSG92ZXJBa3plbnQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5idG4tLW5vU3R5bGluZ1dpdGhIb3ZlckFremVudDpob3ZlciwgLmJ0bi0tbm9TdHlsaW5nV2l0aEhvdmVyQWt6ZW50OmZvY3VzLCAuYnRuLS1ub1N0eWxpbmdXaXRoSG92ZXJBa3plbnQ6YWN0aXZlIHtcbiAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTtcbiAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgIC5idG4tLW5vU3R5bGluZ1dpdGhIb3ZlckFremVudDpob3ZlciAuZXNJY29uLCAuYnRuLS1ub1N0eWxpbmdXaXRoSG92ZXJBa3plbnQ6Zm9jdXMgLmVzSWNvbiwgLmJ0bi0tbm9TdHlsaW5nV2l0aEhvdmVyQWt6ZW50OmFjdGl2ZSAuZXNJY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTsgfVxuICAgLmJ0bi0tZGFuZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNDEyMWU7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5idG4tLWRhbmdlcjpob3ZlciwgLmJ0bi0tZGFuZ2VyOmFjdGl2ZSB7XG4gICAgICAgICBiYWNrZ3JvdW5kOiAjYWUwZjE5OyB9XG4gICAgICAuYnRuLS1kYW5nZXI6aG92ZXIsIC5idG4tLWRhbmdlcjphY3RpdmUsIC5idG4tLWRhbmdlcjpmb2N1cyB7XG4gICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgIC5idG4tLXNpbXBsZUdyZXlCb3JkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgICAgLmJ0bi0tc2ltcGxlR3JleUJvcmRlcjpob3ZlciB7XG4gICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gICAgICAuYnRuLS1zaW1wbGVHcmV5Qm9yZGVyOmRpc2FibGVkLCAuYnRuLS1zaW1wbGVHcmV5Qm9yZGVyLmRpc2FibGVkIHtcbiAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gICAgICAuYnRuLS1zaW1wbGVHcmV5Qm9yZGVyIHNwYW5bY2xhc3NePVwiaWNvblwiXSB7XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICAgLmJ0bi0tbWFyZ2luVG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgIC5idG4tbGcge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgIC5idG4tLW5vUGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAuYnRuLS1iaWcge1xuICAgICAgcGFkZGluZzogMjVweCA2MHB4O1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH1cblxuLmJ0bi1ncm91cCB7XG4gICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxuXG4uYnRuLWdyb3VwLW1vZGFsIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAuYnRuLWdyb3VwLW1vZGFsIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDcuNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNy41cHg7IH1cbiAgIC5idG4tZ3JvdXAtbW9kYWwgLmJ0bi0tYWt6ZW50MSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uYnRuLWdyb3VwLS1tb2R1bCB7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5idXR0b25NaXRIaW53ZWlzLFxuLmt1cnNhbm1lbGR1bmdfd3JhcHBlciB7XG4gICAvKiB3aXJkIGluIG1hbmNoZW4gaW5kaXYuIERlc2lnbnMgdmVyd2VuZGV0ICovXG4gICBtYXJnaW4tdG9wOiA1cHg7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgLmJ1dHRvbk1pdEhpbndlaXMgLl9faGlud2VpcyxcbiAgIC5rdXJzYW5tZWxkdW5nX3dyYXBwZXIgLl9faGlud2VpcyB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgLmJ1dHRvbk1pdEhpbndlaXMgLl9faGlud2Vpcy4tLXJlY2h0cyxcbiAgICAgIC5rdXJzYW5tZWxkdW5nX3dyYXBwZXIgLl9faGlud2Vpcy4tLXJlY2h0cyB7XG4gICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgIGNvbG9yOiAjOTc5Nzk3OyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmJ1dHRvbk1pdEhpbndlaXMgLmJ0biwgLmJ1dHRvbk1pdEhpbndlaXMgYnV0dG9uLCAuYnV0dG9uTWl0SGlud2VpcyAuX19idXR0b24sXG4gICAgICAua3Vyc2FubWVsZHVuZ193cmFwcGVyIC5idG4sXG4gICAgICAua3Vyc2FubWVsZHVuZ193cmFwcGVyIGJ1dHRvbixcbiAgICAgIC5rdXJzYW5tZWxkdW5nX3dyYXBwZXIgLl9fYnV0dG9uIHtcbiAgICAgICAgIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7IH0gfVxuXG4uYnV0dG9uTWl0SGlud2Vpcy0tbGlua3Mge1xuICAgZmxleC1kaXJlY3Rpb246IGluaXRpYWw7IH1cbiAgIC5idXR0b25NaXRIaW53ZWlzLS1saW5rcyAuX19oaW53ZWlzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgY29sb3I6ICM5Nzk3OTc7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgIC5idXR0b25NaXRIaW53ZWlzLS1saW5rcyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAgIC5idXR0b25NaXRIaW53ZWlzLS1saW5rcyA+IGJ1dHRvbi5idG4ge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmJ1dHRvbk1pdEhpbndlaXMtLWxpbmtzID4gc3Bhbi5fX2hpbndlaXMge1xuICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9IH1cblxuLmt1cnNhbm1lbGR1bmdfaGlud2Vpcy0tcmVjaHRzIHtcbiAgIC8qIHdpcmQgaW4gbWFuY2hlbiBpbmRpdi4gRGVzaWducyB2ZXJ3ZW5kZXQgKi9cbiAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgY29sb3I6ICM5Nzk3OTc7XG4gICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIMOcYmVyc2NocmVpYmUgQm9vdHN0cmFwICovXG4uYnRuLmRpc2FibGVkLFxuLmJ0bltkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0biB7XG4gICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDUpO1xuICAgb3BhY2l0eTogMC40NTsgfVxuXG4uZXNCdXR0b25XcmFwcGVyIHtcbiAgIG1hcmdpbi1ib3R0b206IC0xNXB4O1xuICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgIC5lc0J1dHRvbldyYXBwZXIgLmVzQnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuXG4uZXNCdXR0b24ge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZXNCdXR0b24tLW91dGxpbmVHcmV5IHtcbiAgIGNvbG9yOiBibGFjaztcbiAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3OyB9XG4gICAuZXNCdXR0b24tLW91dGxpbmVHcmV5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgIC5lc0J1dHRvbi0tb3V0bGluZUdyZXk6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgY29sb3I6ICNiYmJiYmI7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZXNCdXR0b24tLW91dGxpbmVHcmV5OmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5lc0J1dHRvbi0tbnVyVGV4dCB7XG4gICBiYWNrZ3JvdW5kOiBub25lO1xuICAgYm9yZGVyOiBub25lOyB9XG4gICAuZXNCdXR0b24tLW51clRleHQ6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQnV0dG9uIG1pdCBTdGF0dXMgKi9cbi5idG4uZXNMb2FkaW5kaWNhdG9yLXNpbXBsZSB7XG4gICBwYWRkaW5nLWxlZnQ6IDM2cHg7IH1cblxuLmFjdGlvbi1idG5zIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgZmxleC13cmFwOiB3cmFwO1xuICAgZ2FwOiA4cHg7IH1cblxuLmJ1dHRvbnNPYmVyaGFsYiAuYnRuIHtcbiAgIG1hcmdpbjogMCA1cHggNXB4IDA7IH1cblxuLmVzQnV0dG9uYm94IHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgZmxleC13cmFwOiB3cmFwO1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGJvcmRlci1jb2xvcjogI2RiZGJkYjtcbiAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAuZXNCdXR0b25ib3ggc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cblxuLmVzQnV0dG9uYm94X19idXR0b25XcmFwcGVyIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgLmVzQnV0dG9uYm94X19idXR0b25XcmFwcGVyIGJ1dHRvbiAuZmEtZmlsdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAuZXNCdXR0b25ib3hfX2J1dHRvbldyYXBwZXIgYnV0dG9uIC5pY29uLWFycm93LWRvd24tMTIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjNzOyB9XG5cbi5lc0J1dHRvbmJveF9faXRlbSB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGZsb2F0OiBsZWZ0OyB9XG4gICAuZXNCdXR0b25ib3hfX2l0ZW0gbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgLmVzQnV0dG9uYm94X19pdGVtIG9wdGlvbi5vcHRpb24tLW51bGx0ZXh0IHtcbiAgICAgIGNvbG9yOiAjQTdBN0E3ICFpbXBvcnRhbnQ7IH1cblxuLmVzQnV0dG9uYm94X191ZWJlcmdhbmcge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgaGVpZ2h0OiAwO1xuICAgei1pbmRleDogMTtcbiAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGxlZnQ6IDA7XG4gICByaWdodDogMDtcbiAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZGJkYmRiO1xuICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZGJkYmRiO1xuICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogd2hpdGU7XG4gICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQ7XG4gICAvKiBXZXJ0ZSBmdWVyIGRhcyBadWtsYXBwZW4gKi9cbiAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTsgfVxuXG4uZXNCdXR0b25ib3gtLW9wZW4uZXNCdXR0b25ib3hfX2J1dHRvbldyYXBwZXIgLmljb24tYXJyb3ctZG93bi0xMiB7XG4gICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5lc0J1dHRvbmJveC0tb3BlbiAuZXNCdXR0b25ib3hfX3VlYmVyZ2FuZyB7XG4gICBoZWlnaHQ6IDE2cHg7XG4gICAvKiBXZXJ0ZSBmdWVyIGRhcyBBdWZrbGFwcGVuICovXG4gICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFzOyB9XG5cbi8qIEJlc29uZGVyaGVpdGVuIEZpbHRlcmJveCAqL1xuLmVzR3JpZCAuZXNGaWx0ZXJCb3hfX2J1dHRvbldyYXBwZXIgLmVzRmlsdGVyQm94X19idXR0b24ge1xuICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZXNGaWx0ZXJCb3hfX2J1dHRvbldyYXBwZXIge1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NXB4KSB7XG4gICAuZXNGaWx0ZXJCb3hfX2J1dHRvbldyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbi5lc0ZpbHRlckJveF9fY29udGVudEJveCAuZXNCdXR0b25ib3gge1xuICAgcGFkZGluZzogMTJweCAxNnB4IDE2cHg7IH1cblxuLmVzRmlsdGVyQm94X19jb250ZW50Qm94IC5idG4tZ3JvdXAge1xuICAgbWFyZ2luLXRvcDogM3B4OyB9XG5cbi5lc0ZpbHRlckVsZW1lbnQge1xuICAgd2lkdGg6IDI4MHB4O1xuICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAuZXNGaWx0ZXJFbGVtZW50IHtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAuZXNGaWx0ZXJFbGVtZW50IHtcbiAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uZXNGaWx0ZXJBbndlbmRlbixcbi5lc0ZpbHRlclJlc2V0IHtcbiAgIG1hcmdpbi10b3A6IDRweDtcbiAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVzRmlsdGVyQm94X19idXR0b25XcmFwcGVyIC5jb2xsYXBzZSAuYmFkZ2Uge1xuICAgdG9wOiAtNnB4O1xuICAgcmlnaHQ6IC0xN3B4OyB9XG5cbi5lc0ZpbHRlckJveF9fYnV0dG9uLmJ0biB7XG4gICBtYXJnaW4tYm90dG9tOiAwO1xuICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgbWFyZ2luLXRvcDogN3B4ICFpbXBvcnRhbnQ7XG4gICBtYXJnaW4tYm90dG9tOiA3cHggIWltcG9ydGFudDsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIGEge1xuICAgYm9yZGVyOiAxcHggc29saWQgI2RiZGJkYjtcbiAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICBjb2xvcjogLS0tLUFremVudC0tLS07XG4gICBwYWRkaW5nOiA2cHggMTJweDtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmRhdGFUYWJsZXNfcGFnaW5hdGUgPiBzcGFuID4gYS5jdXJyZW50LFxuLmRhdGFUYWJsZXNfcGFnaW5hdGUgPiBzcGFuID4gYS5jdXJyZW50OmZvY3VzLFxuLmRhdGFUYWJsZXNfcGFnaW5hdGUgPiBzcGFuID4gYS5jdXJyZW50OmhvdmVyIHtcbiAgIGJvcmRlci1jb2xvcjogLS0tLUFremVudC0tLS07XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbmxpLnBhZ2luYXRlX2J1dHRvbi5hY3RpdmUgYSB7XG4gICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC0tLS0gIWltcG9ydGFudDsgfVxuXG5saS5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQgYSB7XG4gICBjb2xvcjogI0E3QTdBNzsgfVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAvKiBEaWUgcm93LUtpbmRlciBzdGVoZW4gXCItMTVweFwiIMO8YmVyIGRlbiBXcmFwcGVyIGhpbmF1cyB1bmQgdmVydXJzYWNoZW4gZWluZW4gaG9yaXpvbnRhbGVuIFNjcm9sbGJhbGtlbiwgd2VubiBkZXIgd2VuaWdlciBhbHMgMTVweCBwYWRkaW5nLXJpZ2h0IGhhdCAqLyB9XG5cbi5lc1RhYmVsbGUtLWJvcmRlcmxlc3MgdGQsXG4uZXNUYWJlbGxlLS1ib3JkZXJsZXNzIHRoIHtcbiAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIMOcYmVyc2NocmVpYmUgSWNvbi1TdHlsZXMgZsO8ciBTb3J0aWVydW5nICovXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmc6YWZ0ZXIge1xuICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgIGNvbG9yOiAjZGJkYmRiO1xuICAgb3BhY2l0eTogMTsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgPiB0ciA+IHRoLnNvcnRpbmdfYXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nX2Rlc2MsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgPiB0ciA+IHRoLnNvcnRpbmcsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgPiB0ciA+IHRkLnNvcnRpbmdfYXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0ZC5zb3J0aW5nX2Rlc2MsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgPiB0ciA+IHRkLnNvcnRpbmcge1xuICAgcGFkZGluZy1yaWdodDogMjVweDsgfVxuICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nX2FzYzphZnRlcixcbiAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGguc29ydGluZ19kZXNjOmFmdGVyLFxuICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nOmFmdGVyLFxuICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0ZC5zb3J0aW5nX2FzYzphZnRlcixcbiAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGQuc29ydGluZ19kZXNjOmFmdGVyLFxuICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0ZC5zb3J0aW5nOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJvdHRvbTogMXB4OyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19hc2M6YWZ0ZXIge1xuICAgY29udGVudDogXCJcXGYwZDdcIjsgfVxuXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYzphZnRlciB7XG4gICBjb250ZW50OiBcIlxcZjBkOFwiOyB9XG5cbi5lc1RhYmVsbGUtLW1pdEhvdmVyIHtcbiAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgIC5lc1RhYmVsbGUtLW1pdEhvdmVyLm5vLWZvb3Rlci5kYXRhVGFibGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgdHI6aG92ZXIgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgdGQsXG4gICAuZXNUYWJlbGxlLS1taXRIb3ZlciB0aGVhZCB0ciB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZGJkYjsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgdGhlYWQgdHIgdGgge1xuICAgICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgLmVzSWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAgIC5lc1RhYmVsbGUtLW1pdEhvdmVyIC5lc0ljb246YmVmb3JlIHtcbiAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7IH1cbiAgICAgIC5lc1RhYmVsbGUtLW1pdEhvdmVyIC5lc0ljb24uZXNJY29uLS1sYXJnZSB7XG4gICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAuZXNUYWJlbGxlLS1taXRIb3ZlciB0ZCB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDVweCAhaW1wb3J0YW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAuZXNUYWJlbGxlLS1taXRIb3ZlciB0ZC5kYXRhVGFibGVzX2VtcHR5IHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgdGZvb3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgLmRldGFpbHNMaW5rIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuICAgLmVzVGFiZWxsZS0tbWl0SG92ZXIgYS5vcGVuSXRlbSB7XG4gICAgICBjb2xvcjogZ2FpbnNib3JvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuZXNUYWJlbGxlLS1taXRIb3ZlciBhLm9wZW5JdGVtIC5lc0ljb24ge1xuICAgICAgICAgZm9udC1zaXplOiAxLjlyZW07IH1cbiAgIC5lc1RhYmVsbGUtLW1pdEhvdmVyIHRyOmhvdmVyIGEub3Blbkl0ZW0ge1xuICAgICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tOyB9XG4gICAuZXNUYWJlbGxlLS1taXRIb3ZlciB0aCAuZGVmYXVsdEZvbnQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAuZXNUYWJlbGxlLS1taXRIb3ZlciBhLm9wZW5JdGVtIHtcbiAgICAgICAgIHJpZ2h0OiA1cHg7IH0gfVxuXG4uZXNUYWJlbGxlX19jb250cm9sc0lubmVyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgZmxleC13cmFwOiB3cmFwOyB9XG5cbiNzdWNoZVdyYXBwZXIge1xuICAgZmxleC1ncm93OiAxO1xuICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAgI3N1Y2hlV3JhcHBlciAuaW5wdXQtZ3JvdXAge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmZpbHRlclVuZFN1Y2hlV3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgZmxleC1ncm93OiAzOyB9XG5cbiNmaWx0ZXJXcmFwcGVyIHtcbiAgIGZsZXgtZ3JvdzogMTsgfVxuXG4jYW56YWhsV3JhcHBlciB7XG4gICBmbGV4LWdyb3c6IDA7XG4gICBmbGV4LXNocmluazogMDtcbiAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5lc1RhYmVsbGVfX2NvbnRyb2xzIHtcbiAgIHBhZGRpbmc6IDEzcHggMCAwOyB9XG4gICAuZXNUYWJlbGxlX19jb250cm9scyBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwNXB4ICFpbXBvcnRhbnQ7IH1cbiAgIC5lc1RhYmVsbGVfX2NvbnRyb2xzICNzdWNoZVdyYXBwZXIgLmljb24tc2VhcmNoIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDdweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICBjb2xvcjogI2RiZGJkYjtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7IH1cbiAgIC5lc1RhYmVsbGVfX2NvbnRyb2xzICNzdWNoZVdyYXBwZXIgLmZvcm0tY29udHJvbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMzcHg7IH1cbiAgIC5lc1RhYmVsbGVfX2NvbnRyb2xzICNzdWNoZVdyYXBwZXIgLmlucHV0LWdyb3VwIHtcbiAgICAgIG1pbi13aWR0aDogMjkzcHg7IH1cbiAgIC5lc1RhYmVsbGVfX2NvbnRyb2xzICNhbnphaGxXcmFwcGVyIGxhYmVsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAuZXNUYWJlbGxlX19jb250cm9scyAjYW56YWhsV3JhcHBlciAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgLmVzVGFiZWxsZV9fY29udHJvbHMgI2FuemFobFdyYXBwZXIgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5NXB4KSB7XG4gICAgICAuZXNUYWJlbGxlX19jb250cm9scyAuZXNUYWJlbGxlX19jb250cm9sc0NvbCB7XG4gICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZXNUYWJlbGxlX19jb250cm9scyAjc3VjaGVXcmFwcGVyIHtcbiAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAgICAgICAgLmVzVGFiZWxsZV9fY29udHJvbHMgI3N1Y2hlV3JhcHBlciAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5lc1RhYmVsbGVfX2NvbnRyb2xzICNmaWx0ZXJXcmFwcGVyIHtcbiAgICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLmVzVGFiZWxsZV9fY29udHJvbHMgI2FuemFobFdyYXBwZXIge1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzVweCkge1xuICAgLmZpbHRlclVuZFN1Y2hlV3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAjYW56YWhsV3JhcHBlciB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgI2ZpbHRlcldyYXBwZXIge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgIC5lc0J1dHRvbmJveC0tb3BlbiAuZXNCdXR0b25ib3hfX3VlYmVyZ2FuZyB7XG4gICAgICBoZWlnaHQ6IDExcHg7IH0gfVxuXG4uZXNUYWJlbGxlX19jb250cm9sc0NvbCB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAuZXNUYWJlbGxlX19jb250cm9sc0NvbDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmVzVGFiZWxsZS0tZmlsZUxpc3QgdHIge1xuICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB3aGl0ZTsgfVxuXG4uZXNUYWJlbGxlLS1maWxlTGlzdCB0aCB7XG4gICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmVzVGFiZWxsZS0tZmlsZUxpc3QgdGQge1xuICAgYmFja2dyb3VuZDogI0E3QTdBNztcbiAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgd2hpdGU7XG4gICBjb2xvcjogd2hpdGU7IH1cblxuLmVzVGFiZWxsZS0tZmlsZUxpc3QgdGQ6Zmlyc3QtY2hpbGQge1xuICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmVzVGFiZWxsZS0tZmlsZUxpc3QgdGQ6bGFzdC1jaGlsZCB7XG4gICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHdoaXRlICFpbXBvcnRhbnQ7XG4gICB3aWR0aDogNDBweDtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAuZXNUYWJlbGxlLS1maWxlTGlzdCB0ZDpsYXN0LWNoaWxkIGEge1xuICAgICAgY29sb3I6ICM5NDE5MTQ7IH1cblxuLypcclxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xyXG4gIHBhZGRpbmctbGVmdDogMzVweCAhaW1wb3J0YW50O1xyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVzTWlkR3JleTI7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIC0zMHB4XHJcbiAgfVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRkOmZpcnN0LWNoaWxkLFxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRoOmZpcnN0LWNoaWxkIHtcclxuICBwYWRkaW5nLWxlZnQ6IDM1cHggIWltcG9ydGFudDtcclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVzQWt6ZW50MTtcclxuICB9XHJcbn1cclxuXHJcbiovXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuanNEZXRhaWxzQ29udHJvbCB7XG4gICBwYWRkaW5nLXJpZ2h0OiA3cHg7IH1cbiAgIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5qc0RldGFpbHNDb250cm9sOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E3QTdBNzsgfVxuXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZSA+IHRoZWFkID4gdHIgPiB0aC5qc0RldGFpbHNDb250cm9sLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUgPiB0Ym9keSA+IHRyID4gdGQuanNEZXRhaWxzQ29udHJvbCB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRoZWFkID4gdHIgPiB0aC5qc0RldGFpbHNDb250cm9sLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmpzRGV0YWlsc0NvbnRyb2wge1xuICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRkLmpzRGV0YWlsc0NvbnRyb2w6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ci5wYXJlbnQgPiB0aC5qc0RldGFpbHNDb250cm9sOmJlZm9yZSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuXG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLnBhcmVudCxcbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQge1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjsgfVxuXG4uanNEYXRhdGFibGVPZWZmbmVaZWlsZSAuZXNJY29uIHtcbiAgIG1hcmdpbi1yaWdodDogdW5zZXQ7XG4gICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgIHdpZHRoOiAyMHB4OyB9XG5cbnRhYmxlLmRhdGFUYWJsZSB0aC5qc0RldGFpbHNDb250cm9sOmFmdGVyIHtcbiAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzIGxpIHtcbiAgIGJvcmRlcjogbm9uZTtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMge1xuICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiAuanNEZXRhaWxzQ29udHJvbCB7XG4gICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmVzRm9ybXVsYXIgbGFiZWwge1xuICAgaHlwaGVuczogYXV0bztcbiAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICBmb250LXNpemU6IDEuNHJlbTtcbiAgIG1hcmdpbi1ib3R0b206IDA7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5lc0xhYmVsLS11ZWJlcklucHV0IHtcbiAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLyogw5xiZXJzY2hyZWliZSBCb290c3RyYXAtUmVnZWwgenVyIFplaWxlbmjDtmhlLCBkaWUgc29uc3QgZWluZW4gU2Nyb2xsYmFsa2VuIHZlcnVyc2FjaHQgKi9cbi8qQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSovXG5pbnB1dFt0eXBlPWRhdGVdLmZvcm0tY29udHJvbCwgaW5wdXRbdHlwZT10aW1lXS5mb3JtLWNvbnRyb2wsIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmZvcm0tY29udHJvbCwgaW5wdXRbdHlwZT1tb250aF0uZm9ybS1jb250cm9sIHtcbiAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG5cbi8qIEFsbGdlbWVpbmUgSGVscGVyKi9cbi5lc1Jlc2l6ZS1ob3Jpem9udGFsIHtcbiAgIHJlc2l6ZTogaG9yaXpvbnRhbDsgfVxuXG4uZXNSZXNpemUtdmVydGljYWwge1xuICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4uZXNMYWJlbCBzcGFuIHtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmVzTGFiZWwtLXZlcnRpY2FsQ2VudGVyIHtcbiAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZXNMYWJlbC0tYWxpZ25XaXRoSW5wdXQge1xuICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICBtYXJnaW4tdG9wOiA5cHg7IH1cblxuLmVzTGFiZWwtLWlubGluZU1pdEFic3RhbmQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG5cbi5lc0xhYmVsLS1mb250d2VpZ2h0Tm9ybWFsIHtcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmVzTGFiZWwtLWRpc2FibGVkIHtcbiAgIGNvbG9yOiAjOTc5Nzk3O1xuICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZXNMYWJlbC0tcmFkaW9idXR0b24ge1xuICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZXNSZXNldEZpbHRlcnMge1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIG1hcmdpbi10b3A6IDEycHg7XG4gICBjb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAuZXNSZXNldEZpbHRlcnMgLmVzSWNvbiB7XG4gICAgICBjb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAuZXNSZXNldEZpbHRlcnMuZGlzYWJsZWQsXG4gICAuZXNSZXNldEZpbHRlcnMuZGlzYWJsZWQgLmVzSWNvbiB7XG4gICAgICBjb2xvcjogIzk3OTc5NztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgLmVzUmVzZXRGaWx0ZXJzIC5lc0ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG4uZXNQcm96ZW50YmFsa2VuIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHdpZHRoOiAxNjBweDtcbiAgIGhlaWdodDogMjBweDtcbiAgIGJvcmRlcjogMXB4IHNvbGlkIC0tLS1Ba3plbnQtLS0tOyB9XG5cbi5lc1Byb3plbnRiYWxrZW5fX2Z1ZWxsdW5nIHtcbiAgIGhlaWdodDogMTAwJTtcbiAgIGJhY2tncm91bmQ6IC0tLS1Ba3plbnQtLS0tOyB9XG5cbi5lc1Byb3plbnRiYWxrZW5fX3RleHQge1xuICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICBsaW5lLWhlaWdodDogMjBweDtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFN0ZXJuLVJhdGluZyAqL1xuLmVzUmF0ZXJvd0Rpc2FibGVkIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZXNSYXRlcm93RGlzYWJsZWQ6YmVmb3JlIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgYm90dG9tOiAwO1xuICAgbGVmdDogMDtcbiAgIGNvbnRlbnQ6ICcgJztcbiAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnJhdGVfcm93IHtcbiAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4ucmF0ZV9yb3cuZXNOb1NlbGVjdCAucmF0ZV9zdGFyIHtcbiAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ucmF0ZV9zdGFyIHtcbiAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuXG4ucmF0ZV9zdGFyLFxuLnJhdGVfc3Rhci5vdmVyLFxuLnJhdGVfc3Rhci5jaGVja2VkIHtcbiAgIGNvbG9yOiAjZmJiMDNiOyB9XG5cbi5yYXRlX3N0YXI6YmVmb3JlIHtcbiAgIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XG4gICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiICFpbXBvcnRhbnQ7IH1cblxuLnJhdGVfc3Rhci5vdmVyOmJlZm9yZSxcbi5yYXRlX3N0YXIuY2hlY2tlZDpiZWZvcmUge1xuICAgY29udGVudDogXCJcXGYwMDVcIjsgfVxuXG4vKiBzdHlsZXMgZm9yIHZhbGlkYXRpb24gaGVscGVycyAqL1xuLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xuICAgY29sb3I6IHJlZDsgfVxuXG4uZmllbGQtdmFsaWRhdGlvbi12YWxpZCB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbmlucHV0LmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xuICAgYm9yZGVyOiAxcHggc29saWQgcmVkOyB9XG5cbnNlbGVjdC5pbnB1dC12YWxpZGF0aW9uLWVycm9yIHtcbiAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uaW5wdXQtdmFsaWRhdGlvbi1lcnJvciB7XG4gICBib3JkZXI6IDAgbm9uZTsgfVxuXG4udmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9ycyB7XG4gICBjb2xvcjogI2I5NGE0ODsgfVxuXG4udmFsaWRhdGlvbi1zdW1tYXJ5LXZhbGlkIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogZXNGb3JtdWxhciAqL1xuLmVzRm9ybXVsYXIge1xuICAgbWFyZ2luLXRvcDogMTVweDtcbiAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICBvdmVyZmxvdy15OiBhdXRvO1xuICAgLyogZGFtaXQgZmxvYXRlbmRlIEVsZW1lbnRlIGVudGhhbHRlbiBzaW5kICovIH1cbiAgIC5lc0Zvcm11bGFyIC5yYWRpbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5lc0Zvcm11bGFyOm5vdCguZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcpIHtcbiAgICAgICAgIHdpZHRoOiA5NSU7IH0gfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAuZXNGb3JtdWxhcjpub3QoLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nKSB7XG4gICAgICAgICB3aWR0aDogODclO1xuICAgICAgICAgbWF4LXdpZHRoOiAxMjUwcHg7IH0gfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAuZXNGb3JtdWxhci5lc0Zvcm11bGFyLS1tZWhyZmFjaGFubWVsZHVuZyB7XG4gICAgICAgICB3aWR0aDogODclO1xuICAgICAgICAgbWF4LXdpZHRoOiAxNTUwcHg7IH0gfVxuXG4ubGF5b3V0X19wcmVzZW50YXRpb24gLmVzRm9ybXVsYXIge1xuICAgbWFyZ2luLXRvcDogMDtcbiAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc0Zvcm11bGFyOm5vdCguZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcpIHtcbiAgICAgICAgIHdpZHRoOiB1bnNldDsgfSB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgIC5sYXlvdXRfX3ByZXNlbnRhdGlvbiAuZXNGb3JtdWxhcjpub3QoLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nKSB7XG4gICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc0Zvcm11bGFyLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIHtcbiAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgIG1heC13aWR0aDogMTU1MHB4OyB9IH1cblxuLmR4LXBvcHVwLWNvbnRlbnQgLmVzRm9ybXVsYXIge1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmVzRm9ybXVsYXJHZXNhbXRwcmVpcyB7XG4gICB0ZXh0LWFsaWduOiByaWdodDtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgZm9udC1zaXplOiAxLjZyZW07IH1cblxuLypcclxuLmdyaWRGb3Jte1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgZ3JpZC1nYXA6IDE1cHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KXtcclxuICAgIC5ncmlkRm9ybXtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICB9XHJcbiAgICAuendlaXNwYWx0aWd7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgIH1cclxufVxyXG4qL1xuLyogRGVyIFdvcmthcm91bmQgbWl0IEZsZXhib3guIFdpcmQgYWJnZWzDtnN0IGR1cmNoIGRpZSBHcmlkLVZhcmlhbnRlIHNvYmFsZCBkZXIgU3VwcG9ydCBmw7xyIGRlbiBJRTExIHNlaXRlbnMgZWFzeVNvZnQgZWluZ2VzdGVsbHQgd2lyZC4gKi9cbi5lc0Zvcm11bGFyZ3J1cHBlIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LXdyYXA6IHdyYXA7XG4gICB3aWR0aDogMTAwJTsgfVxuXG4udXBsb2FkY29udHJvbC13cmFwcGVyIC5lc0Zvcm0tZ3JvdXAgPiBsYWJlbCxcbi5lc0Zvcm11bGFyZmVsZCAuZXNGb3JtLWdyb3VwID4gbGFiZWwge1xuICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5lc0Zvcm11bGFyZmVsZCB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgbWFyZ2luOiAxMHB4IDA7XG4gICB3aWR0aDogMTAwJTsgfVxuICAgLmVzRm9ybXVsYXJmZWxkIHRleHRhcmVhIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAuZXNGb3JtdWxhcmZlbGQgdGV4dGFyZWEuZXNGb3JtLWNvbnRyb2wge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAuZXNGb3JtdWxhcmZlbGQgLnJhZGlvLWlubGluZSxcbiAgIC5lc0Zvcm11bGFyZmVsZCAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgbWFyZ2luOiA4cHggNnB4IDZweCAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAuZXNGb3JtdWxhcmZlbGQgLmVzRm9ybXVsYXJfX2Zvcm11bGFyZmVsZC0tSW5mb3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogNnB4OyB9XG4gICAuZXNGb3JtdWxhcmZlbGQgLmNoZWNrYm94IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgIC5lc0Zvcm11bGFyZmVsZCAucmFkaW8taW5saW5lLFxuICAgLmVzRm9ybXVsYXJmZWxkIC5jaGVja2JveCxcbiAgIC5lc0Zvcm11bGFyZmVsZCAuZXNGb3JtdWxhcl9fZm9ybXVsYXJmZWxkLS1JbmZvdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgLmVzRm9ybXVsYXJmZWxkIC5lc0Zvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmVzRm9ybXVsYXJmZWxkIC5lc0Zvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgY29sb3I6ICNjY2M7IH1cbiAgICAgIC5lc0Zvcm11bGFyZmVsZCAuZXNGb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5lc0Zvcm11bGFyZmVsZCAuZXNGb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZTQ7XG4gICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgY29sb3I6ICNhYWEgIWltcG9ydGFudDtcbiAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5lc0Zvcm11bGFyZmVsZCAuZXNGb3JtLWNvbnRyb2wtLWRhdGVCb3gge1xuICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmVzRm9ybXVsYXJmZWxkIC5lc0Zvcm0tY29udHJvbC0tcmFkaW9idXR0b24ge1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5lc0Zvcm11bGFyZmVsZCAuZXNGb3JtLWNvbnRyb2wtLWNoZWNrYm94bGlzdCB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgLmVzRm9ybXVsYXJmZWxkLmVzRm9ybXVsYXJmZWxkLS1Ib3Jpem9udGFsTGluZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5lc0Zvcm11bGFyZmVsZC0tZGFyZlp3ZWlzcGFsdGlnZUFuemVpZ2Uge1xuICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7IH1cbiAgICAgIC5lc0Zvcm11bGFyZmVsZCB7XG4gICAgICAgICBtYXJnaW46IDEwcHggMjBweDsgfSB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tU2luZ2xlVXBsb2FkIC5lc0Zvcm11bGFyZmVsZF9fZmVobGVyV3JhcHBlcixcbi5lc0Zvcm11bGFyZmVsZC0tTXVsdGlVcGxvYWQgLmVzRm9ybXVsYXJmZWxkX19mZWhsZXJXcmFwcGVyIHtcbiAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tTXVsdGlUZXh0Qm94IC5lc0Zvcm0tZ3JvdXAge1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLUhvcml6b250YWxMaW5lIC5lc0Zvcm0tZ3JvdXAge1xuICAgbWluLWhlaWdodDogMDsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLUhvcml6b250YWxMaW5lIGhyIHtcbiAgIG1hcmdpbjogMTBweCAwOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tVW50ZXJmb3JtdWxhciB7XG4gICB3aWR0aDogMTAwJTsgfVxuICAgLmVzRm9ybXVsYXJmZWxkLS1VbnRlcmZvcm11bGFyIC5lc0Zvcm0tZ3JvdXAgPiBsYWJlbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9XG4gICAuZXNGb3JtdWxhcmZlbGQtLVVudGVyZm9ybXVsYXIgPiBkaXYge1xuICAgICAgbWluLWhlaWdodDogMDsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLVVudGVyZm9ybXVsYXIgLmVzRm9ybS1ncm91cCA+IGRpdjpub3QoLmVzRm9ybXVsYXJfX2NoZWNrYm94bGlzdCk6bm90KC5lc0Zvcm11bGFyX19yYWRpb2J1dHRvbmxpc3QpIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgIC5lc0Zvcm11bGFyZmVsZC0tVW50ZXJmb3JtdWxhciA+IC5lc0Zvcm11bGFyZmVsZF9faW5uZXJXcmFwcGVyID4gLmVzRm9ybS1ncm91cCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfSB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tbG9hZGluZyAuZXNGb3JtdWxhcmZlbGRfX3VudGVyZm9ybXVsYXJXcmFwcGVyIHtcbiAgIG1pbi1oZWlnaHQ6IDUxcHggIWltcG9ydGFudDsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLWhhdEluaGFsdCA+IC5lc0Zvcm11bGFyZmVsZF9faW5uZXJXcmFwcGVyID4gLmVzRm9ybXVsYXJmZWxkX191bnRlcmZvcm11bGFyV3JhcHBlcixcbi5lc0Zvcm11bGFyZmVsZC0tbG9hZGluZyA+IC5lc0Zvcm11bGFyZmVsZF9faW5uZXJXcmFwcGVyID4gLmVzRm9ybXVsYXJmZWxkX191bnRlcmZvcm11bGFyV3JhcHBlciB7XG4gICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgYm9yZGVyLWNvbG9yOiAjZWVlO1xuICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgIG1hcmdpbjogMjBweCAwIDEwcHg7XG4gICBwYWRkaW5nOiAxMHB4IDA7IH1cblxuLmVzRm9ybXVsYXJmZWxkLS1sZXR6dGVzRmVsZEluR3J1cHBlUGgge1xuICAgaGVpZ2h0OiAxcHg7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgbWFyZ2luOiAwOyB9XG4gICAuZXNGb3JtdWxhcmZlbGQtLWxldHp0ZXNGZWxkSW5HcnVwcGVQaCBpbnB1dCB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmVzRm9ybXVsYXJmZWxkX191bnRlcmZvcm11bGFyV3JhcHBlciAuZXNGb3JtdWxhcmZlbGQtLWxldHp0ZXNGZWxkSW5HcnVwcGUuZXNGb3JtdWxhcmZlbGQtLWhhdEluaGFsdCA+IC5lc0Zvcm11bGFyZmVsZF9faW5uZXJXcmFwcGVyID4gLmVzRm9ybXVsYXJmZWxkX191bnRlcmZvcm11bGFyV3JhcHBlciB7XG4gICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tVW50ZXJmb3JtdWxhci5lc0Zvcm11bGFyZmVsZC0tbGV0enRlc0ZlbGRJbkdydXBwZSA+IC5lc0Zvcm11bGFyZmVsZF9faW5uZXJXcmFwcGVyID4gLmVzRm9ybXVsYXJmZWxkX191bnRlcmZvcm11bGFyV3JhcHBlciB7XG4gICAvKiBBbSBFbmRlIHNvbGxlbiBrZWluZSBMaW5pZW4gYW5nZXplaWd0IHdlcmRlbiAqL1xuICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0taGF0SW5oYWx0LFxuLmVzRm9ybXVsYXJmZWxkLS1sb2FkaW5nIHtcbiAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVzRm9ybXVsYXJmZWxkX19wb3NpdGlvbmllcmVyIHtcbiAgIGZsb2F0OiBsZWZ0O1xuICAgbWFyZ2luLWJvdHRvbTogM3B4OyB9XG5cbi8qRHluYW1pc2NoZSBXZXJ0ZWxpc3RlIGdsZWljaCB3aWUgc3RhdGlzY2hlIHN0eWxlbiovXG4uZXNGb3JtdWxhcmZlbGQtLURyb3BEb3duTGlzdFByZVNldHRpbmcgLmR4LWRyb3Bkb3duZWRpdG9yLWJ1dHRvbixcbi5lc1NlbGVjdEJveCAuZHgtZHJvcGRvd25lZGl0b3ItYnV0dG9uIHtcbiAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvQXBwX0Fzc2V0cy9JbWFnZXMvZWxlbWVudGUvZHJvcGRvd24ucG5nKTtcbiAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtc2l6ZTogYXV0byBhdXRvO1xuICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgIC5lc0Zvcm11bGFyZmVsZC0tRHJvcERvd25MaXN0UHJlU2V0dGluZyAuZHgtZHJvcGRvd25lZGl0b3ItYnV0dG9uIC5keC1idXR0b24tY29udGVudCxcbiAgIC5lc1NlbGVjdEJveCAuZHgtZHJvcGRvd25lZGl0b3ItYnV0dG9uIC5keC1idXR0b24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tRHJvcERvd25MaXN0UHJlU2V0dGluZzpob3ZlciAuZHgtZHJvcGRvd25lZGl0b3ItYnV0dG9uLFxuLmVzU2VsZWN0Qm94OmhvdmVyIC5keC1kcm9wZG93bmVkaXRvci1idXR0b24ge1xuICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9BcHBfQXNzZXRzL0ltYWdlcy9lbGVtZW50ZS9kcm9wZG93bi0taG92ZXIucG5nKTsgfVxuXG4uZXNTZWxlY3RCb3guZHgtc2VsZWN0Ym94LFxuLmVzTnVtYmVyQm94LmR4LW51bWJlcmJveCB7XG4gICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5oaWRkZW5JbnB1dCB7XG4gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICB3aWR0aDogMDtcbiAgIGhlaWdodDogMDsgfVxuXG4uZXNGb3JtdWxhcl9fZm9ybXVsYXJmZWxkTWl0QmlsZCB7XG4gICBtYXgtd2lkdGg6IDEwMCU7XG4gICBtYXJnaW4tdG9wOiA3cHg7IH1cblxuI2VzRm9ybVVwZGF0ZSB7XG4gICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uZXNGZWhsZXIgLmhlbHAtYmxvY2ssXG4uZXNGZWhsZXIgLmVzRm9ybV9fbGFiZWwsXG4uZXNGZWhsZXIgLnJhZGlvLFxuLmVzRmVobGVyIC5jaGVja2JveCxcbi5lc0ZlaGxlciAucmFkaW8taW5saW5lLFxuLmVzRmVobGVyIC5jaGVja2JveC1pbmxpbmUsXG4uZXNGZWhsZXIgLnJhZGlvIGxhYmVsLFxuLmVzRmVobGVyIC5jaGVja2JveCBsYWJlbCxcbi5lc0ZlaGxlciAucmFkaW8taW5saW5lIGxhYmVsLFxuLmVzRmVobGVyIC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uZXNGZWhsZXIgLmR4LXJhZGlvYnV0dG9uIC5keC1pdGVtLWNvbnRlbnQge1xuICAgY29sb3I6ICNhOTQ0NDI7IH1cblxuLmVzRmVobGVyIC5lc0Zvcm0tY29udHJvbCxcbi5lc0ZlaGxlciAuZXNGb3JtLWdyb3VwIC5keC1kYXRlYm94LFxuLmVzRmVobGVyIC5lc0Zvcm0tZ3JvdXAgLmR4LWRhdGVib3guZHgtc3RhdGUtZm9jdXNlZCxcbi5lc0ZlaGxlciAuZXNTZWxlY3RCb3ggLmR4LXRleHRlZGl0b3ItY29udGFpbmVyIHtcbiAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjsgfVxuXG4uZXNGZWhsZXIgLmVzRm9ybS1jb250cm9sLFxuLmVzRmVobGVyIC5lc0Zvcm0tZ3JvdXAgLmR4LWRhdGVib3gsXG4uZXNGZWhsZXIgLmVzRm9ybS1ncm91cCAuZHgtZGF0ZWJveC5keC1zdGF0ZS1mb2N1c2VkIHtcbiAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gICAuZXNGZWhsZXIgLmVzRm9ybS1jb250cm9sLmVzRm9ybS1jb250cm9sLS1kYXRlQm94LFxuICAgLmVzRmVobGVyIC5lc0Zvcm0tZ3JvdXAgLmR4LWRhdGVib3guZXNGb3JtLWNvbnRyb2wtLWRhdGVCb3gsXG4gICAuZXNGZWhsZXIgLmVzRm9ybS1ncm91cCAuZHgtZGF0ZWJveC5keC1zdGF0ZS1mb2N1c2VkLmVzRm9ybS1jb250cm9sLS1kYXRlQm94IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmVzRmVobGVyIC5lc0ZpbGV1cGxvYWRlcl9fZHJvcHpvbmUge1xuICAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyOyB9XG5cbi5lc0ZlaGxlci1IdG1sNVZhbGlkLFxuLmVzRmVobGVyLWJhY2tlbmQsXG4uZXNGZWhsZXIta2VpblN0ZXJuQXVzZ2V3YWVobHQsXG4uZXNGZWhsZXItaGlud2VpcyB7XG4gICBjb2xvcjogI2E5NDQ0MjtcbiAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmVzRmVobGVyLUh0bWw1VmFsaWQsXG4uZXNGZWhsZXItYmFja2VuZCxcbi5lc0ZlaGxlci1rZWluU3Rlcm5BdXNnZXdhZWhsdCB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbi5lc0ZlaGxlci1oaW53ZWlzIHtcbiAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5lc0ZlaGxlci1SYWRpb2J1dHRvbkZlaGxlcm1lbGR1bmcge1xuICAgbWFyZ2luLXRvcDogMDtcbiAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmVzRmVobGVyIC5lc0ZlaGxlci1iYWNrZW5kIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZXNGZWhsZXIgLmVzTm9WYWxpZGF0aW9uLFxuLmVzRmVobGVyIC5lc05vVmFsaWRhdGlvbjpmb2N1cyB7XG4gICBib3JkZXItY29sb3I6ICNkYmRiZGI7XG4gICBib3gtc2hhZG93OiBub25lOyB9XG5cbi52YWxpZGF0aW9uQm94UGFyZW50IHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmFsaWRhdGlvbkJveCB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBsZWZ0OiAwO1xuICAgei1pbmRleDogMTUwMjtcbiAgIHBhZGRpbmc6IDVweDtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7XG4gICBjb2xvcjogI2ZmZjtcbiAgIGZvbnQtc2l6ZTogMTEuOXB4OyB9XG5cbi5lc0Zvcm11bGFyX19kYXRlbnNjaHV0ekhpbndlaXNLb250YWt0YmlsZCB7XG4gICBjb2xvcjogIzk0MTkxNCAhaW1wb3J0YW50O1xuICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgIC5lc0Zvcm11bGFyX19kYXRlbnNjaHV0ekhpbndlaXNLb250YWt0YmlsZCBhIHtcbiAgICAgIGNvbG9yOiAjOTQxOTE0ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZm9ybS1jb250cm9sIHtcbiAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICBoZWlnaHQ6IDM4cHg7IH1cblxuLyogZXNCZXdlcnR1bmdzYm9nZW4gdW5kIGVzRm9ybXVsYXJncm91cCovXG4uZXNCZXdlcnR1bmdzYm9nZW4ge1xuICAgbWFyZ2luLXRvcDogMTdweDsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW5fX3dyYXBwZXJBdWZrbGFwcGVuVW5kQWJnZXNjaGxvc3NlbkhpbndlaXMsXG4uZXNGb3JtdWxhcmdyb3VwX193cmFwcGVyQXVma2xhcHBlblVuZEFiZ2VzY2hsb3NzZW5IaW53ZWlzIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbl9fYWxsZUF1ZlVuZFp1a2xhcHBlbixcbi5lc0Zvcm11bGFyZ3JvdXBfX2FsbGVBdWZVbmRadWtsYXBwZW4ge1xuICAgbWFyZ2luOiAxMHB4IDcwcHggMTVweCAwO1xuICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgcGFkZGluZzogMDtcbiAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgIC5lc0Jld2VydHVuZ3Nib2dlbl9fYWxsZUF1ZlVuZFp1a2xhcHBlbltkYXRhLXN0YXRlPVwiY2xvc2VkXCJdOmJlZm9yZSxcbiAgIC5lc0Zvcm11bGFyZ3JvdXBfX2FsbGVBdWZVbmRadWtsYXBwZW5bZGF0YS1zdGF0ZT1cImNsb3NlZFwiXTpiZWZvcmUge1xuICAgICAgY29udGVudDogJysnOyB9XG4gICAuZXNCZXdlcnR1bmdzYm9nZW5fX2FsbGVBdWZVbmRadWtsYXBwZW5bZGF0YS1zdGF0ZT1cIm9wZW5lZFwiXTpiZWZvcmUsXG4gICAuZXNGb3JtdWxhcmdyb3VwX19hbGxlQXVmVW5kWnVrbGFwcGVuW2RhdGEtc3RhdGU9XCJvcGVuZWRcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICctJzsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW5fX2FiZ2VzY2hsb3NzZW5IaW53ZWlzIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbl9fYW5zY2hyZWliZW4ge1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW4gLmVzRm9ybXVsYXJncm91cCB7XG4gICBtYXJnaW4tYm90dG9tOiAxM3B4OyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbiAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkIC5lc0Zvcm11bGFyZ3JvdXBfX3RpdGxlIHtcbiAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgIC5lc0Jld2VydHVuZ3Nib2dlbiAuZXNGb3JtdWxhcmdyb3VwX19oZWFkIC5lc0Zvcm11bGFyZ3JvdXBfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cblxuLmVzQmV3ZXJ0dW5nc2JvZ2VuIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQge1xuICAgcGFkZGluZy10b3A6IDI3cHg7XG4gICBtYXJnaW4tYm90dG9tOiAyN3B4OyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbiAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdDpsYXN0LW9mLXR5cGUgLmVzRm9ybXVsYXJncm91cF9faGVhZCB7XG4gICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbl9fY29tYm9ib3gge1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXgtd2lkdGg6IDI1MHB4OyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbl9fcmFkaW9idXR0b24ge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgcGFkZGluZy10b3A6IDFweDtcbiAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmVzQmV3ZXJ0dW5nc2JvZ2VuX19yYWRpb2J1dHRvbi0tbWl0U3BhbkxhYmVsIHtcbiAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4vKiBBYndhbmRsdW5nLCBiZWkgZGVyIGVpbiBrdXJ6ZXMgTGFiZWwgdW50ZXJoYWxiIGRlcyBSYWRpb2J1dHRvbnMgc3RlaHQqL1xuLmVzQmV3ZXJ0dW5nc2JvZ2VuX19yYWRpb1dyYXBwZXItLXZlcnRpa2FsIHtcbiAgIG1hcmdpbi10b3A6IDA7IH1cbiAgIC5lc0Jld2VydHVuZ3Nib2dlbl9fcmFkaW9XcmFwcGVyLS12ZXJ0aWthbCAuZXNCZXdlcnR1bmdzYm9nZW5fX3JhZGlvYnV0dG9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDE1cHggMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxcHg7IH1cbiAgIC5lc0Jld2VydHVuZ3Nib2dlbl9fcmFkaW9XcmFwcGVyLS12ZXJ0aWthbCAuZXNCZXdlcnR1bmdzYm9nZW5fX3JhZGlvTGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgIC5lc0Jld2VydHVuZ3Nib2dlbl9fcmFkaW9XcmFwcGVyLS12ZXJ0aWthbCAuZXNCZXdlcnR1bmdzYm9nZW5fX3JhZGlvSW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbl9fYmV6ZWljaG51bmcge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbl9fZnJhZ2Uge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbiAuZm9ybS1ncm91cCB7XG4gICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lc0Jld2VydHVuZ3Nib2dlbiAuZm9ybS1jb250cm9sIHtcbiAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmVzQmV3ZXJ0dW5nc2JvZ2VuX19ibG9ja0Jlc2NocmVpYnVuZyB7XG4gICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgcGFkZGluZzogMCAwIDAgMjFweDsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW5fX3NwZWljaGVybkJ1dHRvbiB7XG4gICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLmVzQmV3ZXJ0dW5nc2JvZ2VuX19hYnNjaGxpZXNzZW5CdXR0b24sXG4uZXNCZXdlcnR1bmdzYm9nZW5fX3NwZWljaGVybkJ1dHRvbiB7XG4gICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIFVudGVyc2NoZWlkZSBEYXJzdGVsbHVuZyBkZXMgQmV3ZXJ0dW5nc3B1bmt0ZXMgYW5oYW5kIGRlciB2ZXJ3ZW5kZXRlbiBGb3JtdWxhcmdydXBwZSAqL1xuLmVzRm9ybXVsYXJncm91cC0tZWluZ2VydWVja3QgLmVzQmV3ZXJ0dW5nc2JvZ2VuX19iZXdlcnR1bmdzcHVua3QsXG4uZXNCZXdlcnR1bmdzYm9nZW5BbnplaWdlX19lbGVtZW50IHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgcGFkZGluZzogMjBweDtcbiAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgLmVzRm9ybXVsYXJncm91cC0tZWluZ2VydWVja3QgLmVzQmV3ZXJ0dW5nc2JvZ2VuX19iZXdlcnR1bmdzcHVua3Q6bGFzdC1jaGlsZCxcbiAgIC5lc0Jld2VydHVuZ3Nib2dlbkFuemVpZ2VfX2VsZW1lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lc0Zvcm11bGFyZ3JvdXAtLWZ1bGxXaWR0aCAuZXNCZXdlcnR1bmdzYm9nZW5fX2Jld2VydHVuZ3NwdW5rdCB7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1mdWxsV2lkdGggLmVzQmV3ZXJ0dW5nc2JvZ2VuX19iZXdlcnR1bmdzcHVua3Q6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lc0Zvcm11bGFyZ3JvdXAtLWZ1bGxXaWR0aCAuZm9ybS1jb250cm9sIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBlc0Jld2VydHVuZ3Nib2dlbkFuemVpZ2UgKi9cbi5lc0Jld2VydHVuZ3Nib2dlbkFuemVpZ2VfX2VsZW1lbnQge1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW5BbnplaWdlX19mcmFnZSB7XG4gICBjb2xvcjogIzAwMDAwMDtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmVzRm9ybXVsYXJfX2Zvcm1XaXRoRm9ybWdyb3VwIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLXdpdGhCYWNrZ3JvdW5kIHtcbiAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW5BbnplaWdlX19jb21ib2JveCxcbi5lc0Jld2VydHVuZ3Nib2dlbkFuemVpZ2VfX3JhZGlvYnV0dG9ucyxcbi5lc0Jld2VydHVuZ3Nib2dlbkFuemVpZ2VfX21lbW8ge1xuICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2VsYnN0ZWluc2Now6R0enVuZyAqL1xuLmVzU2VsYnN0ZWluc2NoYWV0enVuZyB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLmVzU2VsYnN0ZWluc2NoYWV0enVuZ19fa29tbWVudGFyIHtcbiAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgIC5lc1NlbGJzdGVpbnNjaGFldHp1bmdfX2tvbW1lbnRhciAuZXNINSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uZXNTZWxic3RlaW5zY2hhZXR6dW5nX19rb21tZW50YXIgLmZvcm0tY29udHJvbCB7XG4gICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5lc1NlbGJzdGVpbnNjaGFldHp1bmdfX3dlcnQge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgLmVzU2VsYnN0ZWluc2NoYWV0enVuZyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgLmVzU2VsYnN0ZWluc2NoYWV0enVuZ19fd2VydCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAzO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgIC5lc1NlbGJzdGVpbnNjaGFldHp1bmdfX2Fic2VuZGVuIHtcbiAgICAgIGZsZXg6IDI7IH1cbiAgICAgIC5lc1NlbGJzdGVpbnNjaGFldHp1bmdfX2Fic2VuZGVuIC5idG4ge1xuICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAuZXNTZWxic3RlaW5zY2hhZXR6dW5nX19rb21tZW50YXIge1xuICAgICAgZmxleDogNTsgfSB9XG5cbi8qIEZvcm11bGFyaW5zdGFuemVuICovXG4uZXNGb3JtdWxhcndyYXBwZXIge1xuICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZXNGb3JtdWxhcndyYXBwZXJfX2FkZEZvcm0ge1xuICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5lc0Zvcm11bGFyaW5zdGFueiB7XG4gICBwYWRkaW5nOiAxNXB4O1xuICAgcGFkZGluZy1yaWdodDogMDtcbiAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc0Zvcm11bGFyaW5zdGFueiB7XG4gICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4uZXNGb3JtdWxhcmluc3RhbnpfX3RlaWxuZWhtZXIge1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uZXNGb3JtdWxhcmluc3RhbnpfX3RlaWxuZWhtZXJVZWJlcnNjaHJpZnQge1xuICAgZm9udC1zaXplOiAyLjJyZW07XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZXNGb3JtdWxhcmluc3RhbnpfX2Zvcm11bGFyYXVzd2FobCB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgIC5lc0Zvcm11bGFyaW5zdGFuel9fZm9ybXVsYXJhdXN3YWhsIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgLmVzRm9ybXVsYXJpbnN0YW56X19mb3JtdWxhcmF1c3dhaGwgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfVxuXG4uZXNGb3JtdWxhcmluc3RhbnpfX3ByZWlzIHtcbiAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgcGFkZGluZzogMTBweCAwIDAgMTBweDtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4uZXNGb3JtdWxhcmluc3RhbnpfX2ljb24ge1xuICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICBmb250LXNpemU6IDIuNXJlbTtcbiAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgIC5lc0Zvcm11bGFyaW5zdGFuel9faWNvbi5lc0Zvcm11bGFyaW5zdGFuel9fbG9lc2NoZW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuZXNGb3JtdWxhcmluc3RhbnpfX2ljb24uZXNGb3JtdWxhcmluc3RhbnpfX2xvZXNjaGVuOmhvdmVyIHtcbiAgICAgICAgIGNvbG9yOiAjYTk0NDQyOyB9XG4gICAuZXNGb3JtdWxhcmluc3RhbnpfX2ljb24uZXNGb3JtdWxhcmluc3RhbnpfX2tvbnRha3R2ZXJrbnVlcGZ1bmcge1xuICAgICAgY29sb3I6ICM2QjZCNkI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQgLmVzRm9ybXVsYXJpbnN0YW56Omxhc3QtY2hpbGQge1xuICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZXNGb3JtdWxhck1pdENvbnRyb2xsZXIgLmVzRm9ybXVsYXJfX2hyVm9yQnV0dG9uIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgIC5lc0Zvcm11bGFyaW5zdGFueiB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc0Zvcm11bGFyaW5zdGFueiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAuZXNGb3JtdWxhciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLmVzSW5wdXRncm91cCB7XG4gICBoZWlnaHQ6IDM4cHg7XG4gICBmb250LXNpemU6IDEuNHJlbTtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAuZXNJbnB1dGdyb3VwX19pbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuICAgICAgLmVzSW5wdXRncm91cF9faW5wdXQgLmVzSW5wdXRncm91cF9fYmV6ZWljaG51bmdXcmFwcGVyIHtcbiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgIG1heC1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgY29sb3I6ICNhYWE7IH1cbiAgICAgICAgIC5lc0lucHV0Z3JvdXBfX2lucHV0IC5lc0lucHV0Z3JvdXBfX2JlemVpY2hudW5nV3JhcHBlcjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJy4uLic7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAgICAuZXNJbnB1dGdyb3VwX19pbnB1dCAuZXNJbnB1dGdyb3VwX19iZXplaWNobnVuZ1dyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTAuMmVtO1xuICAgICAgICAgICAgLypyaWdodDogLTAuMTVlbTsqL1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgLmVzSW5wdXRncm91cF9faW5wdXQgLmVzSW5wdXRncm91cF9fYmV6ZWljaG51bmdXcmFwcGVyOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAgICAgLmVzSW5wdXRncm91cF9faW5wdXQgLmVzSW5wdXRncm91cF9fYmV6ZWljaG51bmcge1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAuZXNJbnB1dGdyb3VwX19pbnB1dCAuZXNJbnB1dGdyb3VwX19iZXplaWNobnVuZzplbXB0eTpub3QoOmZvY3VzKTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihwbGFjZWhvbGRlcik7XG4gICAgICAgICAgICBjb2xvcjogI2FhYTsgfVxuICAgICAgLmVzSW5wdXRncm91cF9faW5wdXQgLmljb24tc3RhdHVzOmJlZm9yZSB7XG4gICAgICAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgdG9wOiA1cHg7IH1cbiAgICAgIC5lc0lucHV0Z3JvdXBfX2lucHV0IC5keC1pY29uLWNsb3NlIHtcbiAgICAgICAgIGZvbnQ6IDE4cHgvMSBEWEljb25zO1xuICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgY29sb3I6ICM5Nzk3OTc7IH1cbiAgIC5lc0lucHV0Z3JvdXBfX2FkZG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkYmRiZGI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9XG5cbi8qLS0tLS0tLS1Bbm1lbGR1bmcgZHJpdHRlci0tLS0tLS0tLS0qL1xuLmNvbnRyb2xsZXJfX2tpcC5hY3Rpb25fX2FubWVsZHVuZyAuZXNMYXlvdXRfbWFpbl9pbm5lci0tb3ZlcmZsb3ctYXV0byxcbi5jb250cm9sbGVyX19wdW4uYWN0aW9uX19kb2t1bWVudGllcmVuIC5lc0xheW91dF9tYWluX2lubmVyLS1vdmVyZmxvdy1hdXRvLFxuLmNvbnRyb2xsZXJfX3B1bi5hY3Rpb25fX2JlYXJiZWl0ZW4gLmVzTGF5b3V0X21haW5faW5uZXItLW92ZXJmbG93LWF1dG8ge1xuICAgb3ZlcmZsb3c6IGF1dG87IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAuY29udHJvbGxlcl9fa2lwLmFjdGlvbl9fYW5tZWxkdW5nIC5lc0xheW91dF9tYWluX2lubmVyID4gZGl2LFxuICAgLmNvbnRyb2xsZXJfX3B1bi5hY3Rpb25fX2Rva3VtZW50aWVyZW4gLmVzTGF5b3V0X21haW5faW5uZXIgPiBkaXYsXG4gICAuY29udHJvbGxlcl9fcHVuLmFjdGlvbl9fYmVhcmJlaXRlbiAuZXNMYXlvdXRfbWFpbl9pbm5lciA+IGRpdiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAubGF5b3V0X19wcmVzZW50YXRpb24uY29udHJvbGxlcl9fa2lwLmFjdGlvbl9fYW5tZWxkdW5nIC5lc0xheW91dF9tYWluX2lubmVyID4gZGl2LCAubGF5b3V0X19wcmVzZW50YXRpb24uY29udHJvbGxlcl9fcHVuLmFjdGlvbl9fZG9rdW1lbnRpZXJlbiAuZXNMYXlvdXRfbWFpbl9pbm5lciA+IGRpdiwgLmxheW91dF9fcHJlc2VudGF0aW9uLmNvbnRyb2xsZXJfX3B1bi5hY3Rpb25fX2JlYXJiZWl0ZW4gLmVzTGF5b3V0X21haW5faW5uZXIgPiBkaXYge1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG5cbi5lc0Zvcm11bGFyd3JhcHBlci0tS2lwQW5tZWxkdW5nLFxuLmVzRm9ybXVsYXJ3cmFwcGVyLS1QdW5Eb2t1bWVudGllcmVuLFxuLmVzRm9ybXVsYXJ3cmFwcGVyLS1QdW5CZWFyYmVpdGVuIHtcbiAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc0Zvcm11bGFyd3JhcHBlci0tS2lwQW5tZWxkdW5nLFxuLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc0Zvcm11bGFyd3JhcHBlci0tUHVuRG9rdW1lbnRpZXJlbixcbi5sYXlvdXRfX3ByZXNlbnRhdGlvbiAuZXNGb3JtdWxhcndyYXBwZXItLVB1bkJlYXJiZWl0ZW4ge1xuICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1mb3JtcyB7XG4gICBmbGV4LWdyb3c6IDE7XG4gICBmbGV4LWJhc2lzOiAwO1xuICAgcGFkZGluZy1yaWdodDogM3B4OyB9XG5cbi5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiB7XG4gICBtYXJnaW4tbGVmdDogMTVweDtcbiAgIGZsZXgtc2hyaW5rOiAwO1xuICAgei1pbmRleDogMjsgfVxuXG4uZ2xvYmFsRm9ybXVsYXItd3JhcHBlciB7XG4gICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5mb3JtdWxhci1nbG9iYWxGb3JtdWxhclVuZFBsYXR6aGFsdGVyICNnbG9iYWxGb3JtdWxhckNvbnRlbnQgLmVzRm9ybXVsYXJncnVwcGUge1xuICAgYmFja2dyb3VuZDogI2ZhZmFmYTsgfVxuXG4jdGVpbG5laG1lcnN0ZXVlcnVuZy13cmFwcGVyLmNvbGxhcHNlLFxuI3RlaWxuZWhtZXJzdGV1ZXJ1bmctd3JhcHBlci5jb2xsYXBzZS5pbiB7XG4gICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGVpbG5laG1lcnN0ZXVlcnVuZ0JveF9fYnV0dG9uV3JhcHBlciB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbi50ZWlsbmVobWVyc3RldWVydW5nQm94X19idXR0b24ge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgLmZvcm11bGFyLWdsb2JhbEZvcm11bGFyVW5kUGxhdHpoYWx0ZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgLnRlaWxuZWhtZXJzdGV1ZXJ1bmdCb3hfX2J1dHRvbldyYXBwZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cbiAgIC50ZWlsbmVobWVyc3RldWVydW5nQm94X19idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgIC50ZWlsbmVobWVyc3RldWVydW5nQm94X19oZWFkaW5nRGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAjdGVpbG5laG1lcnN0ZXVlcnVuZy13cmFwcGVyLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICN0ZWlsbmVobWVyc3RldWVydW5nLXdyYXBwZXIuY29sbGFwc2UuaW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLnRlaWxuZWhtZXJzdGV1ZXJ1bmctY29sbGFwc2VUcmlnZ2VyTW9iaWxlIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC5mb3Jtc2VsZWN0aW9uLFxuLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC50ZWlsbmVobWVyc3RldWVydW5nIHtcbiAgIHdpZHRoOiAxMDAlOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC5mb3Jtc2VsZWN0aW9uLFxuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC50ZWlsbmVobWVyc3RldWVydW5nIHtcbiAgICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24gYnV0dG9uLFxuICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC50ZWlsbmVobWVyc3RldWVydW5nIGJ1dHRvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24gYnV0dG9uOmxhc3Qtb2YtdHlwZSxcbiAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAudGVpbG5laG1lcnN0ZXVlcnVuZyBidXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAuZm9ybXNlbGVjdGlvbiBidXR0b24gc3BhbltjbGFzc149XCJpY29uXCJdOmJlZm9yZSxcbiAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAudGVpbG5laG1lcnN0ZXVlcnVuZyBidXR0b24gc3BhbltjbGFzc149XCJpY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24sXG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLnRlaWxuZWhtZXJzdGV1ZXJ1bmcge1xuICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC5mb3Jtc2VsZWN0aW9uIGJ1dHRvbixcbiAgICAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAudGVpbG5laG1lcnN0ZXVlcnVuZyBidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH1cbiAgICAgICAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAuZm9ybXNlbGVjdGlvbiBidXR0b24gLmljb24tcGx1cyxcbiAgICAgICAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAudGVpbG5laG1lcnN0ZXVlcnVuZyBidXR0b24gLmljb24tcGx1cyB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC5mb3Jtc2VsZWN0aW9uLWxpc3QsXG4uZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLnRlaWxuZWhtZXJzdGV1ZXJ1bmctdGVpbG5laG1lcmxpc3RlIHtcbiAgIHBhZGRpbmc6IDVweCAwO1xuICAgb3ZlcmZsb3cteTogYXV0bztcbiAgIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC5mb3Jtc2VsZWN0aW9uLWxpc3QtdGl0ZWwsXG4uZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLnRlaWxuZWhtZXJzdGV1ZXJ1bmctdGVpbG5laG1lcmxpc3RlLXRpdGVsIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4uZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbSB7XG4gICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCA1cHg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNGQUZBRkE7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiAuZm9ybXNlbGVjdGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbTpub3QoLmZvcm1zZWxlY3Rpb24taXRlbS0tbm90Q2xpY2thYmxlKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbS0taWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbS0taW52YWxpZGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2E5NDQ0MjtcbiAgICAgIG1hcmdpbjogM3B4IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbSAuZm9ybXNlbGVjdGlvbi1pdGVtLS1pZCB7XG4gICAgICBmbGV4LWJhc2lzOiAyMXB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbSAuZm9ybXNlbGVjdGlvbi1pdGVtLS1pbm5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbSAuZm9ybXNlbGVjdGlvbi1pdGVtLS1pbm5lciAuZm9ybXNlbGVjdGlvbi1pdGVtLS1uYW1lIHtcbiAgICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIC5mb3Jtc2VsZWN0aW9uLWl0ZW0gLmZvcm1zZWxlY3Rpb24taXRlbS0taWNvbi5pY29uLWxpbmstMyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbSAuZm9ybXNlbGVjdGlvbi1pdGVtLS1pY29uLmR4LWljb24tY2xvc2Uge1xuICAgICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tOyB9XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmZvcm1zZWxlY3Rpb24taXRlbSAuZm9ybXNlbGVjdGlvbi1pdGVtLS1pY29uLmR4LWljb24tY2xvc2U6aG92ZXIge1xuICAgICAgICAgY29sb3I6ICNhOTQ0NDI7IH1cblxuLyppbSBtb2JpbGVyIHVuZCB0YWJsZXQgQW5zaWNodCBzb2xsIGRlciBQbGF0eiBuaWNodCB2ZXJzY2hlbmt0IHdlcmRlbiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgLmNvbnRyb2xsZXJfX2tpcC5hY3Rpb25fX2FubWVsZHVuZyAjZm9ybXVsYXJDb250ZW50LFxuICAgLmNvbnRyb2xsZXJfX2tpcC5hY3Rpb25fX2FubWVsZHVuZyAjZ2xvYmFsRm9ybXVsYXJDb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAuY29udHJvbGxlcl9fa2lwLmFjdGlvbl9fYW5tZWxkdW5nIC5lc0Zvcm11bGFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgIC5jb250cm9sbGVyX19raXAuYWN0aW9uX19hbm1lbGR1bmcgLmVzQnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci13cmFwcGVyIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1mb3JtcyB7XG4gICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24ge1xuICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICB0b3A6IDA7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItaW50ZXJhY3Rpb24gLmVzQnV0dG9uYm94LS1vcGVuIC5lc0J1dHRvbmJveF9fdWViZXJnYW5nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTFweDsgfVxuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLXdyYXBwZXIgLnRlaWxuZWhtZXJzdGV1ZXJ1bmctY29sbGFwc2VUcmlnZ2VyTW9iaWxlIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAudGVpbG5laG1lcnN0ZXVlcnVuZy1jb2xsYXBzZVRyaWdnZXJNb2JpbGUgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICAgICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAudGVpbG5laG1lcnN0ZXVlcnVuZy1jb2xsYXBzZVRyaWdnZXJNb2JpbGUgc3BhbltjbGFzc149XCJpY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcNjRcIjsgfVxuICAgICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLXdyYXBwZXIgLnRlaWxuZWhtZXJzdGV1ZXJ1bmctY29sbGFwc2VUcmlnZ2VyTW9iaWxlLmNvbGxhcHNlZCBzcGFuW2NsYXNzXj1cImljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAudGVpbG5laG1lcnN0ZXVlcnVuZyB7XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9XG4gICAgICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAudGVpbG5laG1lcnN0ZXVlcnVuZyA+IGJ1dHRvbiA+IHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLXdyYXBwZXIgLnRlaWxuZWhtZXJzdGV1ZXJ1bmctdGVpbG5laG1lckhpbnp1ZnVlZ2VuLFxuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLXdyYXBwZXIgLnRlaWxuZWhtZXJzdGV1ZXJ1bmctYXVzQWRyZXNzYnVjaExhZGVuIHtcbiAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItd3JhcHBlciAudGVpbG5laG1lcnN0ZXVlcnVuZy1hdXNBZHJlc3NidWNoTGFkZW4ge1xuICAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci13cmFwcGVyIC50ZWlsbmVobWVyc3RldWVydW5nLXRlaWxuZWhtZXJIaW56dWZ1ZWdlbiB7XG4gICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLXdyYXBwZXIgLnRlaWxuZWhtZXJzdGV1ZXJ1bmctdGVpbG5laG1lcmxpc3RlIHtcbiAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICBvcmRlcjogMzsgfVxuICAgICAgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLXdyYXBwZXIgLnRlaWxuZWhtZXJzdGV1ZXJ1bmctdGVpbG5laG1lcmxpc3RlLXRlaWxuZWhtZXIge1xuICAgICAgICAgbWF4LWhlaWdodDogMTk1cHg7XG4gICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAuZm9ybXVsYXItZ2xvYmFsRm9ybXVsYXJVbmRQbGF0emhhbHRlciAjZ2xvYmFsRm9ybXVsYXJDb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICNnbG9iYWxGb3JtdWxhckNvbnRlbnQgLmVzRm9ybXVsYXJncm91cC0tZ3J1cHBlbmxvcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uZXNGb3JtdWxhcmZlbGQtLUF1c3dhaGxHZW5laG1pZ2VyIC5lc0lucHV0Z3JvdXBfX2lucHV0IHtcbiAgIHotaW5kZXg6IDE7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmVzRm9ybXVsYXJmZWxkLS1BdXN3YWhsR2VuZWhtaWdlciAuZXNJbnB1dGdyb3VwX19kZWxldGUge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLUF1c3dhaGxHZW5laG1pZ2VyIC5lc0lucHV0Z3JvdXBfX2FkZG9uOmJlZm9yZSB7XG4gICBmb250LWZhbWlseTogJ2Vhc3lTb2Z0LVB1Ymxpc2gnICFpbXBvcnRhbnQ7XG4gICBjb250ZW50OiBcIlxcZTkwNVwiOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tQXVzd2FobEdlbmVobWlnZXIgLmhpZGRlbklucHV0IHtcbiAgIHotaW5kZXg6IC0xO1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLUF1c3dhaGxHZW5laG1pZ2VyLmVzRm9ybXVsYXJmZWxkLS1oYXRJbmhhbHQgLmVzSW5wdXRncm91cF9faW5wdXQge1xuICAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4uZXNGb3JtdWxhcmZlbGQtLUF1c3dhaGxHZW5laG1pZ2VyLmVzRm9ybXVsYXJmZWxkLS1oYXRJbmhhbHQgLmVzSW5wdXRncm91cF9fYmV6ZWljaG51bmdXcmFwcGVyIHtcbiAgIGNvbG9yOiAjMzMzOyB9XG5cbi5lc0Zvcm11bGFyZmVsZC0tQXVzd2FobEdlbmVobWlnZXIuZXNGb3JtdWxhcmZlbGQtLWhhdEluaGFsdCAuZXNJbnB1dGdyb3VwX19kZWxldGUge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgcmlnaHQ6IDEwcHg7IH1cblxuLypcclxuICAgU3BlemlhbGZhbGwgVnVlLVNQQSBtaXQgTWVocmZhY2hmb3JtdWxhciwgZsO8ciBkYXMgZXMga2VpbmUgSlMtSMO2aGVuYmVyZWNobnVuZyBnZWJlbiBzb2xsLlxyXG4gICBBdWYgbW9iaWxlIGFsbGVzIHNjaMO2biB1bnRlcmVpbmFuZGVyLCBkYWhlciBkZXIgQnJlYWtwb2ludCBmw7xyIFN0eWxlcyBhYiBjYS4gVGFibGV0Z3LDtsOfZVxyXG4qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgIC5jb250cm9sbGVyX19xYWwgLmVzRm9ybXVsYXJncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAuY29udHJvbGxlcl9fcWFsIC5lc1ZvbGxlU2VpdGVuYnJlaXRlTWl0TWFyZ2luIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTVweCk7IH1cbiAgIC5jb250cm9sbGVyX19xYWwgLnFhbERva3VtZW50aWVyZW4ge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4MHB4KTsgfVxuICAgLmNvbnRyb2xsZXJfX3FhbCAjZXNGb3JtdWxhciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE1cHgpOyB9XG4gICAuY29udHJvbGxlcl9fcWFsIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1pbnRlcmFjdGlvbiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG4gICAuY29udHJvbGxlcl9fcWFsIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7IH1cbiAgIC5jb250cm9sbGVyX19xYWwgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLFxuICAgLmNvbnRyb2xsZXJfX3FhbCAuZXNGb3JtdWxhck1pdENvbnRyb2xsZXItZm9ybXMsXG4gICAuY29udHJvbGxlcl9fcWFsIC5lc0Zvcm11bGFyLS1tZWhyZmFjaGFubWVsZHVuZyxcbiAgIC5jb250cm9sbGVyX19xYWwgLmVzTGF5b3V0X21haW5faW5uZXIsXG4gICAuY29udHJvbGxlcl9fcWFsICNxYWwge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAuY29udHJvbGxlcl9fcWFsIC5lc0Zvcm11bGFyTWl0Q29udHJvbGxlci1mb3JtcyxcbiAgIC5jb250cm9sbGVyX19xYWwgLmVzRm9ybXVsYXJNaXRDb250cm9sbGVyLWludGVyYWN0aW9uIHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuXG4ubGF5b3V0X19wcmVzZW50YXRpb24uY29udHJvbGxlcl9fcWFsIC5lc0xheW91dF9tYWluX2lubmVyLFxuLmxheW91dF9fcHJlc2VudGF0aW9uLmNvbnRyb2xsZXJfX3FhbCAjcWFsIHtcbiAgIGhlaWdodDogdW5zZXQ7IH1cblxuLmVzRm9ybXVsYXJncm91cCB7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgIHdpZHRoOiAxMDAlOyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwIC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXAgLmVzRm9ybXVsYXJncm91cF9fdGl0bGUtLWFiZ2VzY2huaXR0ZW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZXNCZXdlcnR1bmdzYm9nZW4gLmVzRm9ybXVsYXJncm91cCB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgIC5lc0Jld2VydHVuZ3Nib2dlbiAuZXNGb3JtdWxhcmdyb3VwIC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IHtcbiAgIC8qIFJlY2h0cyBhbSBUaXRlbCBnaWJ0IGVzIGVpbiBrbGVpbmVzIFJlY2h0ZWNrLCBkYXMgZGVuIFN0YXR1cyBkZXIgRm9ybXVsYXJncm91cCBhbnplaWd0ICovIH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQgLmVzRm9ybXVsYXJncm91cF9fdGl0bGUsIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQ6YmVmb3JlLCAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkOmFmdGVyIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkIC5lc0Zvcm11bGFyZ3JvdXBfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxlZnQ6IDYycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkOmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYmFja2dyb3VuZDogLS0tLUFremVudC0tLS07XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgLyogLmZhIC0+IHdpcmQgbm9jaCBkdXJjaCBQdWJsaXNoLUljb24gZXJzZXR6dCovXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC8qIC5mYS1taW51cyAqL1xuICAgICAgY29udGVudDogXCJcXGYwNjhcIjsgfVxuICAgLmVzRm9ybXVsYXJncm91cC0tZWluZ2VydWVja3QgLmVzRm9ybXVsYXJncm91cF9faGVhZC5jb2xsYXBzZWQge1xuICAgICAgLyogaGVhZCBpcyBjb2xsYXBzZWQgKi8gfVxuICAgICAgLmVzRm9ybXVsYXJncm91cC0tZWluZ2VydWVja3QgLmVzRm9ybXVsYXJncm91cF9faGVhZC5jb2xsYXBzZWQuZXNGb3JtdWxhcmdyb3VwX19oZWFkOmJlZm9yZSB7XG4gICAgICAgICAvKiAuZmEtcGx1cyAqL1xuICAgICAgICAgY29udGVudDogXCJcXGYwNjdcIjtcbiAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7IH1cbiAgICAgIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQuY29sbGFwc2VkIC5lc0Zvcm11bGFyZ3JvdXBfX3RpdGxlLCAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkLmNvbGxhcHNlZC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQ6YmVmb3JlIHtcbiAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDY0cHg7IH1cbiAgICAgIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLXdpdGhCYWNrZ3JvdW5kIHtcbiAgICAgICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDY0cHg7XG4gICAgICAgICBtYXJnaW4tdG9wOiAyN3B4OyB9XG4gICAgICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19jb250ZW50LS13aXRoUGFkZGluZyB7XG4gICAgICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwX19jb250ZW50LS13aXRob3V0UGFkZGluZyB7XG4gICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwLS13aXRoU3RhdHVzIC5lc0Zvcm11bGFyZ3JvdXBfX3RpdGxlIHtcbiAgICAgIHJpZ2h0OiA2MnB4OyB9XG4gICAgICAuZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAuZXNGb3JtdWxhcmdyb3VwLS13aXRoU3RhdHVzIC5lc0Zvcm11bGFyZ3JvdXBfX3RpdGxlOmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICByaWdodDogMDtcbiAgICAgICAgIHRvcDogMDsgfVxuICAgLmVzRm9ybXVsYXJncm91cC0tZWluZ2VydWVja3QgLmVzRm9ybXVsYXJncm91cC0td2l0aFN0YXR1cyAuZXNGb3JtdWxhcmdyb3VwX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYycHg7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXAtLWVpbmdlcnVlY2t0IC5lc0Zvcm11bGFyZ3JvdXAtLXN0YXR1cy1vayAuZXNGb3JtdWxhcmdyb3VwX190aXRsZTphZnRlciB7XG4gICAgICAvKiAuZmEtY2hlY2sgKi9cbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICAgIC8qIC5mYSAtPiB3aXJkIG5vY2ggZHVyY2ggUHVibGlzaC1JY29uIGVyc2V0enQqL1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLyogZXNGb3JtdWxhcmdyb3VwLS1laW5nZXJ1ZWNrdCAqL1xuLmVzRm9ybXVsYXJncm91cC0tZ2VzcGllZ2VsdCB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1nZXNwaWVnZWx0IC5nbG9iYWxGb3JtdWxhci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXAtLWdlc3BpZWdlbHQgLmhhdXB0Rm9ybXVsYXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLWluZm9ybWF0aW9uQmFja2dyb3VuZCB7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjRDBEMENGO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTsgfVxuXG4uZXNGb3JtdWxhcmdyb3VwX19jb250ZW50LS13aXRoQmFja2dyb3VuZC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQtLXdoaXRlQmFja2dyb3VuZEFuZE5vQm9yZGVyIHtcbiAgIGJvcmRlcjogbm9uZTtcbiAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5lc0Zvcm11bGFyZ3JvdXAtLWZ1bGxXaWR0aCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICM0QTRBNEE7XG4gICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICBjb2xvcjogd2hpdGU7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBmb250LXNpemU6IDEuNXJlbTtcbiAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbGluZWFyIDAuM3M7IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXAtLWZ1bGxXaWR0aCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkLmNvbGxhcHNlZC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQge1xuICAgICAgYmFja2dyb3VuZDogI2RiZGJkYjtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgICAuZXNGb3JtdWxhcmdyb3VwLS1mdWxsV2lkdGggLmVzRm9ybXVsYXJncm91cF9faGVhZC5jb2xsYXBzZWQuZXNGb3JtdWxhcmdyb3VwX19oZWFkOmFmdGVyIHtcbiAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICBtYXJnaW4tdG9wOiAtOXB4OyB9XG4gICAuZXNGb3JtdWxhcmdyb3VwLS1mdWxsV2lkdGggLmVzRm9ybXVsYXJncm91cF9faGVhZDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiAyLjJlbTtcbiAgICAgIHdpZHRoOiAyLjJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4xZW07IH1cbiAgIC5lc0Zvcm11bGFyZ3JvdXAtLWZ1bGxXaWR0aCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFw2NFwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdlYXN5U29mdC1QdWJsaXNoJyAhaW1wb3J0YW50O1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4zczsgfVxuICAgLmVzRm9ybXVsYXJncm91cC0tZnVsbFdpZHRoIC5lc0Zvcm11bGFyZ3JvdXBfX2hlYWQtLW5vQ29sbGFwc2Uge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAuZXNGb3JtdWxhcmdyb3VwLS1mdWxsV2lkdGggLmVzRm9ybXVsYXJncm91cF9faGVhZC0tbm9Db2xsYXBzZTpiZWZvcmUsIC5lc0Zvcm11bGFyZ3JvdXAtLWZ1bGxXaWR0aCAuZXNGb3JtdWxhcmdyb3VwX19oZWFkLS1ub0NvbGxhcHNlOmFmdGVyIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVzRm9ybXVsYXJncm91cC0tZnVsbFdpZHRoIC5lc0Zvcm11bGFyZ3JvdXBfX2NvbnRlbnQge1xuICAgcGFkZGluZzogMjVweDtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNFOUVCRUM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgIC5lc0Zvcm11bGFyZ3JvdXAtLWdydXBwZW5sb3Mge1xuICAgICAgbWFyZ2luOiAwIC0yMHB4OyB9IH1cblxuc2VsZWN0LFxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAvKiBTZWxla3RvciB1ZWJlciBLbGFzc2UgenVzYWV0emxpY2gsIGRhIHNvbnN0IFNlbGVrdG9yZW4gdm9uIEJvb3RzdHJhcCBleGFrdGVyIHNpbmQgdW5kIGFuemllaGVuKi9cbiAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDM4cHg7XG4gICBwYWRkaW5nOiA2cHggMTJweDtcbiAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vSW1hZ2VzL2VsZW1lbnRlL2Ryb3Bkb3duLnBuZ1wiKTtcbiAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtc2l6ZTogYXV0byBhdXRvO1xuICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgIGJvcmRlci1jb2xvcjogI2RiZGJkYjtcbiAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBjb2xvcjogIzU1NTtcbiAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgLypEaXNhYmxlIERyb3Bkb3duLVNjaGFsdGZsYWVjaGUqL1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gICBzZWxlY3Q6Oi1tcy1leHBhbmQsXG4gICBzZWxlY3QuZm9ybS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIHNlbGVjdC5pbnB1dC1zbSxcbiAgIHNlbGVjdC5mb3JtLWNvbnRyb2wuaW5wdXQtc20ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTsgfVxuICAgc2VsZWN0IG9wdGlvbixcbiAgIHNlbGVjdC5mb3JtLWNvbnRyb2wgb3B0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDdweCAxNHB4O1xuICAgICAgY29sb3I6ICM1NTU7IH1cbiAgIHNlbGVjdDpob3ZlcixcbiAgIHNlbGVjdC5mb3JtLWNvbnRyb2w6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vSW1hZ2VzL2VsZW1lbnRlL2Ryb3Bkb3duLS1ob3Zlci5wbmdcIik7IH1cbiAgIHNlbGVjdDpkaXNhYmxlZCxcbiAgIHNlbGVjdC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlNDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgc2VsZWN0LnNlbGVjdC0tZmlsdGVyTm90U2V0LFxuICAgc2VsZWN0LmZvcm0tY29udHJvbC5zZWxlY3QtLWZpbHRlck5vdFNldCB7XG4gICAgICBjb2xvcjogI0E3QTdBNzsgfVxuICAgc2VsZWN0W2VzcGxhY2Vob2xkZXJdLFxuICAgc2VsZWN0LmZvcm0tY29udHJvbFtlc3BsYWNlaG9sZGVyXSB7XG4gICAgICBjb2xvcjogI2FhYSAhaW1wb3J0YW50OyB9XG5cbmlucHV0LnRvZ2dsZSB7XG4gICBtYXgtaGVpZ2h0OiAwO1xuICAgbWF4LXdpZHRoOiAwO1xuICAgb3BhY2l0eTogMDsgfVxuXG5pbnB1dC50b2dnbGUgKyBsYWJlbCB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAjZDVkNWQ1O1xuICAgdGV4dC1pbmRlbnQ6IC01MDAwcHg7XG4gICBoZWlnaHQ6IDI0cHg7XG4gICB3aWR0aDogNTBweDtcbiAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuaW5wdXQudG9nZ2xlICsgbGFiZWw6YmVmb3JlIHtcbiAgIGNvbnRlbnQ6IFwiXCI7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGhlaWdodDogMjRweDtcbiAgIHdpZHRoOiAyNHB4O1xuICAgdG9wOiAwO1xuICAgbGVmdDogMDtcbiAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICBiYWNrZ3JvdW5kOiByZ2JhKDE5LCAxOTEsIDE3LCAwKTtcbiAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbmlucHV0LnRvZ2dsZSArIGxhYmVsOmFmdGVyIHtcbiAgIGNvbnRlbnQ6IFwiXCI7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGhlaWdodDogMjRweDtcbiAgIHdpZHRoOiAyNHB4O1xuICAgdG9wOiAwO1xuICAgbGVmdDogMDtcbiAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG5pbnB1dC50b2dnbGU6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICB3aWR0aDogNTBweDtcbiAgIGJhY2tncm91bmQ6ICMxM2JmMTE7IH1cblxuaW5wdXQudG9nZ2xlOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICBsZWZ0OiAyNnB4O1xuICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICMxM2JmMTEsIDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnJhdGluZy1jb250YWluZXIgLmVtcHR5LXN0YXJzIC5zdGFyIHtcbiAgIGNvbG9yOiAjZmNjOTc4OyB9XG5cbi5yYXRpbmctY29udGFpbmVyIC5maWxsZWQtc3RhcnMgLnN0YXIsXG4ucmF0aW5nLWNvbnRhaW5lciAuZmlsbGVkLXN0YXJzIC5zdGFyIC5pY29uLWV2YWx1YXRpb25fMiB7XG4gICBjb2xvcjogI2ZjYzk3ODtcbiAgIHRleHQtc2hhZG93OiBub25lO1xuICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gICAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwOyB9XG5cbi5lc0RvY3VtZW50dmlld19fUGFnZVdyYXBwZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICB3aWR0aDogMTAwJTtcbiAgIG1heC13aWR0aDogOTAwcHg7XG4gICBtYXJnaW46IDg1cHggYXV0byA1MHB4O1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTZweCAwIHJnYmEoMCwgMCwgMCwgMC44MSk7XG4gICAtbW96LWJveC1zaGFkb3c6IDAgMCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjgxKTtcbiAgIGJveC1zaGFkb3c6IDAgMCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjgxKTtcbiAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgIC5lc0RvY3VtZW50dmlld19fUGFnZVdyYXBwZXIuZXNEb2N1bWVudHZpZXctLXJ0ZiB7XG4gICAgICAvKiAgVmVyc3VjaCBhbGxlIElubGluZS1TdHlsZXMgZGVzIEVkaXRvcnMgenUgw7xiZXJzY2hyZWliZW4gKi8gfVxuICAgICAgLmVzRG9jdW1lbnR2aWV3X19QYWdlV3JhcHBlci5lc0RvY3VtZW50dmlldy0tcnRmIHRhYmxlIHtcbiAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyLmVzRG9jdW1lbnR2aWV3LS1ydGYgdGFibGUgdGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5lc0RvY3VtZW50dmlld19fUGFnZVdyYXBwZXIuZXNEb2N1bWVudHZpZXctLXJ0ZiBpbWcge1xuICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyLmVzRG9jdW1lbnR2aWV3LS1ydGYgdWwgbGksXG4gICAgICAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyLmVzRG9jdW1lbnR2aWV3LS1ydGYgb2wgbGksXG4gICAgICAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyLmVzRG9jdW1lbnR2aWV3LS1ydGYgdWwgbGkgc3BhbixcbiAgICAgIC5lc0RvY3VtZW50dmlld19fUGFnZVdyYXBwZXIuZXNEb2N1bWVudHZpZXctLXJ0ZiBvbCBsaSBzcGFuLFxuICAgICAgLmVzRG9jdW1lbnR2aWV3X19QYWdlV3JhcHBlci5lc0RvY3VtZW50dmlldy0tcnRmIHAgc3BhbiB7XG4gICAgICAgICAvKmZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXN0eWxlOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7Ki8gfVxuICAgICAgLmVzRG9jdW1lbnR2aWV3X19QYWdlV3JhcHBlci5lc0RvY3VtZW50dmlldy0tcnRmIHVsIGxpLCAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyLmVzRG9jdW1lbnR2aWV3LS1ydGYgb2wgbGkge1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmVzRG9jdW1lbnR2aWV3X19QYWdlV3JhcHBlci5lc0RvY3VtZW50dmlldy0tcnRmIG9sIHtcbiAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgLmVzRG9jdW1lbnR2aWV3X19QYWdlV3JhcHBlci5lc0RvY3VtZW50dmlldy0tcnRmIHAge1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4vKldyYXBwZXIgdW0gZGllIE5hdmlnYXRpb24gbmFjaCBvYmVuIG9kZXIgdW50ZW4gYXVzIGVpbmVtIEVsZW1lbnQgaGVyYXVzenV6aWVoZW4qL1xuLmVzTmF2T2JlcmhhbGIsXG4uZXNOYXZVbnRlcmhhbGIge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgcmlnaHQ6IDA7XG4gICBsZWZ0OiAwOyB9XG5cbi5lc05hdk9iZXJoYWxiIHtcbiAgIHRvcDogLTUwcHg7IH1cblxuLmVzTmF2VW50ZXJoYWxiIHtcbiAgIGJvdHRvbTogLTUwcHg7IH1cblxuLmVzTmF2U3RpY2t5Qm90dG9tIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGJvdHRvbTogMDtcbiAgIGxlZnQ6IDA7XG4gICByaWdodDogMDsgfVxuICAgLmVzTmF2U3RpY2t5Qm90dG9tIGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNWVtOyB9XG5cbi5lc1p1cnVlY2tCdXR0b24ge1xuICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICBiYWNrZ3JvdW5kOiAjNkI2QjZCO1xuICAgZm9udC1mYW1pbHk6ICdlYXN5U29mdC1QdWJsaXNoJyAhaW1wb3J0YW50O1xuICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICBwYWRkaW5nOiAwIDEwcHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgY29sb3I6IHdoaXRlOyB9XG4gICAuZXNadXJ1ZWNrQnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcNjJcIjsgfVxuICAgLmVzWnVydWVja0J1dHRvbjpob3ZlciwgLmVzWnVydWVja0J1dHRvbjpmb2N1cywgLmVzWnVydWVja0J1dHRvbjphY3RpdmUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTsgfVxuXG4vKlN0YW5kYXJkZGVzaWduIGbDvHIgZGllIE1lbsO8LU5hdmlnYXRpb24qL1xuI2VzTGF5b3V0TmF2aWdhdGlvbiB1bCB7XG4gICBwYWRkaW5nLWxlZnQ6IDA7XG4gICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmVzTGF5b3V0TmF2aWdhdGlvbi0tYmFzaWMge1xuICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgIC5lc0xheW91dE5hdmlnYXRpb24tLWJhc2ljIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlZ3J1cHBlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgIC5lc0xheW91dE5hdmlnYXRpb24tLWJhc2ljIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlZ3J1cHBlQmV6ZWljaG51bmcge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgIC5lc0xheW91dE5hdmlnYXRpb24tLWJhc2ljIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlZ3J1cHBlQmV6ZWljaG51bmcgLmVzU3ZnSWNvbiBzdmcge1xuICAgICAgICAgZmlsbDogLS0tLU1lbnVlR3J1cHBlRm9udENvbG9yLS0tLTsgfVxuICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tYmFzaWMgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVwdW5rdGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlLWluLW91dDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tYmFzaWMgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVncnVwcGUub3BlbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tYmFzaWMgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVncnVwcGUub3BlbiAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZWdydXBwZUljb24ge1xuICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gICAuZXNMYXlvdXROYXZpZ2F0aW9uLS1iYXNpYyAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZWdydXBwZS5jbG9zZWQgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVwdW5rdGUge1xuICAgICAgbWF4LWhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAuZXNMYXlvdXROYXZpZ2F0aW9uLS1iYXNpYyAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZXB1bmt0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5lc0xheW91dE5hdmlnYXRpb24tLWJhc2ljIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlcHVua3QgYSB7XG4gICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tYmFzaWMgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVwdW5rdCBhOmhvdmVyLCAuZXNMYXlvdXROYXZpZ2F0aW9uLS1iYXNpYyAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZXB1bmt0IGE6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5lc0xheW91dE5hdmlnYXRpb24tLXN0eWxlMSB7XG4gICBiYWNrZ3JvdW5kOiAtLS0tTWVudWVHcnVwcGVCZ0NvbG9yLS0tLTsgfVxuICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tc3R5bGUxIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlZ3J1cHBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAtLS0tTWVudWVUcmVubmxpbmllQ29sb3ItLS0tOyB9XG4gICAuZXNMYXlvdXROYXZpZ2F0aW9uLS1zdHlsZTEgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVncnVwcGVCZXplaWNobnVuZyB7XG4gICAgICBwYWRkaW5nOiAyMnB4IDQ0cHggMjJweCAyNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6IC0tLS1NZW51ZUdydXBwZUZvbnRDb2xvci0tLS07IH1cbiAgICAgIC5lc0xheW91dE5hdmlnYXRpb24tLXN0eWxlMSAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZWdydXBwZUJlemVpY2hudW5nOmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQ6IC0tLS1NZW51ZUdydXBwZUJnQ29sb3JIb3Zlci0tLS07XG4gICAgICAgICBjb2xvcjogLS0tLU1lbnVlR3J1cHBlRm9udENvbG9ySG92ZXItLS0tOyB9XG4gICAgICAgICAuZXNMYXlvdXROYXZpZ2F0aW9uLS1zdHlsZTEgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVncnVwcGVCZXplaWNobnVuZzpob3ZlciAuZXNTdmdJY29uIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAtLS0tTWVudWVHcnVwcGVGb250Q29sb3JIb3Zlci0tLS07IH1cbiAgIC5lc0xheW91dE5hdmlnYXRpb24tLXN0eWxlMSAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZWdydXBwZUljb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHJpZ2h0OiAyNXB4OyB9XG4gICAuZXNMYXlvdXROYXZpZ2F0aW9uLS1zdHlsZTEgLmVzTGF5b3V0TmF2aWdhdGlvbl9fbWVudWVwdW5rdGUge1xuICAgICAgYmFja2dyb3VuZDogLS0tLU1lbnVlUHVua3RCZ0NvbG9yLS0tLTsgfVxuICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tc3R5bGUxIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlcHVua3Qge1xuICAgICAgY29sb3I6IC0tLS1NZW51ZVB1bmt0Rm9udENvbG9yLS0tLTsgfVxuICAgICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tc3R5bGUxIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlcHVua3QgYSB7XG4gICAgICAgICBwYWRkaW5nOiAyMnB4IDM4cHg7IH1cbiAgICAgIC5lc0xheW91dE5hdmlnYXRpb24tLXN0eWxlMSAuZXNMYXlvdXROYXZpZ2F0aW9uX19tZW51ZXB1bmt0OmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQ6IC0tLS1NZW51ZVB1bmt0QmdDb2xvckhvdmVyLS0tLTtcbiAgICAgICAgIGNvbG9yOiAtLS0tTWVudWVQdW5rdEZvbnRDb2xvckhvdmVyLS0tLTsgfVxuICAgICAgLmVzTGF5b3V0TmF2aWdhdGlvbi0tc3R5bGUxIC5lc0xheW91dE5hdmlnYXRpb25fX21lbnVlcHVua3QuYWN0aXZlIHtcbiAgICAgICAgIGJhY2tncm91bmQ6IC0tLS1NZW51ZVB1bmt0QmdDb2xvckhvdmVyLS0tLTtcbiAgICAgICAgIGNvbG9yOiAtLS0tTWVudWVQdW5rdEZvbnRDb2xvckhvdmVyLS0tLTsgfVxuXG4jaGFtYnVyZ2VyTWVudWUge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIHdpZHRoOiA0MHB4O1xuICAgaGVpZ2h0OiA0MHB4O1xuICAgbWFyZ2luOiAwIDNweDtcbiAgIHotaW5kZXg6IDEwMztcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uaGFtYnVyZ2VyTWVudWVfX3N0cmljaC0tb2JlbiwgLmhhbWJ1cmdlck1lbnVlX19zdHJpY2gtLXVudGVuIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGxlZnQ6IDI4JTtcbiAgIHRvcDogNTAlO1xuICAgd2lkdGg6IDQ0JTtcbiAgIGhlaWdodDogMXB4O1xuICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5oYW1idXJnZXJNZW51ZV9fc3RyaWNoLS1vYmVuOmJlZm9yZSwgLmhhbWJ1cmdlck1lbnVlX19zdHJpY2gtLXVudGVuOmJlZm9yZSB7XG4gICB3aWR0aDogMTAwJTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGNvbnRlbnQ6ICcnO1xuICAgYmFja2dyb3VuZDogLS0tLUhlYWRlckhhbWJ1cmdlck5hdkZvcmVDb2xvci0tLS07XG4gICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBlYXNlIC4xczsgfVxuXG4uaGFtYnVyZ2VyTWVudWVfX3N0cmljaC0tb2JlbjpiZWZvcmUge1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOyB9XG5cbi5oYW1idXJnZXJNZW51ZV9fc3RyaWNoLS11bnRlbjpiZWZvcmUge1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7IH1cblxuI2VzUGFnZVdyYXBwZXIubW9iaWxlTWVudWVPcGVuZWQgLmhhbWJ1cmdlck1lbnVlX19zdHJpY2gtLW9iZW4sICNlc1BhZ2VXcmFwcGVyLm1vYmlsZU1lbnVlT3BlbmVkIC5oYW1idXJnZXJNZW51ZV9fc3RyaWNoLS11bnRlbiB7XG4gICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UgLjFzOyB9XG5cbiNlc1BhZ2VXcmFwcGVyLm1vYmlsZU1lbnVlT3BlbmVkIC5oYW1idXJnZXJNZW51ZV9fc3RyaWNoLS1vYmVuOmJlZm9yZSwgI2VzUGFnZVdyYXBwZXIubW9iaWxlTWVudWVPcGVuZWQgLmhhbWJ1cmdlck1lbnVlX19zdHJpY2gtLXVudGVuOmJlZm9yZSB7XG4gICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuI2VzUGFnZVdyYXBwZXIubW9iaWxlTWVudWVPcGVuZWQgLmhhbWJ1cmdlck1lbnVlX19zdHJpY2gtLW9iZW4ge1xuICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbiNlc1BhZ2VXcmFwcGVyLm1vYmlsZU1lbnVlT3BlbmVkIC5oYW1idXJnZXJNZW51ZV9fc3RyaWNoLS11bnRlbiB7XG4gICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5lc1NsaWRlYm94IHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHJpZ2h0OiAwO1xuICAgdG9wOiA0MCU7XG4gICBtaW4taGVpZ2h0OiAxODBweDtcbiAgIHdpZHRoOiAwO1xuICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgY29sb3I6ICNmZmY7XG4gICB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZS1pbi1vdXQ7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgei1pbmRleDogMTsgfVxuXG4ubGF5b3V0X19jb250ZW50IC5lc1NsaWRlYm94IHtcbiAgIHRvcDogY2FsYyg1MCUgLSAxMTBweCk7IH1cblxuLmVzU2xpZGVib3gtLW9wZW4ge1xuICAgd2lkdGg6IDMwMHB4OyB9XG5cbi5lc1NsaWRlYm94X19jb250ZW50IHtcbiAgIHBhZGRpbmc6IDIwcHg7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNGE0YTtcbiAgIHdpZHRoOiAyNjBweDtcbiAgIG1pbi1oZWlnaHQ6IDE4MHB4OyB9XG5cbi5lc1NsaWRlYm94X19jb250ZW50SW5uZXJXcmFwcGVyIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWluLWhlaWdodDogMTQwcHg7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uZXNTbGlkZWJveF9fbHVnIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGxlZnQ6IDQ1cHg7XG4gICAvKiBzYW1lIGFzIGhlaWdodCAqL1xuICAgaGVpZ2h0OiA0NXB4O1xuICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgIHdpZHRoOiAxODBweDtcbiAgIHRvcDogMTgwcHg7XG4gICBmb250LXNpemU6IDEuNnJlbTtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZXNTbGlkZWJveC0tZnJvbVJpZ2h0IC5lc1NsaWRlYm94X19sdWcge1xuICAgbGVmdDogMDtcbiAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cblxuLmVzU2xpZGVib3hfX2x1Z0Fycm93IHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbiAgIHJpZ2h0OiAyN3B4O1xuICAgZm9udC1zaXplOiAycmVtO1xuICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5cbi5lc1NsaWRlYm94X19sdWdBcnJvdy1hY3RpdmUge1xuICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4uZXNTbGlkZWJveF9fY29udGVudEhlYWQge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZXNTbGlkZWJveF9fY29udGVudEltYWdlIHtcbiAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgIG1heC1oZWlnaHQ6IDEwOHB4O1xuICAgbWFyZ2luOiAwIDIwcHggMTBweCAwOyB9XG5cbi5lc1NsaWRlYm94X19jb250ZW50UGVyc29uIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmVzU2xpZGVib3hfX2NvbnRlbnRQZXJzb25JbmZvIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgIC5lc1NsaWRlYm94X19jb250ZW50UGVyc29uSW5mbyBzcGFuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAuZXNTbGlkZWJveC0tb3BlbiB7XG4gICAgICB3aWR0aDogNDIwcHg7IH1cbiAgIC5lc1NsaWRlYm94X19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAzODBweDsgfVxuICAgLmVzU2xpZGVib3gge1xuICAgICAgcmlnaHQ6IDE3cHg7IH1cbiAgIC5lc1NsaWRlYm94X19jb250ZW50UGVyc29uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgIC5lc1NsaWRlYm94X19jb250ZW50SW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5lc0JyZWFkY3J1bWIge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgLmVzQnJlYWRjcnVtYiB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmVzQnJlYWRjcnVtYiB1bCBsaSB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWIgdWwgbGkgYSwgLmVzQnJlYWRjcnVtYiB1bCBsaSBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBhLCAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LS0tLTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAxMHB4IDdweCAwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIHBhZGRpbmctdG9wOiA5cHg7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBhOmJlZm9yZSwgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpIHNwYW46YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBhOmFmdGVyLCAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkgc3BhbjphZnRlciB7XG4gICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpIGEuYWN0aXZlLCAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkgc3Bhbi5hY3RpdmUge1xuICAgICAgICAgYmFja2dyb3VuZDogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTsgfVxuICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpOmZpcnN0LWNoaWxkIGE6YmVmb3JlLFxuICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpOmZpcnN0LWNoaWxkIHNwYW46YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIC5lc0JyZWFkY3J1bWItLWFycm93c19fbGFzdENydW1iOmFmdGVyLCAuZXNCcmVhZGNydW1iLS1hcnJvd3NfX2xhc3RDcnVtYjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAuZXNCcmVhZGNydW1iLS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmVzQnJlYWRjcnVtYi0tdGV4dCB1bCB7XG4gICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAuZXNCcmVhZGNydW1iLS10ZXh0IGEsIC5lc0JyZWFkY3J1bWItLXRleHQgc3BhbiB7XG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWItLXRleHQgYTphZnRlciwgLmVzQnJlYWRjcnVtYi0tdGV4dCBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLXRleHQgYSB7XG4gICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICBjb2xvcjogI0E3QTdBNzsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYi0tdGV4dCBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNkI2QjZCOyB9XG4gICAgICAuZXNCcmVhZGNydW1iLS10ZXh0IGxpOmxhc3QtY2hpbGQgYTphZnRlcixcbiAgICAgIC5lc0JyZWFkY3J1bWItLXRleHQgbGk6bGFzdC1jaGlsZCBzcGFuOmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuLyogVW50ZXJzY2hlaWRlIERpc3BsYXlicmVpdGUgLT4gUGZlaWxlIG5lYmVuZWluYW5kZXIgb2RlciBtaXQgdm9sbGVyIEJyZWl0ZSB1ZWJlcmVpbmFuZGVyICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpIGEsIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBzcGFuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBhOmJlZm9yZSwgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpIHNwYW46YmVmb3JlIHtcbiAgICAgICAgIC8qIFphaGxlbndlcnRlIGpld2VpbHMgaGFsYmUgR2VzYW10aG9laGUqL1xuICAgICAgICAgYm9yZGVyLXRvcDogMTlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvcmRlci1ib3R0b206IDE5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBib3JkZXItbGVmdDogMTlweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICB0b3A6IDA7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBhOmFmdGVyLCAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkgc3BhbjphZnRlciB7XG4gICAgICAgICAvKiBaYWhsZW53ZXJ0ZSBqZXdlaWxzIGhhbGJlIEdlc2FtdGhvZWhlKi9cbiAgICAgICAgIGJvcmRlci10b3A6IDE5LjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvcmRlci1ib3R0b206IDE5LjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvcmRlci1sZWZ0OiAxOXB4IHNvbGlkIC0tLS1Ba3plbnQtLS0tO1xuICAgICAgICAgcmlnaHQ6IC0xOXB4O1xuICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICB0b3A6IDA7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaSBhLmFjdGl2ZTphZnRlciwgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpIHNwYW4uYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07IH1cbiAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaTpmaXJzdC1jaGlsZCBhLFxuICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGxpOmZpcnN0LWNoaWxkIHNwYW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogLS0tLUFremVudC1Ib3Zlci0tLS07IH1cbiAgIC5lc0JyZWFkY3J1bWItLWFycm93cyBsaS5lc0JyZWFkY3J1bWItLWFycm93c19fbGFzdENydW1iIGE6YWZ0ZXIsXG4gICAuZXNCcmVhZGNydW1iLS1hcnJvd3MgbGkuZXNCcmVhZGNydW1iLS1hcnJvd3NfX2xhc3RDcnVtYiBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICByaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAuZXNCcmVhZGNydW1iLS1hcnJvd3MgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyB1bCBsaSBhLCAuZXNCcmVhZGNydW1iLS1hcnJvd3MgdWwgbGkgc3BhbiB7XG4gICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIHVsIGxpIGE6YmVmb3JlLCAuZXNCcmVhZGNydW1iLS1hcnJvd3MgdWwgbGkgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgLyogWmFobGVud2VydGUgamV3ZWlscyBoYWxiZSBHZXNhbXRob2VoZSovXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxOXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgIHRvcDogMDsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYi0tYXJyb3dzIHVsIGxpIGE6YWZ0ZXIsIC5lc0JyZWFkY3J1bWItLWFycm93cyB1bCBsaSBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgIC8qIFphaGxlbndlcnRlIGpld2VpbHMgaGFsYmUgR2VzYW10aG9laGUqL1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTlweCBzb2xpZCAtLS0tQWt6ZW50LS0tLTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBib3R0b206IC0xNnB4OyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iLS1hcnJvd3MgdWwgbGkgYS5hY3RpdmU6YWZ0ZXIsIC5lc0JyZWFkY3J1bWItLWFycm93cyB1bCBsaSBzcGFuLmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07IH1cbiAgICAgIC5lc0JyZWFkY3J1bWItLWFycm93cyB1bCBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9IH1cblxuLmVzQnJlYWRjcnVtYi0tYXJyb3dzIC5lc0JyZWFkY3J1bWJfX2NydW1iLS1kZWFjdGl2YXRlZCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTdBN0E3OyB9XG4gICAuZXNCcmVhZGNydW1iLS1hcnJvd3MgLmVzQnJlYWRjcnVtYl9fY3J1bWItLWRlYWN0aXZhdGVkOmFmdGVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxOXB4IHNvbGlkICNBN0E3QTc7IH1cblxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uIC5lc0JyZWFkY3J1bWItLWFycm93cyB7XG4gICB3aWR0aDogMTAwJTtcbiAgIG1heC13aWR0aDogOTAwcHg7XG4gICBtYXJnaW46IDUwcHggYXV0byA1cHg7IH1cbiAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iLS1hcnJvd3MgLmVzQnJlYWRjcnVtYl9fY3J1bWItLWRlYWN0aXZhdGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNBN0E3QTc7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gLmVzQnJlYWRjcnVtYi0tYXJyb3dzIGE6YmVmb3JlLFxuICAgICAgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uIC5lc0JyZWFkY3J1bWItLWFycm93cyBzcGFuOmJlZm9yZSB7XG4gICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzZCNkI2QjsgfVxuICAgICAgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uIC5lc0JyZWFkY3J1bWItLWFycm93cyAuZXNCcmVhZGNydW1iX19jcnVtYi0tZGVhY3RpdmF0ZWQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNBN0E3QTc7IH0gfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iLS1hcnJvd3Mge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgICAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iLS1hcnJvd3MgYTpiZWZvcmUsXG4gICAgICAgICAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gLmVzQnJlYWRjcnVtYi0tYXJyb3dzIHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICM2QjZCNkI7IH1cbiAgICAgICAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iLS1hcnJvd3MgLmVzQnJlYWRjcnVtYl9fY3J1bWItLWRlYWN0aXZhdGVkOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNBN0E3QTc7IH0gfVxuXG4uZXNCcmVhZGNydW1iMiB7XG4gICB3aWR0aDogMTAwJTtcbiAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgIC5lc0JyZWFkY3J1bWIyIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAuZXNCcmVhZGNydW1iMiB1bCBsaSB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWIyIHVsIGxpID4gYSwgLmVzQnJlYWRjcnVtYjIgdWwgbGkgPiBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4OyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMiB1bCBsaSA+IGE6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyIHVsIGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgICAgICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMiB1bCBsaSBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjQTdBN0E3OyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMiB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiAjNkI2QjZCOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMiB1bCBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjQTdBN0E3OyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMiB1bCBsaTpsYXN0LWNoaWxkIGE6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyIHVsIGxpOmxhc3QtY2hpbGQgc3BhbjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCB7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpOmFmdGVyIHtcbiAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGk6Zmlyc3QtY2hpbGQgPiBhOmJlZm9yZSwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaTpmaXJzdC1jaGlsZCA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLCAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gc3BhbiB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLS0tLUFremVudC0tLS07XG4gICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggN3B4O1xuICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggN3B4IDA7XG4gICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYSAuZXNCcmVhZGNydW1iSXRlbV9fdGV4dCwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4gLmVzQnJlYWRjcnVtYkl0ZW1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYTpiZWZvcmUsIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7IH1cbiAgICAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhOmFmdGVyLCAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gc3BhbjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgLS0tLUFremVudC0tLS07XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tYWN0aXZlLCAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07IH1cbiAgICAgICAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tYWN0aXZlOmFmdGVyLCAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07IH1cbiAgICAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlciwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1saW5rOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC0tLS1Ba3plbnQtSG92ZXItLS0tO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAgICAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlcjphZnRlciwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWRlYWN0aXZhdGVkLCAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWRlYWN0aXZhdGVkIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBN0E3QTc7IH1cbiAgICAgICAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tZGVhY3RpdmF0ZWQ6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tZGVhY3RpdmF0ZWQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE5cHggc29saWQgI0E3QTdBNzsgfVxuICAgICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IGEuZXNCcmVhZGNydW1iX19pdGVtLS1sYXN0Q3J1bWI6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbGFzdENydW1iOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9XG4gICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpOmZpcnN0LWNoaWxkID4gYSwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaTpmaXJzdC1jaGlsZCBzcGFuIHtcbiAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYSwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgIG1heC13aWR0aDogMThyZW07XG4gICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tbm9NYXhXaWR0aCwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1ub01heFdpZHRoIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IGE6YmVmb3JlLCAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgLyogWmFobGVud2VydGUgamV3ZWlscyBoYWxiZSBHZXNhbXRob2VoZSovXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxOXB4IHNvbGlkIC0tLS1Ba3plbnQtLS0tO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTlweCBzb2xpZCAtLS0tQWt6ZW50LS0tLTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAtMTlweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4OyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYTphZnRlciwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICAgICAgLyogWmFobGVud2VydGUgamV3ZWlscyBoYWxiZSBHZXNhbXRob2VoZSovXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxOS4ycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxOS4ycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTlweCBzb2xpZCAtLS0tQWt6ZW50LS0tLTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTlweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4OyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZTpiZWZvcmUsIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxOXB4IHNvbGlkIC0tLS1Ba3plbnQtQWN0aXZlLS0tLTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDE5cHggc29saWQgLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZTphZnRlciwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMjpub3QoLmVzQnJlYWRjcnVtYjItLXRleHQpIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXIsIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlcjpiZWZvcmUsIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTlweCBzb2xpZCAtLS0tQWt6ZW50LUhvdmVyLS0tLTtcbiAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDE5cHggc29saWQgLS0tLUFremVudC1Ib3Zlci0tLS07IH1cbiAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyOm5vdCguZXNCcmVhZGNydW1iMi0tdGV4dCkgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlcjphZnRlciwgLmVzQnJlYWRjcnVtYjI6bm90KC5lc0JyZWFkY3J1bWIyLS10ZXh0KSB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9IH1cbiAgIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uOyB9XG4gICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpOmZpcnN0LWNoaWxkID4gYTpiZWZvcmUsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGk6Zmlyc3QtY2hpbGQgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYSwgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC0tLS1Ba3plbnQtLS0tO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDdweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDdweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGEgLmVzQnJlYWRjcnVtYkl0ZW1fX3RleHQsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuIC5lc0JyZWFkY3J1bWJJdGVtX190ZXh0IHtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGE6YmVmb3JlLCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDE5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYTphZnRlciwgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDE5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIC0tLS1Ba3plbnQtLS0tO1xuICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgICAgIGJvdHRvbTogLTEycHg7XG4gICAgICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZSwgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZTphZnRlciwgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXIsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlciB7XG4gICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTtcbiAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXI6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGEuZXNCcmVhZGNydW1iX19pdGVtLS1kZWFjdGl2YXRlZCwgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IHNwYW4uZXNCcmVhZGNydW1iX19pdGVtLS1kZWFjdGl2YXRlZCB7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTdBN0E3OyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWRlYWN0aXZhdGVkOmFmdGVyLCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWRlYWN0aXZhdGVkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOXB4IHNvbGlkICNBN0E3QTc7IH1cbiAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBhLmVzQnJlYWRjcnVtYl9faXRlbS0tbGFzdENydW1iOmFmdGVyLCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxhc3RDcnVtYjphZnRlciB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCB7XG4gICAgICAgICBmbGV4LWZsb3c6IHJvdzsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaTpmaXJzdC1jaGlsZCA+IGEsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGk6Zmlyc3QtY2hpbGQgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGEsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLW5vTWF4V2lkdGgsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbm9NYXhXaWR0aCB7XG4gICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAgICAgICAgIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBhOmJlZm9yZSwgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgICAgIC8qIFphaGxlbndlcnRlIGpld2VpbHMgaGFsYmUgR2VzYW10aG9laGUqL1xuICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTlweCBzb2xpZCAtLS0tQWt6ZW50LS0tLTtcbiAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDE5cHggc29saWQgLS0tLUFremVudC0tLS07XG4gICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgbGVmdDogLTE5cHg7XG4gICAgICAgICAgICAgICB3aWR0aDogMTlweDsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGE6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgIC8qIFphaGxlbndlcnRlIGpld2VpbHMgaGFsYmUgR2VzYW10aG9laGUqL1xuICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTkuMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTkuMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE5cHggc29saWQgLS0tLUFremVudC0tLS07XG4gICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICByaWdodDogLTE5cHg7XG4gICAgICAgICAgICAgICB3aWR0aDogMTlweDsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGEuZXNCcmVhZGNydW1iX19pdGVtLS1hY3RpdmU6YmVmb3JlLCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTlweCBzb2xpZCAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07XG4gICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxOXB4IHNvbGlkIC0tLS1Ba3plbnQtQWN0aXZlLS0tLTsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGEuZXNCcmVhZGNydW1iX19pdGVtLS1hY3RpdmU6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTsgfVxuICAgICAgICAgICAgLmVzQnJlYWRjcnVtYjItLWFycm93cyB1bCBsaSA+IGEuZXNCcmVhZGNydW1iX19pdGVtLS1saW5rOmhvdmVyLCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXIge1xuICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXI6YmVmb3JlLCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gc3Bhbi5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDE5cHggc29saWQgLS0tLUFremVudC1Ib3Zlci0tLS07XG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxOXB4IHNvbGlkIC0tLS1Ba3plbnQtSG92ZXItLS0tOyB9XG4gICAgICAgICAgICAgICAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHVsIGxpID4gYS5lc0JyZWFkY3J1bWJfX2l0ZW0tLWxpbms6aG92ZXI6YWZ0ZXIsIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgdWwgbGkgPiBzcGFuLmVzQnJlYWRjcnVtYl9faXRlbS0tbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTsgfSB9XG5cbi5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iMixcbi5yZWZfX29ic0V4dGVybkFqYXggLmVzQnJlYWRjcnVtYjIge1xuICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iMiAsXG4gICAgICAucmVmX19vYnNFeHRlcm5BamF4IC5lc0JyZWFkY3J1bWIyIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDVweDsgfVxuICAgICAgICAgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uIC5lc0JyZWFkY3J1bWIyICBsaSA+IGE6YmVmb3JlLFxuICAgICAgICAgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uIC5lc0JyZWFkY3J1bWIyICBsaSA+IHNwYW46YmVmb3JlLFxuICAgICAgICAgLnJlZl9fb2JzRXh0ZXJuQWpheCAuZXNCcmVhZGNydW1iMiAgbGkgPiBhOmJlZm9yZSxcbiAgICAgICAgIC5yZWZfX29ic0V4dGVybkFqYXggLmVzQnJlYWRjcnVtYjIgIGxpID4gc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzZCNkI2QjsgfSB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gLmVzQnJlYWRjcnVtYjIgIGxpOmJlZm9yZSxcbiAgICAgIC5yZWZfX29ic0V4dGVybkFqYXggLmVzQnJlYWRjcnVtYjIgIGxpOmJlZm9yZSB7XG4gICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNkI2QjZCOyB9IH1cbiAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iMi0tYXJyb3dzLFxuICAgLnJlZl9fb2JzRXh0ZXJuQWpheCAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgIG1hcmdpbjogNTBweCBhdXRvIDVweDsgfVxuICAgICAgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uIC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgbGkgPiBhOmJlZm9yZSxcbiAgICAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iMi0tYXJyb3dzIGxpID4gc3BhbjpiZWZvcmUsXG4gICAgICAucmVmX19vYnNFeHRlcm5BamF4IC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgbGkgPiBhOmJlZm9yZSxcbiAgICAgIC5yZWZfX29ic0V4dGVybkFqYXggLmVzQnJlYWRjcnVtYjItLWFycm93cyBsaSA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICM2QjZCNkI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gLmVzQnJlYWRjcnVtYjItLWFycm93cyBsaTpiZWZvcmUsXG4gICAgICAgICAucmVmX19vYnNFeHRlcm5BamF4IC5lc0JyZWFkY3J1bWIyLS1hcnJvd3MgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM2QjZCNkI7IH0gfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbiAuZXNCcmVhZGNydW1iMiAuZXNCcmVhZGNydW1iX19pdGVtLS1saW5rLFxuICAgICAgLnJlZl9fb2JzRXh0ZXJuQWpheCAuZXNCcmVhZGNydW1iMiAuZXNCcmVhZGNydW1iX19pdGVtLS1saW5rIHtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgIGNvbG9yOiAjZDZkNmQ2OyB9XG4gICAgICAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gLmVzQnJlYWRjcnVtYjIgLmVzQnJlYWRjcnVtYl9faXRlbS0tYWN0aXZlLFxuICAgICAgLnJlZl9fb2JzRXh0ZXJuQWpheCAuZXNCcmVhZGNydW1iMiAuZXNCcmVhZGNydW1iX19pdGVtLS1hY3RpdmUge1xuICAgICAgICAgY29sb3I6IHdoaXRlOyB9IH1cblxuLmVzQnJlYWRjcnVtYk1vZGFsIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBwYWRkaW5nLXRvcDogMTVweDtcbiAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgLypvdmVyZmxvdy15OiBhdXRvOyovIH1cbiAgIC5lc0JyZWFkY3J1bWJNb2RhbF9faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2JiYmJiYjsgfVxuICAgICAgLmVzQnJlYWRjcnVtYk1vZGFsX19pdGVtOmhvdmVyIHtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmVzQnJlYWRjcnVtYk1vZGFsX19pdGVtIC5lc0JyZWFkY3J1bWJNb2RhbF9fc3RlcCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICAuZXNCcmVhZGNydW1iTW9kYWxfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgICBjb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tOyB9XG4gICAgICAgICAuZXNCcmVhZGNydW1iTW9kYWxfX2l0ZW0tLWFjdGl2ZSAuZXNCcmVhZGNydW1iTW9kYWxfX3N0ZXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAgICAgLmVzQnJlYWRjcnVtYk1vZGFsX19pdGVtLS1pbmFjdGl2ZSB7XG4gICAgICAgICBjb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWJNb2RhbF9faXRlbS0taW5hY3RpdmUgLmVzQnJlYWRjcnVtYk1vZGFsX19zdGVwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtLS0tOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgICAgICAgLmVzQnJlYWRjcnVtYk1vZGFsX19pdGVtIC5lc0JyZWFkY3J1bWJNb2RhbF9fc3RlcFRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuZXNCcmVhZGNydW1iTW9kYWxfX2l0ZW0gLmVzQnJlYWRjcnVtYk1vZGFsX19zdGVwLS1pbnZhbGlkZSB7XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWJNb2RhbF9faXRlbSAuZXNCcmVhZGNydW1iTW9kYWxfX3N0ZXAtLWludmFsaWRlOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhOTQ0NDI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgICAgIC5lc0JyZWFkY3J1bWJNb2RhbF9faXRlbSAuZXNCcmVhZGNydW1iTW9kYWxfX3N0ZXAtLWludmFsaWRlOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYTk0NDQyO1xuICAgICAgICAgICAgY29udGVudDogJyEnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgICAgICB0b3A6IC05cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uZXNCcmVhZGNydW1iTW9kYWxfX3N0aWNreVdyYXBwZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICBwb3NpdGlvbjogc3RpY2t5O1xuICAgei1pbmRleDogMTtcbiAgIHRvcDogMDsgfVxuXG4uZXNCcmVhZGNydW1iTW9kYWxfX21vYmlsZVRpdGxlIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgIC5lc0JyZWFkY3J1bWJNb2RhbF9fbW9iaWxlVGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuXG4uYWxlcnQge1xuICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjsgfVxuXG4uYWxlcnQtY3VzdG9tQ29sb3Ige1xuICAgY29sb3I6ICNGRkZGRkY7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIGJvcmRlci1jb2xvcjogLS0tLUFremVudC0tLS07IH1cblxuLmVzSW5saW5lQWxlcnQge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgcGFkZGluZy1sZWZ0OiAyOXB4O1xuICAgZGlzcGxheTogZmxleDtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgbWluLWhlaWdodDogMjNweDsgfVxuICAgLmVzSW5saW5lQWxlcnQ6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnZWFzeVNvZnQtUHVibGlzaCc7XG4gICAgICBjb250ZW50OiBcIlxcZTkyZFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTNweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgbWFyZ2luLXRvcDogLTE5cHg7IH1cblxuLmVzR3JleUJveCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFQkVDO1xuICAgcGFkZGluZzogMzBweDtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuc3Bhbi5iYWRnZSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDFweDtcbiAgIHJpZ2h0OiAxcHg7XG4gICBmb250LXNpemU6IDEuM3JlbTtcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgIHNwYW4uYmFkZ2UuYmFkZ2UtLWZpbHRlckJveCB7XG4gICAgICB0b3A6IC0xM3B4O1xuICAgICAgcmlnaHQ6IC0xM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FmY2EyNjsgfVxuXG4udm9yc2NoYXVNb2R1cyB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgcmlnaHQ6IDA7XG4gICBib3R0b206IDA7XG4gICBib3JkZXI6IDNweCBzb2xpZCByZWQ7XG4gICB6LWluZGV4OiAyMDAwMjtcbiAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAudm9yc2NoYXVNb2R1c19fdGV4dCB7XG4gICAgICB3aWR0aDogMjgwcHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbWluYXJwbGFuRGF0YXZpZXdPYmplY3RzV3JhcHBlciB7XG4gICBvdmVyZmxvdzogYXV0bztcbiAgIHBhZGRpbmc6IDEyLjVweCAxNXB4OyB9XG4gICAuc2VtaW5hcnBsYW5EYXRhdmlld09iamVjdHNXcmFwcGVyIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmb250LXNpemU6IDEuOXJlbTsgfVxuXG4uc2VtaW5hcnBsYW5EYXRhdmlld09iamVjdHNXcmFwcGVyLS1uYWNoR3JpZCB7XG4gICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uZXNHcmlkIH4gI3NlbWluYXJwbGFuLS1kYXRlbnNpY2h0IHtcbiAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG5cbi5lc0tlaW5lRGF0ZW4ge1xuICAgaGVpZ2h0OiAxMDBweDtcbiAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaW5mby1ib3gge1xuICAgbWFyZ2luLXRvcDogMTBweDtcbiAgIHBhZGRpbmc6IDE1cHg7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgIC5pbmZvLWJveCAuZXNJY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4ubmF2LXRhYnMge1xuICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgIC5uYXYtdGFicyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgIC5uYXYtdGFicyA+IGxpID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgICAgIGJvcmRlcjogLS0tLUFremVudC0tLS0gMXB4IHNvbGlkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDsgfVxuICAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSxcbiAgIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1Ba3plbnQtLS0tO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuICAgLm5hdi10YWJzID4gbGk6Zm9jdXM6YWZ0ZXIsXG4gICAubmF2LXRhYnMgPiBsaTpob3ZlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUFremVudC1Ib3Zlci0tLS07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICByaWdodDogNHB4OyB9XG4gICAubmF2LXRhYnMgPiBsaSA+IGE6Zm9jdXMsXG4gICAubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6IC0tLS1Ba3plbnQtSG92ZXItLS0tO1xuICAgICAgYm9yZGVyLWNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTsgfVxuXG4ubmF2LXRhYnMtLXdpdGhTdGF0dXMgPiBsaSA+IGEge1xuICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuICAgLm5hdi10YWJzLS13aXRoU3RhdHVzID4gbGkgPiBhIC5mYS1jaGVjayxcbiAgIC5uYXYtdGFicy0td2l0aFN0YXR1cyA+IGxpID4gYSAuZmEtZXhjbGFtYXRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDRweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTE1cHg7IH1cbiAgIC5uYXYtdGFicy0td2l0aFN0YXR1cyA+IGxpID4gYSAuZmEtY2hlY2sge1xuICAgICAgY29sb3I6ICNhZmNhMjY7IH1cbiAgIC5uYXYtdGFicy0td2l0aFN0YXR1cyA+IGxpID4gYSAuZmEtZXhjbGFtYXRpb24ge1xuICAgICAgY29sb3I6ICM5NDE5MTQ7IH1cblxuLm5hdi10YWJzLS1ha3RpdmVzRWxlbWVudEhvY2ggPiBsaSA+IGEge1xuICAgbWFyZ2luLXRvcDogMTBweDtcbiAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cblxuLm5hdi10YWJzLS1ha3RpdmVzRWxlbWVudEhvY2ggPiBsaS5hY3RpdmUgPiBhIHtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4udGFiX19pdGVtLS1hY3RpdmUgc3BhbiB7XG4gICBib3JkZXItYm90dG9tOiAzcHggc29saWQgLS0tLUFremVudC0tLS07IH1cblxuLyogLS0tLSBUb29sdGlwIC0tLS0qL1xuLmVzVG9vbHRpcF9fdGl0bGUge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5lc0VsZW1lbnRNaXRUb29sdGlwIC5lc1Rvb2x0aXBXcmFwcGVyLCAuZXNUb29sdGlwSW5mbyAuZXNUb29sdGlwV3JhcHBlciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICB3aWR0aDogMDtcbiAgIGhlaWdodDogMDsgfVxuICAgLmVzRWxlbWVudE1pdFRvb2x0aXAgLmVzVG9vbHRpcFdyYXBwZXIgLmVzVG9vbHRpcCwgLmVzVG9vbHRpcEluZm8gLmVzVG9vbHRpcFdyYXBwZXIgLmVzVG9vbHRpcCB7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNkI2QjZCO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgei1pbmRleDogMTIwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgICAuZXNFbGVtZW50TWl0VG9vbHRpcCAuZXNUb29sdGlwV3JhcHBlciAuZXNUb29sdGlwIC5lc1Rvb2x0aXBQZmVpbCwgLmVzVG9vbHRpcEluZm8gLmVzVG9vbHRpcFdyYXBwZXIgLmVzVG9vbHRpcCAuZXNUb29sdGlwUGZlaWwge1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZXNFbGVtZW50TWl0VG9vbHRpcCAuZXNUb29sdGlwV3JhcHBlciAuZXNUb29sdGlwIC5lc1Rvb2x0aXBQZmVpbDphZnRlciwgLmVzVG9vbHRpcEluZm8gLmVzVG9vbHRpcFdyYXBwZXIgLmVzVG9vbHRpcCAuZXNUb29sdGlwUGZlaWw6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkI2QjZCO1xuICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggOHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgICAgLmVzRWxlbWVudE1pdFRvb2x0aXAgLmVzVG9vbHRpcFdyYXBwZXIgLmVzVG9vbHRpcCBwLCAuZXNUb29sdGlwSW5mbyAuZXNUb29sdGlwV3JhcHBlciAuZXNUb29sdGlwIHAge1xuICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICAgIC5lc0VsZW1lbnRNaXRUb29sdGlwIC5lc1Rvb2x0aXBXcmFwcGVyIC5lc1Rvb2x0aXAgcDpsYXN0LW9mLXR5cGUsIC5lc1Rvb2x0aXBJbmZvIC5lc1Rvb2x0aXBXcmFwcGVyIC5lc1Rvb2x0aXAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuXG4uZXNFbGVtZW50TWl0VG9vbHRpcDpob3ZlciAuZXNUb29sdGlwLCAuZXNUb29sdGlwSW5mbzpob3ZlciAuZXNUb29sdGlwIHtcbiAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICBvcGFjaXR5OiAxOyB9XG5cbi5lc1Rvb2x0aXBJbmZvIHtcbiAgIGNvbG9yOiAjNkI2QjZCO1xuICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICBmbGV4LWZsb3c6IHJvdztcbiAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAuZXNUb29sdGlwSW5mbyAqIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsOyB9XG4gICAuZXNUb29sdGlwSW5mbzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwNWFcIjsgfVxuXG4uZXNUb29sdGlwIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgLmVzVG9vbHRpcDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc0LCA3NCwgNzQsIDAuOTUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xcmVtO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgY29sb3I6ICNFOUVCRUM7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1heC13aWR0aDogMjZyZW07XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMC40cmVtKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzLCB0cmFuc2Zvcm0gLjJzO1xuICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICAgIHotaW5kZXg6IDEwMTsgfVxuICAgLmVzVG9vbHRpcDpmb2N1czphZnRlciwgLmVzVG9vbHRpcDpob3ZlcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTAuMnJlbSk7IH1cbiAgIC5lc1Rvb2x0aXBbZGlzYWJsZWRdLCAuZXNUb29sdGlwLmRpc2FibGVkIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAuZXNUb29sdGlwLnRvb2x0aXAtcmlnaHQ6YWZ0ZXIge1xuICAgICAgYm90dG9tOiA1MCU7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuMnJlbSwgNTAlKTsgfVxuICAgLmVzVG9vbHRpcC50b29sdGlwLXJpZ2h0OmZvY3VzOmFmdGVyLCAuZXNUb29sdGlwLnRvb2x0aXAtcmlnaHQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4ycmVtLCA1MCUpOyB9XG4gICAuZXNUb29sdGlwLnRvb2x0aXAtYm90dG9tOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0wLjRyZW0pOyB9XG4gICAuZXNUb29sdGlwLnRvb2x0aXAtYm90dG9tOmZvY3VzOmFmdGVyLCAuZXNUb29sdGlwLnRvb2x0aXAtYm90dG9tOmhvdmVyOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAuMnJlbSk7IH1cbiAgIC5lc1Rvb2x0aXAudG9vbHRpcC1sZWZ0OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40cmVtLCA1MCUpOyB9XG4gICAuZXNUb29sdGlwLnRvb2x0aXAtbGVmdDpmb2N1czphZnRlciwgLmVzVG9vbHRpcC50b29sdGlwLWxlZnQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuMnJlbSwgNTAlKTsgfVxuXG4vKlxyXG4gICAgRGllc2VzIEVsZW1lbnQgZXNHYXVnZSB3dXJkZSBhdWYgQmFzaXMgZGVyIExpYnJhcnkgTWF0ZXJpYWwtR2F1Z2UgZXJzdGVsbHQuIEF1ZmdydW5kIGRlciB1bWZhbmdyZWljaGVuIO+/vW5kZXJ1bmdlbiB3dXJkZSBkZXIgQ29kZSBrb3BpZXJ0IHVuZCBnZe+/vW5kZXJ0IHVtIG5pY2h0IHVtZmFuZ3JlaWNoIO+/vWJlcnNjaHJlaWJlbiB6dSBt77+9c3Nlbi5cclxuICAgIENvcHlyaWdodCAoYykgMjAxNSBTdGVwaGVuIFRob21hc1xyXG4gICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuICAgIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXHJcbiovXG4uZXNHYXVnZS0tc3R5bGVBIC5nYXVnZV9fYmFja2dyb3VuZCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGNiNDZlOyB9XG5cbi5lc0dhdWdlLS1zdHlsZUEgLmdhdWdlX19kYXRhIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICM5ZjE5MjQ7IH1cblxuLmVzR2F1Z2UtLXN0eWxlQSAuZ2F1Z2VfX21hcmtlciB7XG4gICB3aWR0aDogMnB4O1xuICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmVzR2F1Z2UtLXN0eWxlQSAuZ2F1Z2VfX25lZWRsZSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5cbi5lc0dhdWdlLS1zdHlsZUEgLmdhdWdlX19jZW50ZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICBib3JkZXItcmFkaXVzOiAxMDAlIDEwMCUgMCAwOyB9XG5cbi5lc0dhdWdlLS1zdHlsZUEgLmVzR2F1Z2VfX3N1bW1hcnkge1xuICAgei1pbmRleDogMTAgIWltcG9ydGFudDtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNBN0E3QTc7IH1cbiAgIC5lc0dhdWdlLS1zdHlsZUEgLmVzR2F1Z2VfX3N1bW1hcnktLWZhaWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlmMTkyNCAhaW1wb3J0YW50OyB9XG4gICAuZXNHYXVnZS0tc3R5bGVBIC5lc0dhdWdlX19zdW1tYXJ5LS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Y2I0NmUgIWltcG9ydGFudDsgfVxuXG4uZXNHYXVnZS0tc3R5bGVBLmVzR2F1Z2UtLXplaWdlS2VpblNvbGwgLmdhdWdlX19iYWNrZ3JvdW5kIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNBN0E3QTc7IH1cblxuLmVzR2F1Z2Uge1xuICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAuZXNHYXVnZSAuZ2F1Z2VfX2NvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgLmVzR2F1Z2UgLmdhdWdlX19iYWNrZ3JvdW5kIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7IH1cbiAgIC5lc0dhdWdlIC5nYXVnZV9fZGF0YSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG4gICAuZXNHYXVnZSAuZ2F1Z2VfX2NlbnRlciB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwdncgMTAwdncgMCAwOyB9XG4gICAuZXNHYXVnZSAuZXNHYXVnZV9fc3VtbWFyeSB7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAuZXNHYXVnZSAuZ2F1Z2VfX21hcmtlciB7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAuZXNHYXVnZSAuZ2F1Z2VfX25lZWRsZSB7XG4gICAgICB6LWluZGV4OiA2O1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsgfVxuICAgLmVzR2F1Z2UgLmVzR2F1Z2VfX2N1dE91dCB7XG4gICAgICB6LWluZGV4OiAwOyB9XG4gICAuZXNHYXVnZS5lc0dhdWdlLS16ZWlnZUtlaW5Tb2xsIC5nYXVnZV9fZGF0YSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5lc0dhdWdlLS1yZXNwb25zaXZlIC5nYXVnZV9fY29udGFpbmVyLFxuLmVzR2F1Z2UtLXJlc3BvbnNpdmUgLmdhdWdlX19iYWNrZ3JvdW5kLFxuLmVzR2F1Z2UtLXJlc3BvbnNpdmUgLmdhdWdlX19kYXRhIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5lc0dhdWdlLS1yZXNwb25zaXZlIC5nYXVnZV9fYmFja2dyb3VuZCxcbi5lc0dhdWdlLS1yZXNwb25zaXZlIC5nYXVnZV9fZGF0YSB7XG4gICBib3JkZXItcmFkaXVzOiAxMDB2dyAxMDB2dyAwIDA7IH1cblxuLmVzR2F1Z2UtLXJlc3BvbnNpdmUgLmdhdWdlX19uZWVkbGUge1xuICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgd2lkdGg6IDM4JTtcbiAgIGhlaWdodDogM3B4O1xuICAgbGVmdDogMTIlO1xuICAgYm90dG9tOiAtMXB4O1xuICAgdG9wOiBhdXRvOyB9XG5cbi5lc0dhdWdlLS1yZXNwb25zaXZlIC5nYXVnZV9fbWFya2VyIHtcbiAgIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoMTAwJSAtIDFweCkgMTAwJTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTtcbiAgIGJvdHRvbTogMDtcbiAgIHdpZHRoOiAycHg7IH1cblxuLmVzR2F1Z2UtLXJlc3BvbnNpdmUgLmdhdWdlX19jZW50ZXIge1xuICAgd2lkdGg6IDQwJTtcbiAgIGhlaWdodDogNDAlO1xuICAgdG9wOiBhdXRvO1xuICAgbGVmdDogMzAlO1xuICAgbWFyZ2luLWxlZnQ6IDA7XG4gICBib3R0b206IDA7IH1cblxuLmVzR2F1Z2UtLXJlc3BvbnNpdmUgLmVzR2F1Z2VfX3N1bW1hcnkge1xuICAgd2lkdGg6IDI2JTtcbiAgIGhlaWdodDogNTIlO1xuICAgYm90dG9tOiAtMjYlO1xuICAgbGVmdDogMzclOyB9XG5cbi5lc0dhdWdlLS1zaXplMSB7XG4gICB3aWR0aDogMTQ2cHg7XG4gICBoZWlnaHQ6IDczcHg7IH1cbiAgIC5lc0dhdWdlLS1zaXplMSAuZXNHYXVnZV9fc3VtbWFyeSB7XG4gICAgICB3aWR0aDogMzIlO1xuICAgICAgaGVpZ2h0OiA2NCU7XG4gICAgICBib3R0b206IC0zMiU7XG4gICAgICBsZWZ0OiAzNCU7IH1cblxuLyogRWhlciBzY2htYWxlcyBDdXRPdXQsIDglKi9cbi5lc0dhdWdlLS1oYXNDdXRvdXQxIC5lc0dhdWdlX19jdXRPdXQge1xuICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICB3aWR0aDogMTAwJTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJvcmRlci1yYWRpdXM6IDMwdncgMzB2dyAwIDA7IH1cblxuLmVzR2F1Z2UtLWhhc0N1dG91dDEgLmdhdWdlX19jb250YWluZXIge1xuICAgd2lkdGg6IDg0JTtcbiAgIGhlaWdodDogODQlO1xuICAgYm90dG9tOiAwO1xuICAgbGVmdDogOCU7IH1cblxuLyogTWl0dGxlcmVzIEN1dE91dCAqL1xuLmVzR2F1Z2UtLWhhc0N1dG91dDIgLmVzR2F1Z2VfX2N1dE91dCB7XG4gICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgYm9yZGVyLXJhZGl1czogMzB2dyAzMHZ3IDAgMDsgfVxuXG4uZXNHYXVnZS0taGFzQ3V0b3V0MiAuZ2F1Z2VfX2NvbnRhaW5lciB7XG4gICB3aWR0aDogNzAlO1xuICAgaGVpZ2h0OiA3MCU7XG4gICBib3R0b206IDA7XG4gICBsZWZ0OiAxNSU7IH1cblxuLnBvcG92ZXIge1xuICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4vKiBQb3BvdmVyIG1pdCBBdWZ6w6RobHVuZ2VuICovXG4ucG9wb3Zlcl9fYXVmemFlaGx1bmcge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgLnBvcG92ZXJfX2F1ZnphZWhsdW5nOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucG9wb3Zlcl9fYXVmemFlaGx1bmdXZXJ0IHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFBvcG92ZXJzIG1pdCBTY2hsaWXDn2VuLUJ1dHRvbiAqL1xuLnBvcG92ZXItLWhhc0Nsb3NlQnV0dG9uIC5wb3BvdmVyLWNvbnRlbnQge1xuICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG5cbi5wb3BvdmVyLS1oYXNDbG9zZUJ1dHRvbjpiZWZvcmUge1xuICAgY29udGVudDogXCJYXCI7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICByaWdodDogMDtcbiAgIHRvcDogMDtcbiAgIGJvdHRvbTogMDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgd2lkdGg6IDI1cHg7XG4gICBoZWlnaHQ6IDI1cHg7XG4gICBjb2xvcjogd2hpdGU7XG4gICBsaW5lLWhlaWdodDogMjVweDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIHotaW5kZXg6IDE7XG4gICBmb250LXNpemU6IDEuOHJlbTtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZXNIMkFic3RhbmQxIHtcbiAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLmVzUm93V2l0aEZsZXhDb2x1bW4ge1xuICAgZGlzcGxheTogZmxleDsgfVxuICAgLmVzUm93V2l0aEZsZXhDb2x1bW5fX2ZsZXhDb2x1bW4ge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG5cbi5lc0dyZXlCb3gyLFxuLmVzR3JleUJveDMge1xuICAgLyogYW5hbG9nIHp1IGRlbiBGb3JtdWxhcmVuKi9cbiAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgcGFkZGluZzogMjBweDsgfVxuXG4uZXNHcmV5Qm94MyB7XG4gICBwYWRkaW5nOiAzMHB4IDQwcHg7IH1cblxuLmxvYWRwYW5lbC5keC1vdmVybGF5LXdyYXBwZXIge1xuICAgei1pbmRleDogMjAwMDEgIWltcG9ydGFudDsgfVxuICAgLmxvYWRwYW5lbC5keC1vdmVybGF5LXdyYXBwZXIubG9hZHBhbmVsLS11bmRlck1vZGFsIHtcbiAgICAgIHotaW5kZXg6IDUwMDAgIWltcG9ydGFudDsgfVxuXG4ubG9hZHBhbmVsLS1sZWdhY3kgLmR4LWxvYWRwYW5lbC1jb250ZW50OmJlZm9yZSB7XG4gICBjb250ZW50OiBub25lOyB9XG5cbi5sb2FkcGFuZWwtLWxlZ2FjeSAudm9yZ2FuZyB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxvYWRwYW5lbCAuZXNMb2FkaW5kaWNhdG9yLXNpbXBsZTpiZWZvcmUge1xuICAgY29udGVudDogJyc7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7XG4gICBhbmltYXRpb246IHNwaW4gMS4zcyBsaW5lYXIgaW5maW5pdGU7XG4gICB3aWR0aDogMjBweDtcbiAgIGhlaWdodDogMjBweDsgfVxuXG4ubG9hZHBhbmVsIC5keC1sb2FkcGFuZWwtY29udGVudCB7XG4gICBtaW4td2lkdGg6IDIyMnB4O1xuICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgIC5sb2FkcGFuZWwgLmR4LWxvYWRwYW5lbC1jb250ZW50IHtcbiAgICAgICAgIG1heC13aWR0aDogMzgwcHg7IH0gfVxuICAgLmxvYWRwYW5lbCAuZHgtbG9hZHBhbmVsLWNvbnRlbnQgLmVzTG9hZHBhbmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiOyB9XG4gICAgICAubG9hZHBhbmVsIC5keC1sb2FkcGFuZWwtY29udGVudCAuZXNMb2FkcGFuZWw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAgIC5sb2FkcGFuZWwgLmR4LWxvYWRwYW5lbC1jb250ZW50IC5lc0xvYWRwYW5lbCAudm9yZ2FuZyB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjRyZW07IH1cbiAgICAgICAgIC5sb2FkcGFuZWwgLmR4LWxvYWRwYW5lbC1jb250ZW50IC5lc0xvYWRwYW5lbCAudm9yZ2FuZzpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZXNMYWRla3JpbmdlbE9obmVUZXh0X193cmFwcGVyIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZXNMYWRla3JpbmdlbE9obmVUZXh0X19wb3NpdGlvbmllcnVuZyB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICB3aWR0aDogNDBweDtcbiAgIGhlaWdodDogNDBweDtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogNTAlO1xuICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICBsZWZ0OiA1MCU7XG4gICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cblxuLmVzTGFkZWtyaW5nZWxPaG5lVGV4dF9fbGFkZWtyaW5nZWwge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICB3aWR0aDogNDBweDtcbiAgIGhlaWdodDogNDBweDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk3OTc5NztcbiAgIGFuaW1hdGlvbjogbG9hZEluZGljYXRvclNwaW4gMnMgbGluZWFyIGluZmluaXRlOyB9XG4gICAuZXNMYWRla3JpbmdlbE9obmVUZXh0X19sYWRla3JpbmdlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgcmlnaHQ6IDRweDtcbiAgICAgIGJvdHRvbTogNHB4O1xuICAgICAgbGVmdDogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgICAgIGFuaW1hdGlvbjogbG9hZEluZGljYXRvclNwaW4gMS41cyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgIC5lc0xhZGVrcmluZ2VsT2huZVRleHRfX2xhZGVrcmluZ2VsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM0QTRBNEE7XG4gICAgICBhbmltYXRpb246IGxvYWRJbmRpY2F0b3JTcGluIDNzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIGxvYWRJbmRpY2F0b3JTcGluIHtcbiAgIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uZXNCdXR0b24tLWxvYWRpbmcge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgYW5pbWF0aW9uOiBwYWRkaW5nIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgIC5lc0J1dHRvbi0tbG9hZGluZzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogd2hpdGU7XG4gICAgICBhbmltYXRpb246IHNwaW4gMS4zcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIGhlaWdodDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTFweDtcbiAgICAgIGxlZnQ6IDEwcHg7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiBcclxuICAgTWVocnplaWxpZ2VuIFRleHQgbmFjaCBlaW5pZ2VuIFplaWxlbiBvYmVuIGF1c2JsZW5kZW4gXHJcbiovXG4uZmFkZU91dFRleHQge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgbWF4LWhlaWdodDogOHJlbTtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1mbG93OiBjb2x1bW47XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAuZmFkZU91dFRleHQgZGl2LCAuZmFkZU91dFRleHQgZGl2IHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XG4gICAuZmFkZU91dFRleHQtLXRleHRGYWRlT3V0VG9wIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNS42cmVtO1xuICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHdoaXRlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTsgfVxuXG4vKiBcclxuICAgQW5tZWxkZWZvcnRzY2hyaXR0IFxyXG4qL1xuLmxvYWRpbmdQYW5lbE1lc3NhZ2VzX19jaGVja21hcmsge1xuICAgY29sb3I6ICNhZmNhMjY7IH1cblxuLmxvYWRpbmdQYW5lbE1lc3NhZ2VzX19oaW53ZWlzIHtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgLmxvYWRpbmdQYW5lbE1lc3NhZ2VzX19oaW53ZWlzLS1laW5nZXJ1ZWNrdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDAgMS40cmVtOyB9XG5cbi5lc0ZpbGV1cGxvYWRlcl9fdXBsb2FkQnV0dG9uIHtcbiAgIG1hcmdpbjogNXB4IDAgMTVweDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZXNGaWxldXBsb2FkZXJfX2Ryb3B6b25lIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWluLWhlaWdodDogMjIycHg7XG4gICBib3JkZXI6IDJweCAjOTc5Nzk3IGRhc2hlZDtcbiAgIHBhZGRpbmc6IDIwcHg7XG4gICBvdmVyZmxvdzogYXV0bztcbiAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAuZXNGaWxldXBsb2FkZXJfX2Ryb3B6b25lLS1ob3ZlcmVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRBNEE0QTtcbiAgICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7IH1cblxuLmVzRmlsZXVwbG9hZGVyLS1kaXNhYmxlZCAuZXNGaWxldXBsb2FkZXJfX2Ryb3B6b25lIHtcbiAgIGJvcmRlci1jb2xvcjogI2JiYmJiYjtcbiAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7IH1cblxuLmVzRmlsZXVwbG9hZGVyLS1kaXNhYmxlZCAuZXNGaWxldXBsb2FkZXJfX2Ryb3BNZXNzYWdlIHtcbiAgIGNvbG9yOiAjYmJiYmJiOyB9XG5cbi5lc0ZpbGV1cGxvYWRlci0tZGlzYWJsZWQgLmVzRmlsZXVwbG9hZGVyX19kYXRlaUthY2hlbCB7XG4gICBvcGFjaXR5OiAwLjY7IH1cblxuLmVzRmlsZXVwbG9hZGVyLS1kaXNhYmxlZCAuZXNGaWxldXBsb2FkZXJfX2Ryb3B6b25lLS1ob3ZlcmVkIHtcbiAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAuZXNGaWxldXBsb2FkZXItLWRpc2FibGVkIC5lc0ZpbGV1cGxvYWRlcl9fZHJvcHpvbmUtLWhvdmVyZWQgLmVzRmlsZXVwbG9hZGVyX19kcm9wTWVzc2FnZTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICBjb250ZW50OiAnXFxmMDVlJzsgfVxuICAgLmVzRmlsZXVwbG9hZGVyLS1kaXNhYmxlZCAuZXNGaWxldXBsb2FkZXJfX2Ryb3B6b25lLS1ob3ZlcmVkIC5lc0ZpbGV1cGxvYWRlcl9fZHJvcE1lc3NhZ2UtLWRyb3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLmVzRmlsZXVwbG9hZGVyLS1kaXNhYmxlZCAuZXNGaWxldXBsb2FkZXJfX2Ryb3B6b25lLS1ob3ZlcmVkIC5lc0ZpbGV1cGxvYWRlcl9fZHJvcE1lc3NhZ2UtLWRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZXNGaWxldXBsb2FkZXJfX2Ryb3BNZXNzYWdlIHtcbiAgIGhlaWdodDogMTYwcHg7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgYm90dG9tOiAxMHB4O1xuICAgY29sb3I6ICNiYmJiYmI7IH1cbiAgIC5lc0ZpbGV1cGxvYWRlcl9fZHJvcE1lc3NhZ2U6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnZWFzeVNvZnQtUHVibGlzaCc7XG4gICAgICBmb250LXNpemU6IDczcHg7XG4gICAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xuICAgICAgY29sb3I6ICNiYmJiYmI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIyLjUlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5lc0ZpbGV1cGxvYWRlcl9fZHJvcE1lc3NhZ2UtLWRpc2FibGVkIHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVzRmlsZXVwbG9hZGVyX19kcm9wem9uZS1tdWx0aXVwbG9hZCAuZXNGaWxldXBsb2FkZXJfX2Ryb3BNZXNzYWdlOmJlZm9yZSB7XG4gICBmb250LXNpemU6IDgzcHg7XG4gICBjb250ZW50OiBcIlxcZTkwZlwiOyB9XG5cbi5lc0ZpbGV1cGxvYWRlcl9fZGF0ZWlLYWNoZWwge1xuICAgd2lkdGg6IDExMHB4O1xuICAgaGVpZ2h0OiAxNzBweDtcbiAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgZmxvYXQ6IGxlZnQ7XG4gICBtYXJnaW46IDAgMjBweCAyMHB4IDA7XG4gICBib3gtc2hhZG93OiAzcHggM3B4IDAgMCAjZGJkYmRiOyB9XG5cbi5lc0ZpbGV1cGxvYWRlcl9fZGVsZXRlRmlsZSB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICByaWdodDogNHB4O1xuICAgdG9wOiA0cHg7XG4gICBjb2xvcjogIzRBNEE0QTtcbiAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgcGFkZGluZzogM3B4O1xuICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAuZXNGaWxldXBsb2FkZXJfX2RlbGV0ZUZpbGU6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0E3QTdBNzsgfVxuXG4uZXNGaWxldXBsb2FkZXJfX2RhdGVpSWNvbiB7XG4gICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAyNnB4LzEgRm9udEF3ZXNvbWU7XG4gICBmb250LXNpemU6IDZyZW07XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDI1cHg7XG4gICBsZWZ0OiA1MCU7XG4gICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICBjb2xvcjogI0E3QTdBNzsgfVxuICAgLmVzRmlsZXVwbG9hZGVyX19kYXRlaUljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cblxuLmVzRmlsZXVwbG9hZGVyX19JTUdXcmFwcGVyIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGxlZnQ6IDA7XG4gICB0b3A6IC0xcHg7XG4gICB3aWR0aDogNTVweDtcbiAgIGhlaWdodDogNjVweDtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmVzRmlsZXVwbG9hZGVyX19kYXRlaWdyb2Vzc2Uge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgYm90dG9tOiAxNXB4O1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgZm9udC1zaXplOiAxLjNyZW07XG4gICBjb2xvcjogIzRBNEE0QTtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVzRmlsZXVwbG9hZGVyX19kYXRlaWVuZHVuZyB7XG4gICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIGJvdHRvbTogOXB4O1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgY29sb3I6IHdoaXRlO1xuICAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLmVzRmlsZXVwbG9hZGVyX19kYXRlaW5hbWUge1xuICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICB0b3A6IDk1cHg7XG4gICBsZWZ0OiAxNXB4O1xuICAgcmlnaHQ6IDE1cHg7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgbWF4LWhlaWdodDogMi44ZW07XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBtYXJnaW4tcmlnaHQ6IC05cHg7XG4gICBwYWRkaW5nLXJpZ2h0OiA5cHg7XG4gICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgIC5lc0ZpbGV1cGxvYWRlcl9fZGF0ZWluYW1lOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnLi4uJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAuZXNGaWxldXBsb2FkZXJfX2RhdGVpbmFtZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi5lc0ZpbGV1cGxvYWRlcl9fbG9hZENpcmNsZSB7XG4gICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAyMnB4LzEgRm9udEF3ZXNvbWU7XG4gICBhbmltYXRpb246IHNwaW4gMS4zcyBsaW5lYXIgaW5maW5pdGU7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBib3R0b206IDE1cHg7XG4gICBsZWZ0OiA1MCU7XG4gICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICBkaXNwbGF5OiBub25lOyB9XG4gICAuZXNGaWxldXBsb2FkZXJfX2xvYWRDaXJjbGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTEwXCI7IH1cblxuLmVzRmlsZXVwbG9hZGVyX19zdGF0dXNJY29uIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJvdHRvbTogLTEycHg7XG4gICByaWdodDogLTdweDtcbiAgIHotaW5kZXg6IDE7XG4gICBkaXNwbGF5OiBub25lOyB9XG4gICAuZXNGaWxldXBsb2FkZXJfX3N0YXR1c0ljb246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgdG9wOiAycHg7IH1cblxuLmVzRmlsZXVwbG9hZGVyX19lcnJvck1lc3NhZ2VzIHtcbiAgIGNvbG9yOiByZWQ7XG4gICBwYWRkaW5nOiAzcHggNXB4OyB9XG5cbi8qIFp1c3TDpG5kZSAqL1xuLmVzRmlsZXVwbG9hZGVyLS1maWxlVXBsb2FkaW5nIC5lc0ZpbGV1cGxvYWRlcl9fbG9hZENpcmNsZSB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmVzRmlsZXVwbG9hZGVyLS1maWxlU3VjY2VzcyAuZXNGaWxldXBsb2FkZXJfX2RhdGVpZ3JvZXNzZSxcbi5lc0ZpbGV1cGxvYWRlci0tZXJyb3IgLmVzRmlsZXVwbG9hZGVyX19kYXRlaWdyb2Vzc2Uge1xuICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVzRmlsZXVwbG9hZGVyLS1maWxlU3VjY2VzcyAuZXNGaWxldXBsb2FkZXJfX3N0YXR1c0ljb24sXG4uZXNGaWxldXBsb2FkZXItLWVycm9yIC5lc0ZpbGV1cGxvYWRlcl9fc3RhdHVzSWNvbiB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAyNnB4LzEgRm9udEF3ZXNvbWU7IH1cblxuLmVzRmlsZXVwbG9hZGVyLS1maWxlU3VjY2VzcyAuZXNGaWxldXBsb2FkZXJfX3N0YXR1c0ljb24ge1xuICAgY29sb3I6IGdyZWVuOyB9XG4gICAuZXNGaWxldXBsb2FkZXItLWZpbGVTdWNjZXNzIC5lc0ZpbGV1cGxvYWRlcl9fc3RhdHVzSWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwNThcIjsgfVxuXG4uZXNGaWxldXBsb2FkZXItLWVycm9yIC5lc0ZpbGV1cGxvYWRlcl9fc3RhdHVzSWNvbiB7XG4gICBjb2xvcjogI2Q0MTIxZTsgfVxuICAgLmVzRmlsZXVwbG9hZGVyLS1lcnJvciAuZXNGaWxldXBsb2FkZXJfX3N0YXR1c0ljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDU3XCI7IH1cblxuLmVycm9yLS1leHRlbnNpb25FcnJvciAuZXNGaWxldXBsb2FkZXJfX2RhdGVpZW5kdW5nIHtcbiAgIGNvbG9yOiAjZDQxMjFlOyB9XG5cbi5lcnJvci0tc2l6ZUVycm9yIC5lc0ZpbGV1cGxvYWRlcl9fZGF0ZWlncm9lc3NlIHtcbiAgIGNvbG9yOiAjZDQxMjFlOyB9XG5cbi5lcnJvci0tZHVwbGljYXRlRmlsZW5hbWVFcnJvciAuZXNGaWxldXBsb2FkZXJfX2RhdGVpbmFtZSB7XG4gICBjb2xvcjogI2Q0MTIxZTsgfVxuXG4uZXNGaWxlVXBsb2FkZXJfX2NoZWNrYm94V3JhcHBlciB7XG4gICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgIC5lc0ZpbGVVcGxvYWRlcl9fY2hlY2tib3hXcmFwcGVyIC5lc0ZpbGVVcGxvYWRlcl9fY2hlY2tib3hMYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuICAgLmVzRmlsZVVwbG9hZGVyX19jaGVja2JveFdyYXBwZXIgLmVzRmlsZVVwbG9hZGVyX19jaGVja2JveCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAzcHg7IH1cblxuZGl2W2lkXj1lc0ZpbHRlckdyaWRfXSB7XG4gICBtYXJnaW4tbGVmdDogLTEwcHggIWltcG9ydGFudDtcbiAgIG1hcmdpbi1yaWdodDogLTEwcHggIWltcG9ydGFudDsgfVxuICAgZGl2W2lkXj1lc0ZpbHRlckdyaWRfXSAuZHgtaGVhZGVyLXJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5lc0ZpbHRlckRyb3Bkb3duIHtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmVzSW1nX2NvdmVyIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qXHJcbiAgIC0tLT4gU1ZHLUljb24gRWxlbWVudFxyXG4qL1xuLmVzU3ZnSWNvbl9fd3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmVzU3ZnSWNvbiB7XG4gICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBoZWlnaHQ6IDE2cHg7XG4gICB3aWR0aDogMTZweDtcbiAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAuZXNTdmdJY29uIHN2ZyB7XG4gICAgICBmaWxsOiAjMzMzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgIC5lc1N2Z0ljb24tLW1kIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG5cbi8qXHJcbiAgIDwtLS0gU1ZHLUljb24gRWxlbWVudFxyXG4qL1xuLmV4cGlyZXMge1xuICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1MTIxRTtcbiAgIHBhZGRpbmc6IDE2cHggMTZweCA2cHggMzJweDtcbiAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBjb2xvcjogd2hpdGU7IH1cbiAgIC5leHBpcmVzIC5leHBpcmVzX19YIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgdG9wOiAxNnB4OyB9XG4gICAgICAuZXhwaXJlcyAuZXhwaXJlc19fWDpob3ZlciB7XG4gICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgLmV4cGlyZXMgPiBkaXYuZXhwaXJlc19fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgIC5leHBpcmVzID4gZGl2Om5vdCguZXhwaXJlc19fWCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgIC5leHBpcmVzIGEsIC5leHBpcmVzIC5hIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuZXhwaXJlcyBhOmhvdmVyLCAuZXhwaXJlcyBhOmZvY3VzLCAuZXhwaXJlcyBhOmFjdGl2ZSwgLmV4cGlyZXMgYTp2aXNpdGVkLCAuZXhwaXJlcyAuYTpob3ZlciwgLmV4cGlyZXMgLmE6Zm9jdXMsIC5leHBpcmVzIC5hOmFjdGl2ZSwgLmV4cGlyZXMgLmE6dmlzaXRlZCB7XG4gICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubGluay1ub2RlY29yYXRpb24sXG4ubGluay1ub2RlY29yYXRpb246aG92ZXIsXG4ubGluay1ub2RlY29yYXRpb246Zm9jdXMge1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5saW5rLS13aXRoVW5kZXJsaW5lLFxuLmxpbmstLXdpdGhVbmRlcmxpbmU6aG92ZXIsXG4ubGluay0td2l0aFVuZGVybGluZTpmb2N1cyB7XG4gICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZXNNb2RhbCAuZHgtcG9wdXAtY29udGVudCB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZXNNb2RhbC0tc2ltcGxlIC5keC10b29sYmFyLWJlZm9yZSB7XG4gICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH1cblxuLmFjY29yZGlvbi0td3JhcHBlciB7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHdpZHRoOiAxMDAlOyB9XG4gICAuYWNjb3JkaW9uLS13cmFwcGVyIC5hY2NvcmRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5hY2NvcmRpb24tLXdyYXBwZXIgLmFjY29yZGlvbjpiZWZvcmUge1xuICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICBjb250ZW50OiBcIlxcZjA2N1wiO1xuICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgICAuYWNjb3JkaW9uLS13cmFwcGVyIC5hY2NvcmRpb25bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDY4XCI7IH1cbiAgICAgIC5hY2NvcmRpb24tLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUge1xuICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICBsZWZ0OiA2MnB4O1xuICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICByaWdodDogMDtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmFjY29yZGlvbi0td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taWNvbiB7XG4gICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgICAgLmFjY29yZGlvbi0td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taWNvbi0tZGFuZ2VyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7IH1cbiAgICAgICAgIC5hY2NvcmRpb24tLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWljb24tLWNoZWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiBncmVlbjsgfVxuICAgLmFjY29yZGlvbi0td3JhcHBlciAuYWNjb3JkaW9uQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDE1cHggMTVweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDY1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAuYWNjb3JkaW9uLS13cmFwcGVyIC5hY2NvcmRpb25Db250ZW50LS13aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1bnNldDtcbiAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgLmFjY29yZGlvbi0td3JhcHBlciAuYWNjb3JkaW9uSHlwaGVuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgIC5hY2NvcmRpb24tLXdyYXBwZXIgLmFjY29yZGlvbi0tY2lyY2xlTGF5b3V0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5hY2NvcmRpb24tLXdyYXBwZXIgLmFjY29yZGlvbi0tY2lyY2xlTGF5b3V0OmJlZm9yZSB7XG4gICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgcGFkZGluZy10b3A6IDdweDsgfVxuICAgICAgLmFjY29yZGlvbi0td3JhcHBlciAuYWNjb3JkaW9uLS1jaXJjbGVMYXlvdXQgLmFjY29yZGlvblRpdGxlIHtcbiAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXNDb2xsYXBzaWJsZSAuZGV0YWlscyB7XG4gICBtYXgtaGVpZ2h0OiAwO1xuICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjM1cyBlYXNlLW91dDtcbiAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmVzQ29sbGFwc2libGUgLmRldGFpbHMub3BlbiB7XG4gICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAvKmJld3Vzc3QgdW5yZWFsaXN0aXNjaGUgSG9laGUsIGRhbWl0IGRpZSBBbmltYXRpb24gcGFzc3QqL1xuICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuNnMgZWFzZS1pbjsgfVxuXG4uZXNDb2xsYXBzaWJsZSAuaWNvbi1hcnJvdy1kb3duLTEyIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHdpZHRoOiAxNXB4O1xuICAgaGVpZ2h0OiAxNXB4O1xuICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDsgfVxuXG4uZXNDb2xsYXBzaWJsZSAuaWNvbi1hcnJvdy1kb3duLTEyLnJvdGF0ZWQge1xuICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cblxuI3RvYXN0V3JhcHBlciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICByaWdodDogMjNweDtcbiAgIGJvdHRvbTogMjNweDtcbiAgIHotaW5kZXg6IDIwMDAxO1xuICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTsgfVxuXG4udG9hc3Qge1xuICAgd2lkdGg6IDM4MHB4O1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgY29sb3I6IHdoaXRlO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgbWluLWhlaWdodDogNjBweDtcbiAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICBvcGFjaXR5OiAxOyB9XG4gICAudG9hc3Q6aG92ZXIgLnRvYXN0Q2xvc2Uge1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuICAgLnRvYXN0OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIHRvcDogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAudG9hc3QtLWluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsgfVxuICAgICAgLnRvYXN0LS1pbmZvOmJlZm9yZSB7XG4gICAgICAgICBjb250ZW50OiBcIlxcZjA1YVwiOyB9XG4gICAudG9hc3QtLXdhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTtcbiAgICAgIGNvbG9yOiBibGFjazsgfVxuICAgICAgLnRvYXN0LS13YXJuaW5nOmJlZm9yZSB7XG4gICAgICAgICBjb250ZW50OiBcIlxcZjA3MVwiOyB9XG4gICAudG9hc3QtLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7IH1cbiAgICAgIC50b2FzdC0tZXJyb3I6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cbiAgIC50b2FzdC0tc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjOyB9XG4gICAgICAudG9hc3QtLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IH1cblxuLnRvYXN0VGV4dFdyYXBwZXIge1xuICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggNTVweDtcbiAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4udG9hc3RDbG9zZSB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICByaWdodDogMTBweDtcbiAgIHRvcDogMTBweDtcbiAgIHdpZHRoOiAyNHB4O1xuICAgaGVpZ2h0OiAyNHB4O1xuICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgIC50b2FzdENsb3NlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcNjVcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImVhc3lTb2Z0LVB1Ymxpc2hcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuXG4udG9hc3RQcm9ncmVzcyB7XG4gICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgYm90dG9tOiAwO1xuICAgbGVmdDogMDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiA0cHg7XG4gICBvcGFjaXR5OiAwLjU7IH1cblxuLnRvYXN0SGlkZSB7XG4gICBtaW4taGVpZ2h0OiAwO1xuICAgYW5pbWF0aW9uOiBoaWRlVG9hc3QgMXMgZWFzZS1vdXQgZm9yd2FyZHM7IH1cblxuQGtleWZyYW1lcyBoaWRlVG9hc3Qge1xuICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyogUmFobWVuICovXG4vKiBSYWhtZW5nZXJ1ZXN0ICovXG4vKiBWYXJpYW50ZTogU3RhbmRhcmQgKi9cbi5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyLFxuLmxheW91dF9fcHJlc2VudGF0aW9uICNlc1BhZ2VXcmFwcGVyIHtcbiAgIG1pbi13aWR0aDogMTAwJTtcbiAgIC8qIG1pbi13aWR0aCDDvGJlcnNjaHJlaWJ0IGRlbiBrbGVpbmVuLCB2b3JoZXJpZ2VuIFdlcnQuIFdvcmthcm91bmQgZnVlciBpT1MtSWZyYW1lLVByb2JsZW0qL1xuICAgb3ZlcmZsb3cteTogYXV0bztcbiAgIC8qIGRhbWl0IGF1Y2ggYWxsZSBFbGVtZW50ZSBkcmluIHNpbmQgKi9cbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJ1cmdlck5hdkxvZ28gaGVhZGVyVXNlckluZm9cIiBcImhlYWRlckltZyBoZWFkZXJJbWdcIiBcIm5hdiBjb250ZW50XCIgXCJuYXYgZm9vdGVyXCI7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgIGdyaWQtdGVtcGxhdGUtcm93czogNDZweCBhdXRvIDFmciBhdXRvOyB9XG4gICAubGF5b3V0X19zdGFuZGFyZCAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRIZWFkZXJfX2J1cmdlck5hdkxvZ28sXG4gICAubGF5b3V0X19wcmVzZW50YXRpb24gI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0SGVhZGVyX19idXJnZXJOYXZMb2dvIHtcbiAgICAgIGdyaWQtYXJlYTogYnVyZ2VyTmF2TG9nbztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUhlYWRlckZpcm1lbmxvZ29CZ0NvbG9yLS0tLTsgfVxuICAgLmxheW91dF9fc3RhbmRhcmQgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0SGVhZGVyX191c3IsXG4gICAubGF5b3V0X19wcmVzZW50YXRpb24gI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0SGVhZGVyX191c3Ige1xuICAgICAgZ3JpZC1hcmVhOiBoZWFkZXJVc2VySW5mbztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tSGVhZGVyQmdDb2xvci0tLS07IH1cbiAgIC5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dEhlYWRlcl9faGVhZGVySW1nLFxuICAgLmxheW91dF9fcHJlc2VudGF0aW9uICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dEhlYWRlcl9faGVhZGVySW1nIHtcbiAgICAgIGdyaWQtYXJlYTogaGVhZGVySW1nO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgbWF4LWhlaWdodDogMjcwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dEhlYWRlcl9faGVhZGVySW1nIC5lc0ltZ19jb3ZlcixcbiAgICAgIC5sYXlvdXRfX3ByZXNlbnRhdGlvbiAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRIZWFkZXJfX2hlYWRlckltZyAuZXNJbWdfY292ZXIge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7IH1cbiAgIC5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dEhlYWRlcl9fbG9nbyxcbiAgIC5sYXlvdXRfX3ByZXNlbnRhdGlvbiAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRIZWFkZXJfX2xvZ28ge1xuICAgICAgZ3JpZC1hcmVhOiBsb2dvO1xuICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgIC5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dE5hdmlnYXRpb24sXG4gICAubGF5b3V0X19wcmVzZW50YXRpb24gI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0TmF2aWdhdGlvbiB7XG4gICAgICBncmlkLWFyZWE6IG5hdjsgfVxuICAgLmxheW91dF9fc3RhbmRhcmQgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0X21haW4sXG4gICAubGF5b3V0X19wcmVzZW50YXRpb24gI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0X21haW4ge1xuICAgICAgZ3JpZC1hcmVhOiBjb250ZW50OyB9XG4gICAubGF5b3V0X19zdGFuZGFyZCAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRGb290ZXIsXG4gICAubGF5b3V0X19wcmVzZW50YXRpb24gI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0Rm9vdGVyIHtcbiAgICAgIGdyaWQtYXJlYTogZm9vdGVyOyB9XG5cbi5pbm5lcldpZHRoTHQ5OTJQeCAjZXNQYWdlV3JhcHBlciB7XG4gICAvKipXb3JrYXJvdW5kOiBDU1MtS2xhc3NlIHdpcmQgcGVyIEpTLUZ1bmN0aW9uIGJlaSBvblJlc2l6ZSBnZXNldHp0LCBkYSBncmlkLXRlbXBsYXRlLWFyZWEgbmljaHQgaW5uZXJoYWxiIGVpbmVyIE1lZGlhLVF1ZXJ5IGVudGhhbHRlbiBzZWluIGRhcmYgLT4gS29tcGlsaWVydWduc2ZlaGxlclxyXG4gICAgICAgICBzaWVoZTogcmFobWVuLmpzICovXG4gICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJ1cmdlck5hdkxvZ28gaGVhZGVyVXNlckluZm9cIiBcImhlYWRlckltZyBoZWFkZXJJbWdcIiBcImNvbnRlbnQgY29udGVudFwiIFwiZm9vdGVyIGZvb3RlclwiOyB9XG4gICAuaW5uZXJXaWR0aEx0OTkyUHggI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0X21haW4ge1xuICAgICAgLW1zLWdyaWQtcm93OiAzO1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAxO1xuICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDI7XG4gICAgICBncmlkLWFyZWE6IGNvbnRlbnQ7IH1cblxuLmlubmVyV2lkdGhMdDk5MlB4LmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0Rm9vdGVyIHtcbiAgIC1tcy1ncmlkLXJvdzogNDtcbiAgIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyOyB9XG5cbi8qIFZhcmlhbnRlOiBBdWYgQ29udGVudCByZWR1emllcnQgKi9cbi5sYXlvdXRfX2NvbnRlbnQgI2VzUGFnZVdyYXBwZXIge1xuICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJidXJnZXJOYXZMb2dvIGhlYWRlclVzZXJJbmZvXCIgXCJoZWFkZXJJbWcgaGVhZGVySW1nXCIgXCJjb250ZW50IGNvbnRlbnRcIiBcImZvb3RlciBmb290ZXJcIjtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAgMWZyO1xuICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwIDAgMWZyIDA7XG4gICBkaXNwbGF5OiBncmlkOyB9XG4gICAubGF5b3V0X19jb250ZW50ICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dF9tYWluIHtcbiAgICAgIC1tcy1ncmlkLXJvdzogMztcbiAgICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuICAgICAgZ3JpZC1hcmVhOiBjb250ZW50OyB9XG5cbi8qIFZhcmlhbnRlOiBQcmVzZW50YXRpb24gQW5wYXNzdW5nICovXG4ubGF5b3V0X19wcmVzZW50YXRpb24ucHVibGlzaFZlcnNpb25Nb2R1bF9fUDIgI2VzUGFnZVdyYXBwZXIge1xuICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJidXJnZXJOYXZMb2dvIGhlYWRlclVzZXJJbmZvXCIgXCJoZWFkZXJJbWcgaGVhZGVySW1nXCIgXCJjb250ZW50IGNvbnRlbnRcIiBcImZvb3RlciBmb290ZXJcIjtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cbiAgIC5sYXlvdXRfX3ByZXNlbnRhdGlvbi5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMiAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRfbWFpbiB7XG4gICAgICB3aWR0aDogOTglO1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuODEpOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5sYXlvdXRfX3ByZXNlbnRhdGlvbi5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMiAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRfbWFpbiB7XG4gICAgICAgICB3aWR0aDogMTAwMHB4OyB9IH1cbiAgIC5sYXlvdXRfX3ByZXNlbnRhdGlvbi5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMiAjZXNQYWdlV3JhcHBlciAjZXNMYXlvdXRIZWFkZXJfX2xvZ28ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAubGF5b3V0X19wcmVzZW50YXRpb24ucHVibGlzaFZlcnNpb25Nb2R1bF9fUDIgI2VzUGFnZVdyYXBwZXIgLmVzTGF5b3V0X21haW5faW5uZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMyAjZXNQYWdlV3JhcHBlciB7XG4gICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJ1cmdlck5hdkxvZ28gaGVhZGVyVXNlckluZm9cIiBcImhlYWRlckltZyBoZWFkZXJJbWdcIiBcImNvbnRlbnQgY29udGVudFwiIFwiZm9vdGVyIGZvb3RlclwiO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuICAgLmxheW91dF9fcHJlc2VudGF0aW9uLnB1Ymxpc2hWZXJzaW9uTW9kdWxfX1AzICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dF9tYWluX2lubmVyID4gZGl2IHtcbiAgICAgIHdpZHRoOiA5OCU7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgcGFkZGluZzogNjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTZweCAwIHJnYmEoMCwgMCwgMCwgMC44MSk7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAubGF5b3V0X19wcmVzZW50YXRpb24ucHVibGlzaFZlcnNpb25Nb2R1bF9fUDMgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0X21haW5faW5uZXIgPiBkaXYge1xuICAgICAgICAgd2lkdGg6IDEwMDBweDsgfSB9XG4gICAubGF5b3V0X19wcmVzZW50YXRpb24ucHVibGlzaFZlcnNpb25Nb2R1bF9fUDMgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0SGVhZGVyX19sb2dvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgLmxheW91dF9fcHJlc2VudGF0aW9uLnB1Ymxpc2hWZXJzaW9uTW9kdWxfX1AzICNlc1BhZ2VXcmFwcGVyIC5lc0xheW91dF9tYWluX2lubmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4ubGF5b3V0X19wcmVzZW50YXRpb24ucHVibGlzaFZlcnNpb25Nb2R1bF9fUDMuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0X21haW5faW5uZXIgPiBkaXYge1xuICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpOyB9XG5cbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMy5hY3Rpb25fX2JlcmljaHRhbnplaWdlICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dF9tYWluX2lubmVyID4gZGl2IHtcbiAgIGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpOyB9XG5cbiNlc0xheW91dE5hdmlnYXRpb24ge1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICB6LWluZGV4OiAxMDI7IH1cblxuI2VzTGF5b3V0SGVhZGVyX191c3Ige1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgIHotaW5kZXg6IDEwMzsgfVxuXG4jZXNMYXlvdXRGb290ZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUZvb3RlckJnQ29sb3ItLS0tO1xuICAgY29sb3I6IC0tLS1Gb290ZXJGb250Q29sb3ItLS0tOyB9XG5cbiNlc0xheW91dF9tYWluIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmVzTGF5b3V0X21haW5faW5uZXIge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBvdmVyZmxvdzogYXV0bztcbiAgIHdpZHRoOiAxMDAlOyB9XG5cbi5lc0xheW91dF9tYWluX2lubmVyLS1mdWxsSGVpZ2h0IHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgIC5lc0xheW91dF9tYWluX2lubmVyLS1GdWxsSGVpZ2h0RGVza3RvcE9ubHkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5lc0lvc185IC5lc0xheW91dF9tYWluX2lubmVyLFxuLmVzSW9zXzEwIC5lc0xheW91dF9tYWluX2lubmVyLFxuLmVzSW9zXzExIC5lc0xheW91dF9tYWluX2lubmVyLFxuLmVzSW9zXzEyIC5lc0xheW91dF9tYWluX2lubmVyLFxuLmVzSW9zXzEzIC5lc0xheW91dF9tYWluX2lubmVyIHtcbiAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4vKiBGYWxsdW50ZXJzY2hlaWR1bmcgTGF5b3V0OiBJbSBTdGFuZGFyZCB2b2xsZSBIw7ZoZSwgY29udGVudHJlZHV6aWVydCAoTEMpIG51ciBzbyBob2NoIHdpZSBkZXIgSW5oYWx0ICovXG4ubGF5b3V0X19zdGFuZGFyZCAuZXNMYXlvdXRfbWFpbl9pbm5lciB7XG4gICBmbGV4LWdyb3c6IDE7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxheW91dF9fY29udGVudC5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMyAuZXNMYXlvdXRfbWFpbl9pbm5lciB7XG4gICAvKm1pbi1oZWlnaHQ6IDUwMHB4OyAvLyBXdXJkZSBlaW5nZWJhdXQsIGRhbWl0IGJlaW0gR3JpZCBkZXIgTGFkZWtyaW5nZWwgbmljaHQgYWJnZXNjaG5pdHRlbiB3aXJkIChzb25zdCBTZWl0ZSBuaWNodCBob2NoIGdlbnVnKSAqL1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBoZWlnaHQ6IGF1dG87IH1cblxuLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc0xheW91dF9tYWluX2lubmVyIHtcbiAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEZpeCBmw7xyIGV4dGVybmUgU2VpdGVuIG9obmUgSMO2aGVuYW5wYXNzdW5nKi9cbi5pc3RBbnplaWdlRXh0ZXJuZXJTZWl0ZSAuZXNMYXlvdXRfbWFpbl9pbm5lciB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogRml4IGbDvHIgTW9vZGxlL0lsaWFzIEjDtmhlbmJlcmVjaG51bmcgZGVzIGlGcmFtZSovXG4uY29udHJvbGxlcl9fbW9vICNlc0xheW91dF9tYWluX2lubmVyLFxuLmNvbnRyb2xsZXJfX2lsaSAjZXNMYXlvdXRfbWFpbl9pbm5lciB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuW2lkXj1lc0xheW91dEhlYWRlcl0ge1xuICAgei1pbmRleDogMTAyOyB9XG5cbiNlc0xheW91dEhlYWRlcl9fYnVyZ2VyTmF2TG9nbyB7XG4gICB6LWluZGV4OiAxMDM7IH1cblxuLyogSUUtRml4OiBJc3Qga2VpbiBEZXNrdG9wLUhlYWRlcmJpbGQgZ2VzZXR6dCwgamVkb2NoIGFiZXIgQmlsZGVyIGbDvHIgVGFibGV0L01vYmlsZSwgZ2lidCBlcyBlaW5lbiB3ZWnDn2VuIGxlZXJlbiBLYXN0ZW4gaW0gSUUuICAqL1xuLmVzTGF5b3V0SGVhZGVyX19oZWFkZXJJbWctLWludGVybmV0ZXhwbG9yZXItaW5hY3RpdmUge1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgLmxheW91dF9fc3RhbmRhcmQgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0SGVhZGVyX19sb2dvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAjZXNMYXlvdXROYXZpZ2F0aW9uIHtcbiAgICAgIHRvcDogNDZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAzMDBweDsgfVxuICAgLmxheW91dF9fc3RhbmRhcmQgI2VzUGFnZVdyYXBwZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMDBweCAxZnI7IH1cbiAgICAgIC5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dE5hdmlnYXRpb24ge1xuICAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgIHRyYW5zaXRpb246IHRvcCA1MDBtcyBlYXNlLW91dDtcbiAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gOTBweCAtIDJweCk7IH1cbiAgICNlc1BhZ2VXcmFwcGVyLm1vYmlsZU1lbnVlT3BlbmVkICNlc0xheW91dE5hdmlnYXRpb24ge1xuICAgICAgdG9wOiA0NnB4O1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDQwMG1zIGVhc2Utb3V0O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0NnB4KTsgfVxuICAgLmxheW91dF9fc3RhbmRhcmRfcmV2ZXJzZWQgI2VzTGF5b3V0TmF2aWdhdGlvbixcbiAgIC5sYXlvdXRfX3N0YW5kYXJkX3JldmVyc2VkLmFjdGl2ZSAjZXNMYXlvdXROYXZpZ2F0aW9uIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAjaGFtYnVyZ2VyTWVudWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgIC5sYXlvdXRfX3N0YW5kYXJkIC5lc0xheW91dFVzZXJQb3B1cF9fbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgICNlc1BhZ2VXcmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3cteTogdW5zZXQ7IH1cbiAgIC5sYXlvdXRfX3N0YW5kYXJkICNlc1BhZ2VXcmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICBodG1sLFxuICAgYm9keSxcbiAgICNlc1BhZ2VXcmFwcGVyLFxuICAgaWZyYW1lIHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAjZXNMYXlvdXRfbWFpbixcbiAgIC5lc0xheW91dF9tYWluX2lubmVyLFxuICAgLmF1Zmxpc3R1bmdEb3plbnRlbixcbiAgIC5hdWZsaXN0dW5nUHJlaXNncnVwcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgIC5hdWZsaXN0dW5nRG96ZW50ZW4gLmRvemVudC0taXRlbSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmF1Zmxpc3R1bmdEb3plbnRlbiAuZG96ZW50LS1pdGVtIC5kb3plbnQtLWJpbGQge1xuICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgIGEuYnRuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBIZWFkZXIgKi9cbi5oZWFkZXJfX3VzZXJkYXRhIHtcbiAgIGZsb2F0OiByaWdodDtcbiAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4uZXNOYWNocmljaHRlbkljb24ge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAxMHB4O1xuICAgcmlnaHQ6IDIzMHB4O1xuICAgei1pbmRleDogMTA0OyB9XG4gICAuZXNOYWNocmljaHRlbkljb25fX2lubmVyV3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgIC5lc05hY2hyaWNodGVuSWNvbiAuaWNvbi1maS1ycy1lbnZlbG9wZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgICAgIC5lc05hY2hyaWNodGVuSWNvbiAuaWNvbi1maS1ycy1lbnZlbG9wZTpob3ZlciB7XG4gICAgICAgICBjb2xvcjogLS0tLUFremVudC1Ib3Zlci0tLS07IH1cbiAgIC5lc05hY2hyaWNodGVuSWNvbl9fYW56YWhsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICByaWdodDogLTEwcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmVzTmFjaHJpY2h0ZW5JY29uX19hbnphaGw6aG92ZXIge1xuICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAuZXNOYWNocmljaHRlbkljb25fX2FuemFobC0tc2Nod2FyeiwgLmVzTmFjaHJpY2h0ZW5JY29uX19hbnphaGwtLXNjaHdhcno6aG92ZXIge1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG5cbi8qIFBvcHVwIG1pdCBVc2VyaW5mb3MgKi9cbiNlc0xheW91dEhlYWRlcl9fVXNlclBvcHVwIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgcGFkZGluZzogN3B4IDE1cHggMTVweDtcbiAgIGhlaWdodDogNDZweDtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgIGJvcmRlci10b3A6IG5vbmU7XG4gICBjb2xvcjogLS0tLUhlYWRlckZvbnRDb2xvci0tLS07XG4gICB6LWluZGV4OiAxMDM7IH1cbiAgICNlc0xheW91dEhlYWRlcl9fVXNlclBvcHVwIC5lc0xheW91dFVzZXJQb3B1cF9fQWxsd2F5c09uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAjZXNMYXlvdXRIZWFkZXJfX1VzZXJQb3B1cCBhIHtcbiAgICAgIGNvbG9yOiAtLS0tSGVhZGVyVXNlclBvcHVwRm9udENvbG9yLS0tLTsgfVxuICAgI2VzTGF5b3V0SGVhZGVyX19Vc2VyUG9wdXAub3BlbiB7XG4gICAgICBjb2xvcjogLS0tLUhlYWRlclVzZXJQb3B1cEZvbnRDb2xvci0tLS07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tSGVhZGVyVXNlclBvcHVwQmdDb2xvci0tLS07XG4gICAgICBib3JkZXItY29sb3I6ICNiYmJiYmI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgICAgI2VzTGF5b3V0SGVhZGVyX19Vc2VyUG9wdXAub3BlbiAuZXNMYXlvdXRVc2VyUG9wdXBfX29lZmZuZW4ge1xuICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGVVc2VyUG9wdXBBcnJvdy1pbiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgICBjb2xvcjogLS0tLUFremVudC0tLS07IH1cbiAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgI2VzTGF5b3V0SGVhZGVyX19Vc2VyUG9wdXA6aG92ZXIge1xuICAgICAgICAgY29sb3I6IC0tLS1IZWFkZXJVc2VyUG9wdXBGb250Q29sb3ItLS0tO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogLS0tLUhlYWRlclVzZXJQb3B1cEJnQ29sb3ItLS0tO1xuICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmJiYmJiO1xuICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAgICAgICNlc0xheW91dEhlYWRlcl9fVXNlclBvcHVwOmhvdmVyIC5lc0xheW91dFVzZXJQb3B1cF9fb2VmZm5lbiB7XG4gICAgICAgICAgICBhbmltYXRpb246IHJvdGF0ZVVzZXJQb3B1cEFycm93LWluIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfSB9XG4gICAjZXNMYXlvdXRIZWFkZXJfX1VzZXJQb3B1cC5pbnRlcm5ldGV4cGxvcmVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAtLS0tSGVhZGVyVXNlclBvcHVwRm9udENvbG9yLS0tLTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IC0tLS1IZWFkZXJVc2VyUG9wdXBCZ0NvbG9yLS0tLTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2JiYmJiYjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gICAgICAjZXNMYXlvdXRIZWFkZXJfX1VzZXJQb3B1cC5pbnRlcm5ldGV4cGxvcmVyOmhvdmVyIC5lc0xheW91dFVzZXJQb3B1cF9fb2VmZm5lbiB7XG4gICAgICAgICBhbmltYXRpb246IHJvdGF0ZVVzZXJQb3B1cEFycm93LWluIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuXG4jZXNMYXlvdXRIZWFkZXJfX1VzZXJQb3B1cC53ay1ha3RpdiB7XG4gICByaWdodDogNTBweDsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVVzZXJQb3B1cEFycm93LWluIHtcbiAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7IH1cbiAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVVzZXJQb3B1cEFycm93LW91dCB7XG4gICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cbiAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgbWFyZ2luLXRvcDogMXB4OyB9IH1cblxuLmVzTGF5b3V0VXNlclBvcHVwX19rb250YWt0YmlsZCB7XG4gICBoZWlnaHQ6IDMwcHg7XG4gICB3aWR0aDogMzBweDtcbiAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG5cbi5lc0xheW91dFVzZXJQb3B1cF9fbmFtZVdyYXBwZXIge1xuICAgZGlzcGxheTogZmxleDsgfVxuXG4uZXNMYXlvdXRVc2VyUG9wdXBfX25hbWUge1xuICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICBoZWlnaHQ6IDMwcHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgd2lkdGg6IDEzMHB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG4uZXNMYXlvdXRVc2VyUG9wdXBfX29lZmZuZW4ge1xuICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgZm9udC1zaXplOiAuOHJlbTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi10b3A6IDFweDtcbiAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgYW5pbWF0aW9uOiByb3RhdGVVc2VyUG9wdXBBcnJvdy1vdXQgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uZXNMYXlvdXRVc2VyUG9wdXBfX3NwcmFjaHdhaGwge1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgIG1hcmdpbi10b3A6IDhweDtcbiAgIG92ZXJmbG93OiBhdXRvO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZXNMYXlvdXRVc2VyUG9wdXBfX3NwcmFjaGUge1xuICAgcGFkZGluZzogNXB4O1xuICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgLmVzTGF5b3V0VXNlclBvcHVwX19zcHJhY2hlLS1ha3RpdiB7XG4gICAgICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LS0tLTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgIC5lc0xheW91dFVzZXJQb3B1cF9fc3ByYWNoZTpub3QoLmVzTGF5b3V0VXNlclBvcHVwX19zcHJhY2hlLS1ha3Rpdik6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogLS0tLUhlYWRlclVzZXJQb3B1cEZvbnRDb2xvci0tLS07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmVzTGF5b3V0VXNlclBvcHVwX19sb2dvdXQsXG4uZXNMYXlvdXRVc2VyUG9wdXBfX2hpbGZlIHtcbiAgIG1hcmdpbi10b3A6IDVweDsgfVxuXG4uZXNMYXlvdXRVc2VyUG9wdXBfX3Byb2ZpbCxcbi5lc0xheW91dFVzZXJQb3B1cF9faGlsZmUsXG4uZXNMYXlvdXRVc2VyUG9wdXBfX2xvZ291dCxcbi5lc0xheW91dFVzZXJQb3B1cF9fbG9naW4sXG4uZXNMYXlvdXRVc2VyUG9wdXBfX3JlZ2lzdHJpZXJlbiB7XG4gICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZXNMYXlvdXRVc2VyUG9wdXBfX3ZlcnNpb24ge1xuICAgZm9udC1zaXplOiAxcmVtO1xuICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgLmVzTmFjaHJpY2h0ZW5JY29uIHtcbiAgICAgIHJpZ2h0OiAxMDBweDsgfVxuICAgLmVzTGF5b3V0VXNlclBvcHVwX19uYW1lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IDEwMXB4OyB9XG4gICAjZXNMYXlvdXRIZWFkZXJfX1VzZXJQb3B1cCAuZXNMYXlvdXRVc2VyUG9wdXBfX0FsbHdheXNPbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgI2VzTGF5b3V0SGVhZGVyX19Vc2VyUG9wdXAub3BlbiAuZXNMYXlvdXRVc2VyUG9wdXBfX0FsbHdheXNPbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICNlc0xheW91dEhlYWRlcl9fVXNlclBvcHVwLm9wZW4gLmVzTGF5b3V0VXNlclBvcHVwX19BbGx3YXlzT24gLmVzTGF5b3V0VXNlclBvcHVwX19uYW1lIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAub2JzSW5mb3JtYXRpb25fX3N0ZWxsZW5UaXRlbCB7XG4gICAgICBmb250LXNpemU6IDIuOHJlbTsgfVxuICAgLmxheW91dF9fc3RhbmRhcmQgI2VzUGFnZVdyYXBwZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgODBweDsgfVxuICAgICAgLmxheW91dF9fc3RhbmRhcmQgI2VzUGFnZVdyYXBwZXIgI2VzTGF5b3V0X21haW4ge1xuICAgICAgICAgLW1zLWdyaWQtcm93OiAzO1xuICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDI7XG4gICAgICAgICBncmlkLWFyZWE6IGNvbnRlbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgI2VzTGF5b3V0SGVhZGVyX19oZWFkZXJJbWcge1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgbWF4LWhlaWdodDogMjhweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICNlc0xheW91dEhlYWRlcl9faGVhZGVySW1nLnNjcm9sbERvd24ge1xuICAgICAgICAgbWF4LWhlaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICNMTkUgPiAub3ZlcmZsb3dZQXV0byxcbiAgICNCUkggPiAub3ZlcmZsb3dZQXV0byB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9IH1cblxuLyogRm9vdGVyICovXG4jZXNMYXlvdXRGb290ZXIge1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgcGFkZGluZzogNHB4OyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI2VzTGF5b3V0Rm9vdGVyIHtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgIHBhZGRpbmc6IDZweDsgfSB9XG4gICAjZXNMYXlvdXRGb290ZXIgYSB7XG4gICAgICBjb2xvcjogLS0tLUZvb3RlckZvbnRDb2xvci0tLS07IH1cblxuLmVzTGF5b3V0Rm9vdGVyX19jZW50ZXJlZFRleHQge1xuICAgY2xlYXI6IGJvdGg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBtYXJnaW46IDAgMjBweCAwIDA7IH1cblxuLmVzTGF5b3V0Rm9vdGVyX19pbXByZXNzdW0sXG4uZXNMYXlvdXRGb290ZXJfX2RhdGVuc2NodXR6IHtcbiAgIHBhZGRpbmctbGVmdDogMjFweDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgLmVzTGF5b3V0Rm9vdGVyX19pbXByZXNzdW06YmVmb3JlLFxuICAgLmVzTGF5b3V0Rm9vdGVyX19kYXRlbnNjaHV0ejpiZWZvcmUge1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNnB4O1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBjb2xvcjogLS0tLUZvb3RlckZvbnRDb2xvci0tLS07XG4gICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbiNlc0xheW91dEZvb3Rlcl9fc2VpdGVubGlua0FuemVpZ2VuIHtcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIGZsb2F0OiByaWdodDtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjZXNMYXlvdXRGb290ZXJfX3NlaXRlbmxpbmtBbnplaWdlbiB7XG4gICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4jZXNMYXlvdXRGb290ZXJfX3NlaXRlbmxpbmsge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHJpZ2h0OiAxMHB4O1xuICAgYm90dG9tOiAzNHB4O1xuICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICBjb2xvcjogYmxhY2s7XG4gICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgcGFkZGluZzogNXB4IDE1cHg7IH1cbiAgICNlc0xheW91dEZvb3Rlcl9fc2VpdGVubGluay5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4jZXNMYXlvdXRGb290ZXJfX3NlaXRlbmxpbmtDb3B5U3VjY2VzcyB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICByaWdodDogMDtcbiAgIGJvdHRvbTogN3B4OyB9XG5cbi8qIFNwZXppZWxsZSBGb3JtYXRpZXJ1bmdlbiBmw7xyIGVpbnplbG5lIE1vZHVsZSBpbiBQdWJsaXNoICovXG4uYmV3ZXJ0dW5nLWludHJvLFxuLmJld2VydHVuZy1vdXRybyxcbi5iZXdlcnR1bmctdGl0bGUge1xuICAgbWF4LXdpZHRoOiA3MDBweDsgfVxuXG4uY29udHJvbGxlcl9fYnJnIC5jYXAge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJvdHRvbTogODAwJTsgfVxuXG4uY29udHJvbGxlcl9fYnJnICNlc0xheW91dF9tYWluIC5lc0JSRyB7XG4gICBtYXgtd2lkdGg6IDcyMHB4OyB9XG4gICAuY29udHJvbGxlcl9fYnJnICNlc0xheW91dF9tYWluIC5lc0JSRyAuZXNGb3JtdWxhciB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY29udHJvbGxlcl9fYnJnICNlc0xheW91dF9tYWluIC5lc0JSRyAuZXNGb3JtdWxhciAuZXNGb3JtdWxhcmluc3Rhbnoge1xuICAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgIC5jb250cm9sbGVyX19icmcgI2VzTGF5b3V0X21haW4gLmVzQlJHIC5hbGVydCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jb250cm9sbGVyX19icmcgI2VzSW50cm8ge1xuICAgbWFyZ2luOiAwIDJyZW07IH1cblxuLmNvbnRyb2xsZXJfX2JyZyAjYnJnRm9ybTEge1xuICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgIHBhZGRpbmc6IDFyZW0gMnJlbTsgfVxuXG4uY29udHJvbGxlcl9fYnJnIC5lc0Zvcm11bGFyZmVsZCB7XG4gICBtYXJnaW46IDA7IH1cblxuLmNvbnRyb2xsZXJfX2JyZyAjZXNMYXlvdXRfbWFpbiAuZXNFaW5nZXNjaHJhZW5rdGVTZWl0ZW5icmVpdGUge1xuICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgd2lkdGg6IGNhbGMoMTAwJSAtICgkZXNCYXNlVW5pdCAqIDIpKTsgfVxuXG4uY29udHJvbGxlcl9fYnJnIC5lc0Zvcm11bGFyd3JhcHBlci0tQnJnS29udGFrdEFubGVnZW4gZm9ybSB7XG4gICBtYXgtd2lkdGg6IDU3NnB4OyB9XG4gICAuY29udHJvbGxlcl9fYnJnIC5lc0Zvcm11bGFyd3JhcHBlci0tQnJnS29udGFrdEFubGVnZW4gZm9ybSAuZXNGb3JtdWxhcmluc3Rhbnoge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cblxuLmNvbnRyb2xsZXJfX2JyZyAuRm9ybXVsYXJIaW53ZWlzIHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29udHJvbGxlcl9fYnJnIGZvcm0ge1xuICAgbWFyZ2luOiAwIGF1dG87XG4gICBwYWRkaW5nOiAxcmVtOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbnRyb2xsZXJfX2JyZyBmb3JtIC5lc0Zvcm0tZ3JvdXAge1xuICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgIC5jb250cm9sbGVyX19icmcgZm9ybSAuZXNGb3JtLWdyb3VwID4gbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAgLmNvbnRyb2xsZXJfX2JyZyBmb3JtIC5lc0Zvcm0tZ3JvdXAgPiBkaXYsIC5jb250cm9sbGVyX19icmcgZm9ybSAuZXNGb3JtLWdyb3VwID4gaHIge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMDsgfVxuICAgICAgLmNvbnRyb2xsZXJfX2JyZyBmb3JtIC5lc0Zvcm11bGFyZmVsZF9fRXJ3ZWl0ZXJ1bmdCaWxkLFxuICAgICAgLmNvbnRyb2xsZXJfX2JyZyBmb3JtIC5lc0Zvcm11bGFyZmVsZF9fZmVobGVyV3JhcHBlciB7XG4gICAgICAgICBtYXJnaW4tbGVmdDogMTgwcHg7IH0gfVxuICAgLmNvbnRyb2xsZXJfX2JyZyBmb3JtIC5lc0Zvcm11bGFyZmVsZC0tZGFyZlp3ZWlzcGFsdGlnZUFuemVpZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgIC5jb250cm9sbGVyX19icmcgZm9ybSAuZXNGb3JtdWxhcmZlbGRfX2lubmVyV3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07IH1cblxuLmNvbnRyb2xsZXJfX2JyZyAuZXNLZW5ud29ydFZlcmdlc3Nlbkxpbmsge1xuICAgY29sb3I6ICMwMDk3QjM7XG4gICBjbGVhcjogYm90aDtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uY29udHJvbGxlcl9fYnJnLmFjdGlvbl9fa29udGFrdGFubGVnZW4gLmVzRm9ybXVsYXJncm91cC0tZ3J1cHBlbmxvcyB7XG4gICBtYXJnaW46IDA7IH1cblxuLmNvbnRyb2xsZXJfX2JyZy5hY3Rpb25fX2tvbnRha3RhbmxlZ2VuIC5lc0Zvcm11bGFyaW5zdGFuel9fdGVpbG5laG1lciB7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udHJvbGxlcl9fYnJoIC5lc0dyaWQgLmFtcGVsX19iZXplaWNobnVuZyB7XG4gICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24gYm9keSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkI2QjZCOyB9XG5cbi5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbjpub3QoLmlzdERlc2lnbikgYm9keSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0OyB9XG5cbi5vYnNJbmZvcm1hdGlvbiAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyIHtcbiAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgcGFkZGluZzogNDVweCAwIDA7IH1cblxuLm9ic0luZm9ybWF0aW9uX19pbm5lcldyYXBwZXIge1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IGF1dG87XG4gICBwYWRkaW5nOiAwIDEwMHB4IDUwcHg7XG4gICBtYXJnaW4tYm90dG9tOiAxMTBweDsgfVxuXG4ubGF5b3V0X19zdGFuZGFyZCAub2JzSW5mb3JtYXRpb25fX2lubmVyV3JhcHBlciB7XG4gICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9XG5cbi5sYXlvdXRfX2NvbnRlbnQgLm9ic0luZm9ybWF0aW9uX19pbm5lcldyYXBwZXIge1xuICAgbWFyZ2luLWJvdHRvbTogMTEwcHg7IH1cblxuLm9ic0luZm9ybWF0aW9uX19maXJtZW5sb2dvIHtcbiAgIG1pbi1oZWlnaHQ6IDQwcHg7IH1cbiAgIC5vYnNJbmZvcm1hdGlvbl9fZmlybWVubG9nbyBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDE0MHB4O1xuICAgICAgbWF4LXdpZHRoOiAyNjBweCAhaW1wb3J0YW50OyB9XG5cbi5vYnNJbmZvcm1hdGlvbl9faGVhZGVyQmlsZCB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi5vYnNJbmZvcm1hdGlvbl9fc3RlbGxlblRpdGVsIHtcbiAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgbWFyZ2luOiA2MHB4IDAgNDBweDsgfVxuXG4ub2JzSW5mb3JtYXRpb25fX3N0ZWxsZW5JbmZvcyB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLm9ic0luZm9ybWF0aW9uX19zdGVsbGVPcnQsXG4ub2JzSW5mb3JtYXRpb25fX3N0ZWxsZUJlZ2lubixcbi5vYnNJbmZvcm1hdGlvbl9fc3RlbGxlVm9sbHplaXQsXG4ub2JzSW5mb3JtYXRpb25fX3N0ZWxsZUJlcnVmc2VyZmFocnVuZyB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9XG5cbi5lc0ljb24ge1xuICAgZm9udC1zaXplOiAxLjhyZW07XG4gICBjb2xvcjogIzZCNkI2QjtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgZmxvYXQ6IGxlZnQ7XG4gICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5vYnNJbmZvcm1hdGlvbl9fc3RlbGxlQmVnaW5uIC5lc0ljb24ge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgd2lkdGg6IDE4cHg7XG4gICBoZWlnaHQ6IDE4cHg7XG4gICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAgLm9ic0luZm9ybWF0aW9uX19zdGVsbGVCZWdpbm4gLmVzSWNvbjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTRweDsgfVxuXG4ub2JzSW5mb3JtYXRpb25fX2hyIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgIG1hcmdpbjogMjVweCAwOyB9XG5cbi5vYnNJbmZvcm1hdGlvbl9fZWlubGVpdHVuZyB7XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAub2JzSW5mb3JtYXRpb25fX2VpbmxlaXR1bmcgcCxcbiAgIC5vYnNJbmZvcm1hdGlvbl9fZWlubGVpdHVuZyBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW0gIWltcG9ydGFudDsgfVxuXG4ub2JzSW5mb3JtYXRpb25fX3N0ZWxsZW5BYnNjaG5pdHQge1xuICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgLm9ic0luZm9ybWF0aW9uX19zdGVsbGVuQWJzY2huaXR0IHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgLm9ic0luZm9ybWF0aW9uX19zdGVsbGVuQWJzY2huaXR0IHAsXG4gICAub2JzSW5mb3JtYXRpb25fX3N0ZWxsZW5BYnNjaG5pdHQgbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtICFpbXBvcnRhbnQ7IH1cbiAgIC5vYnNJbmZvcm1hdGlvbl9fc3RlbGxlbkFic2Nobml0dCBsaSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4xZW0gIWltcG9ydGFudDsgfVxuXG4ub2JzSW5mb3JtYXRpb25fX3N0ZWxsZW5BYnNjaG5pdHRVZWJlcnNjaHJpZnQge1xuICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi8qIEpldHp0IGJld2VyYmVuIEJ1dHRvbiBkYXJmIG5pY2h0IG1pdHNjcm9sbGVuICovXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19zdGFuZGFyZCAjZXNMYXlvdXRfbWFpbixcbi5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3ByZXNlbnRhdGlvbiAjZXNMYXlvdXRfbWFpbiB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fc3RhbmRhcmQgLmVzTmF2U3RpY2t5Qm90dG9tLFxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc05hdlN0aWNreUJvdHRvbSB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fc3RhbmRhcmQgLm9ic0luZm9ybWF0aW9uLFxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fcHJlc2VudGF0aW9uIC5vYnNJbmZvcm1hdGlvbiB7XG4gICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYzcHgpO1xuICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19zdGFuZGFyZDpub3QoLmlzdERlc2lnbikgLm9ic0luZm9ybWF0aW9uLFxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fcHJlc2VudGF0aW9uOm5vdCguaXN0RGVzaWduKSAub2JzSW5mb3JtYXRpb24ge1xuICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3N0YW5kYXJkLmVzSW9zXzkgLmVzTmF2U3RpY2t5Qm90dG9tLCAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19zdGFuZGFyZC5lc0lvc18xMCAuZXNOYXZTdGlja3lCb3R0b20sIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3N0YW5kYXJkLmVzSW9zXzExIC5lc05hdlN0aWNreUJvdHRvbSwgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fc3RhbmRhcmQuZXNJb3NfMTIgLmVzTmF2U3RpY2t5Qm90dG9tLCAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19zdGFuZGFyZC5lc0lvc18xMyAuZXNOYXZTdGlja3lCb3R0b20sXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19wcmVzZW50YXRpb24uZXNJb3NfOSAuZXNOYXZTdGlja3lCb3R0b20sXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19wcmVzZW50YXRpb24uZXNJb3NfMTAgLmVzTmF2U3RpY2t5Qm90dG9tLFxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fcHJlc2VudGF0aW9uLmVzSW9zXzExIC5lc05hdlN0aWNreUJvdHRvbSxcbi5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5lc0lvc18xMiAuZXNOYXZTdGlja3lCb3R0b20sXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19wcmVzZW50YXRpb24uZXNJb3NfMTMgLmVzTmF2U3RpY2t5Qm90dG9tIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGJvdHRvbTogMjBweDsgfVxuICAgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fc3RhbmRhcmQuZXNJb3NfOSAuZXNOYXZTdGlja3lCb3R0b20gYSwgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fc3RhbmRhcmQuZXNJb3NfMTAgLmVzTmF2U3RpY2t5Qm90dG9tIGEsIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3N0YW5kYXJkLmVzSW9zXzExIC5lc05hdlN0aWNreUJvdHRvbSBhLCAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19zdGFuZGFyZC5lc0lvc18xMiAuZXNOYXZTdGlja3lCb3R0b20gYSwgLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fc3RhbmRhcmQuZXNJb3NfMTMgLmVzTmF2U3RpY2t5Qm90dG9tIGEsXG4gICAuY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19wcmVzZW50YXRpb24uZXNJb3NfOSAuZXNOYXZTdGlja3lCb3R0b20gYSxcbiAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5lc0lvc18xMCAuZXNOYXZTdGlja3lCb3R0b20gYSxcbiAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5lc0lvc18xMSAuZXNOYXZTdGlja3lCb3R0b20gYSxcbiAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5lc0lvc18xMiAuZXNOYXZTdGlja3lCb3R0b20gYSxcbiAgIC5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX3ByZXNlbnRhdGlvbi5lc0lvc18xMyAuZXNOYXZTdGlja3lCb3R0b20gYSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfVxuXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19wcmVzZW50YXRpb24gLm9ic0luZm9ybWF0aW9uIHtcbiAgIGhlaWdodDogdW5zZXQ7XG4gICBvdmVyZmxvdy15OiB1bnNldDsgfVxuXG4ubGF5b3V0X19wcmVzZW50YXRpb24uY29udHJvbGxlcl9fb2JzLnB1Ymxpc2hWZXJzaW9uTW9kdWxfX1AzICNlc1BhZ2VXcmFwcGVyICNlc0xheW91dF9tYWluX2lubmVyID4gZGl2LmVzU3RydWN0dXJlZERhdGEtLUpvYlBvc3Rpbmcge1xuICAgbWluLWhlaWdodDogMDtcbiAgIHBhZGRpbmc6IDA7XG4gICBtYXJnaW46IDA7IH1cblxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fY29udGVudCAub2JzSW5mb3JtYXRpb24ge1xuICAgcGFkZGluZzogMDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19jb250ZW50IG5hdjpub3QoLmVzTmF2U3RpY2t5Qm90dG9tKSB7XG4gICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgbWFyZ2luOiAwIDE1cHg7IH1cblxuLmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX2luZm9ybWF0aW9uLmxheW91dF9fY29udGVudCAuZXNEb2N1bWVudHZpZXdfX1BhZ2VXcmFwcGVyIHtcbiAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG5cbi5jb250cm9sbGVyX19vYnMuYWN0aW9uX19pbmZvcm1hdGlvbi5sYXlvdXRfX2NvbnRlbnQgLmVzTmF2U3RpY2t5Qm90dG9tIHtcbiAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICBib3R0b206IHVuc2V0O1xuICAgbGVmdDogdW5zZXQ7XG4gICByaWdodDogdW5zZXQ7XG4gICB3aWR0aDogMTAwJTsgfVxuXG4ub2JzQmVzdGFldGlndW5nX190ZXh0IHtcbiAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgIC5vYnNCZXN0YWV0aWd1bmdfX3RleHQtLXdpdGhNYXJnaW5Cb3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ub2JzQmVzdGFldGlndW5nX19oZWFkaW5nIHtcbiAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5vYnNCZXN0YWV0aWd1bmdfX3NjaGx1c3NhdHoge1xuICAgbWFyZ2luLXRvcDogMjVweDtcbiAgIG1hcmdpbi1ib3R0b206IDU1cHg7IH1cblxuLm9ic0Jlc3RhZXRpZ3VuZ19fcGZlaWwge1xuICAgZm9udC1zaXplOiA0LjJyZW07XG4gICBsaW5lLWhlaWdodDogM3JlbTtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICBjb2xvcjogI2IzYjNiMzsgfVxuXG4ub2JzQmVzdGFldGlndW5nX19ociB7XG4gICBib3JkZXItY29sb3I6ICNhNWE1YTU7IH1cblxuLm9ic1NlbGJzdGVpbnNjaGFldHp1bmdfX2FucmVkZSB7XG4gICBmb250LXNpemU6IDIuNHJlbTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ub2JzU2VsYnN0ZWluc2NoYWV0enVuZ19fc3RlbGxlIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5vYnNTZWxic3RlaW5zY2hhZXR6dW5nX19hbnJlZGUsXG4ub2JzU2VsYnN0ZWluc2NoYWV0enVuZ19fc3RlbGxlLFxuLm9ic1NlbGJzdGVpbnNjaGFldHp1bmdfX2F1ZmZvcmRlcnVuZyB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5vYnNTZWxic3RlaW5zY2hhZXR6dW5nX19mcmFnZW4ge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBmb250LXNpemU6IDEuOXJlbTsgfVxuXG4ub2JzU2VsYnN0ZWluc2NoYWV0enVuZ0RhbmtlX191ZWJlcnNjaHJpZnQge1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uYXBwbHl3aXRoX19rYW5hbCB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGNvbG9yOiBibGFjaztcbiAgIHBhZGRpbmc6IDEwcHg7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFwcGx5d2l0aF9fa2FuYWwtLWN2LWxlYmVuc2xhdWYge1xuICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNhcHBseXdpdGhfY3ZVcGxvYWQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgcmlnaHQ6IDA7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgYm90dG9tOiAwO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgb3BhY2l0eTogMDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgZm9udC1zaXplOiAwOyB9XG5cbi5hcHBseXdpdGhfX2thbmFsOmhvdmVyLFxuLmFwcGx5d2l0aF9fa2FuYWw6Zm9jdXMsXG4uYXBwbHl3aXRoX19rYW5hbDphY3RpdmUge1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgY29sb3I6IGJsYWNrOyB9XG5cbi5hcHBseXdpdGhfX2thbmFsOmhvdmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICBjb2xvcjogYmxhY2s7IH1cblxuLmFwcGx5d2l0aF9fa2FuYWw6dmlzaXRlZCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgY29sb3I6IGJsYWNrOyB9XG5cbi5hcHBseXdpdGhfX2thbmFsLS1pY29uIHtcbiAgIGNvbG9yOiB3aGl0ZTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICBwYWRkaW5nOiAxNXB4O1xuICAgZm9udC1zaXplOiAzcmVtO1xuICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hcHBseXdpdGhfX2thbmFsLS10ZXh0IHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3N3B4KTsgfVxuXG4uYXBwbHl3aXRoX19rYW5hbC0tYm9sZCxcbi5hcHBseXdpdGhfX2ZlaGxlcmJveC0tYm9sZCB7XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaWNvbi1hcHBseXdpdGgtbGlua2VkaW4ge1xuICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdiNzsgfVxuXG4uaWNvbi1hcHBseXdpdGgteGluZyB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI2MzY1OyB9XG5cbi5pY29uLWFwcGx5d2l0aC1jdi1sZWJlbnNsYXVmIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICMwMDllYjA7IH1cblxuLmljb24tYXBwbHl3aXRoLWZvcm11bGFyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICMxYzc4N2M7IH1cblxuLmVzRm9ybXVsYXItLVZlcmlmaXppZXJ1bmdFTWFpbCBpbnB1dCB7XG4gICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgIC5lc0Zvcm11bGFyLS1WZXJpZml6aWVydW5nRU1haWwgaW5wdXQuZm9ybS1jb250cm9sIHtcbiAgICAgIG1heC13aWR0aDogMzUwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgIC5vYnNJbmZvcm1hdGlvbl9faW5uZXJXcmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjVweCA1MHB4OyB9XG4gICAub2JzSW5mb3JtYXRpb25fX3N0ZWxsZW5UaXRlbCB7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICAgIG1hcmdpbjogNDBweCAwOyB9XG4gICAub2JzSW5mb3JtYXRpb25fX2Zpcm1lbmxvZ28ge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG5cbi8qXHJcbiAgIFNUQVJUOiBPQlMgLSBTdGlsIGZ1ZXIgYWxsZSBTZWl0ZW4gZGllIHZvbiBlaW5lbSBBSkFYLU9CUyBhdXMgYXVmZ2VydWZlbiB3ZXJkZW4gYW5wYXNzZW5cclxuKi9cbi5yZWZfX29ic0V4dGVybkFqYXguY29udHJvbGxlcl9fb2JzLmFjdGlvbl9faW5mb3JtYXRpb24ubGF5b3V0X19jb250ZW50IC5lc05hdlN0aWNreUJvdHRvbSB7XG4gICB3aWR0aDogMTAwJTtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGJvdHRvbTogMDsgfVxuXG4ucmVmX19vYnNFeHRlcm5BamF4LmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX3NlbGJzdGVpbnNjaGFldHp1bmdkYW5rZSAuZXNFaW5nZXNjaHJhZW5rdGVTZWl0ZW5icmVpdGUgPiBzcGFuLCAucmVmX19vYnNFeHRlcm5BamF4LmNvbnRyb2xsZXJfX29icy5hY3Rpb25fX3NlbGJzdGVpbnNjaGFldHp1bmdoaW53ZWlzIC5lc0Vpbmdlc2NocmFlbmt0ZVNlaXRlbmJyZWl0ZSA+IHNwYW4ge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgIHBhZGRpbmc6IDZyZW07XG4gICBib3gtc2hhZG93OiAwIDAgMTZweCAwIHJnYmEoMCwgMCwgMCwgMC44MSk7XG4gICBmbGV4LWdyb3c6IDE7IH1cblxuLnJlZl9fb2JzRXh0ZXJuQWpheC5jb250cm9sbGVyX19vYnMgYm9keSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkI2QjZCOyB9XG5cbi5yZWZfX29ic0V4dGVybkFqYXguY29udHJvbGxlcl9fb2JzIC5lc0xheW91dF9tYWluX2lubmVyIHtcbiAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLnJlZl9fb2JzRXh0ZXJuQWpheC5jb250cm9sbGVyX19vYnMgLmVzRWluZ2VzY2hyYWVua3RlU2VpdGVuYnJlaXRlIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgcGFkZGluZzogMCAxNXB4O1xuICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgLnJlZl9fb2JzRXh0ZXJuQWpheC5jb250cm9sbGVyX19vYnMgLmVzRWluZ2VzY2hyYWVua3RlU2VpdGVuYnJlaXRlID4gc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDZyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTZweCAwIHJnYmEoMCwgMCwgMCwgMC44MSk7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5yZWZfX29ic0V4dGVybkFqYXguY29udHJvbGxlcl9fb2JzIC5lc0Vpbmdlc2NocmFlbmt0ZVNlaXRlbmJyZWl0ZSA+IHNlY3Rpb24gPiBzcGFuIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAucmVmX19vYnNFeHRlcm5BamF4LmNvbnRyb2xsZXJfX29icyAuZXNBYnN0YW5kT2JlbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLnJlZl9fb2JzRXh0ZXJuQWpheC5jb250cm9sbGVyX19vYnMgLmVzQWJzdGFuZFVudGVuIHtcbiAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG5cbi5yZWZfX29ic0V4dGVybkFqYXguY29udHJvbGxlcl9fb2JzIC5lc0Zvcm11bGFyIHtcbiAgIHdpZHRoOiAxMDAlOyB9XG5cbi5yZWZfX29ic0V4dGVybkFqYXguY29udHJvbGxlcl9fb2JzIC5vYnNCZXN0YWV0aWd1bmdfX2hlYWRpbmcge1xuICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ucmVmX19vYnNFeHRlcm5BamF4LmNvbnRyb2xsZXJfX29icyAub2JzU2VsYnN0ZWluc2NoYWV0enVuZ19fYW5yZWRlIHtcbiAgIG1hcmdpbi10b3A6IDA7IH1cblxuLypcclxuICAgRU5ERTogT0JTIC0gU3RpbCBmdWVyIGFsbGUgU2VpdGVuIGRpZSB2b24gZWluZW0gQUpBWC1PQlMgYXVzIGF1ZmdlcnVmZW4gd2VyZGVuIGFucGFzc2VuXHJcbiAgICovXG4uY29udHJvbGxlcl9fZHNiLmFjdGlvbl9fdWViZXJzaWNodCAjZXNMYXlvdXRfbWFpbixcbi5jb250cm9sbGVyX19kc2IuYWN0aW9uX191ZWJlcnNpY2h0IC5lc0xheW91dF9tYWluX2lubmVyIHtcbiAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uY29udHJvbGxlcl9fZHNiLmFjdGlvbl9fdWViZXJzaWNodC5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5wYW5lbENvbnRyb2xfX2J1dHRvbnMge1xuICAgYWxpZ24tc2VsZjogYXV0bztcbiAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuaHRtbC5jb250cm9sbGVyX19kc2IuYWN0aW9uX191ZWJlcnNpY2h0LmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLmVzTGF5b3V0X21haW5faW5uZXIge1xuICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuI0RTQl9Db250YWluZXIge1xuICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICNEU0JfQ29udGFpbmVyIC5keGxwTG9hZGluZ0RpdiB7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XG4gICAjRFNCX0NvbnRhaW5lciAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAjRFNCX0NvbnRhaW5lciAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLWdyb3VwLCAjRFNCX0NvbnRhaW5lciAuYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLCAjRFNCX0NvbnRhaW5lciAuYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cblxuLnBhbmVsQ29udHJvbCB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4ucGFuZWxDb250cm9sQ29udGFpbmVyIHtcbiAgIG1hcmdpbi10b3A6IDVweDtcbiAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgIHdpZHRoOiAxMDAlOyB9XG4gICAucGFuZWxDb250cm9sQ29udGFpbmVyIC5lc0ljb24ge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wYW5lbENvbnRyb2xDb250YWluZXIge1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbi5wYW5lbENvbnRyb2xfX2hlYWRpbmcge1xuICAgZm9udC1zaXplOiAzLjVyZW07XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZmxleC1ncm93OiAxOyB9XG5cbi5wYW5lbENvbnRyb2xfX2J1dHRvbnMge1xuICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wYW5lbEljb24ge1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnBhbmVsQ29udHJvbF9fc2VwYXJhdG9yOmFmdGVyIHtcbiAgIGNvbnRlbnQ6ICcgJztcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgZmxvYXQ6IGxlZnQ7XG4gICBiYWNrZ3JvdW5kOiAjQURBREFEO1xuICAgbWFyZ2luOiAwIDEwcHg7XG4gICBoZWlnaHQ6IDM0cHg7XG4gICB3aWR0aDogMXB4OyB9XG5cbi5keGR6Q29udHJvbFZlcnQgLmR4cGNsVyB7XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5kb2NrUGFuZWxIZWFkZXIge1xuICAgZGlzcGxheTogZmxleDtcbiAgIC8qY29sb3I6ICM4QjhCOEQ7Ki9cbiAgIGNvbG9yOiAjNmI2YjZiO1xuICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAvKmJhY2tncm91bmQtY29sb3I6ICM4QjhCOEQ7Ki8gfVxuXG4uZG9ja1BhbmVsSGVhZGVyX0ljb25BbmRUaXRsZSB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgcGFkZGluZzogMTFweCAwIDExcHggMTVweDtcbiAgIGZsZXg6IDE7IH1cblxuLmRvY2tQYW5lbEhlYWRlcl9faWNvbiB7XG4gICBmb250LXNpemU6IDIuNXJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAxLjdyZW07XG4gICAvKmNvbG9yOiAjZmZmOyovIH1cblxuLmRvY2tQYW5lbEhlYWRlcl9fdGl0bGUge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLmRvY2tQYW5lbEhlYWRlcl9fY2xvc2Uge1xuICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBwYWRkaW5nOiA5cHg7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2QjZCNkI7IH1cblxuLmRzYl9fZG9ja3pvbmUge1xuICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgLmRzYl9fZG9ja3pvbmUgPiBkaXYge1xuICAgICAgLyptYXJnaW4tcmlnaHQ6MTVweDsqL1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgLmRzYl9fZG9ja3pvbmUgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgIC8qbWFyZ2luLXJpZ2h0OjA7Ki9cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnJpZ2h0Wm9uZSwgLmxlZnRab25lLCAuY2VudGVyWm9uZSB7XG4gICBtaW4td2lkdGg6IDI4MHB4O1xuICAgZmxvYXQ6IGxlZnQ7XG4gICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5yaWdodFpvbmUsIC5sZWZ0Wm9uZSwgLmNlbnRlclpvbmUge1xuICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAgICAgLnJpZ2h0Wm9uZSwgLmxlZnRab25lLCAuY2VudGVyWm9uZSB7XG4gICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgIC5yaWdodFpvbmU6bm90KC5sZWZ0Wm9uZSk6bm90KC5jZW50ZXJab25lKSwgLmxlZnRab25lOm5vdCgubGVmdFpvbmUpOm5vdCguY2VudGVyWm9uZSksIC5jZW50ZXJab25lOm5vdCgubGVmdFpvbmUpOm5vdCguY2VudGVyWm9uZSkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cblxuLmRvY2tQYW5lbEhlYWRlcl9fY2xvc2VidXR0b24ge1xuICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNkI2QjZCO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBwYWRkaW5nOiAxNnB4IDIwcHggMTZweCAxOXB4O1xuICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jbG9zZS5pY29uIHtcbiAgIGNvbG9yOiAjMDAwO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgbWFyZ2luLXRvcDogMDtcbiAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgd2lkdGg6IDIxcHg7XG4gICBoZWlnaHQ6IDIxcHg7IH1cbiAgIC5jbG9zZS5pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAuY2xvc2UuaWNvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLnRvcFNlY3Rpb24ge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYm90dG9tU2VjdGlvbiB7XG4gICAvKm1heC1oZWlnaHQ6IDIyMHB4OyovIH1cblxuLmJvdHRvbVNlY3Rpb24gaDUge1xuICAgY29sb3I6ICM2QjZCNkI7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5saXN0IHtcbiAgIG1hcmdpbjogMTBweDsgfVxuXG4uYW1vdW50V3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAuYW1vdW50V3JhcHBlciBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hbW91bnRJbmRpY2F0b3Ige1xuICAgZm9udC1zaXplOiA1LjVyZW07XG4gICBsaW5lLWhlaWdodDogNC45cmVtO1xuICAgbWFyZ2luOiAwIDIwcHg7XG4gICBmbGV4LWdyb3c6IDE7IH1cblxuLmFtb3VudFR5cGVXcmFwcGVyIHtcbiAgIGZsZXgtZ3JvdzogNDsgfVxuXG4uYW1vdW50VHlwZSB7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBmb250LXNpemU6IDEuNXJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07IH1cblxuLnRvcFNlY3Rpb25fX2Jld2VydHVuZ2VuIC5hbW91bnRJbmRpY2F0b3IsXG4udG9wU2VjdGlvbl9fYmV3ZXJ0dW5nZW4gLmFtb3VudFR5cGUge1xuICAgY29sb3I6ICNGMzk1Mjc7IH1cblxuI3dpZGdldC0tbmFjaHJpY2h0ZW4uY29sbGFwc2UuaW4ge1xuICAgLypkaXNwbGF5OmlubGluZS1ibG9jazsqLyB9XG5cbi5saXN0LS1tc2cge1xuICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLmxpc3QtLW1zZyAubGlzdF9faXRlbSB7XG4gICAvKnBhZGRpbmctbGVmdDoxMHB4OyovIH1cblxuLmxpc3QtLW1zZyAubGlzdF9fdG9waWMge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBmb250LXNpemU6IDEuMTVyZW07IH1cblxuLmxpc3QtLW1zZyAubGlzdF9faXRlbSB7XG4gICAvKm1hcmdpbi1ib3R0b206MTVweDsqLyB9XG5cbi5saXN0LS1tc2cgLmxpc3RfX2RhdGVBbmRVc2VyIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5saXN0LS1tc2cgc3BhbiB7XG4gICBmb250LXNpemU6IDIuNnJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAyLjFyZW07IH1cblxuLmxpc3QtLXRlYW0ge1xuICAgLyptYXJnaW4tcmlnaHQ6MTBweDsqL1xuICAgLypwYWRkaW5nOiAxMHB4OyovIH1cblxuLmxpc3QtLXRlYW0gLmxpc3RfX2l0ZW0ge1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RUJFQztcbiAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmxpc3QtLXRlYW0gPiAuY29udGFpbmVyLWZsdWlkID4gLmxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubGlzdC0tdGVhbSAubGlzdF9faW1hZ2Uge1xuICAgd2lkdGg6IDc1cHg7XG4gICBoZWlnaHQ6IDc1cHg7XG4gICBwYWRkaW5nOiA2cHg7IH1cblxuLmxpc3QtLXRlYW0gLmxpc3RfX2NvbnRlbnQge1xuICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4ubGlzdC0tdGVhbSAubGlzdF9fbmFtZSB7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG5cbi5saXN0LS10ZWFtIC5saXN0X19wb3NpdGlvbiB7XG4gICBmb250LXNpemU6IDEuM3JlbTtcbiAgIG1pbi1oZWlnaHQ6IDEuOHJlbTsgfVxuXG4ubGlzdC0tdGVhbSAubGlzdF9fYW56YWhsIHtcbiAgIGZvbnQtc2l6ZTogMi44cmVtOyB9XG5cbi5saXN0LS10ZWFtLm92ZXJmbG93IHtcbiAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgIG1heC1oZWlnaHQ6IDUyMHB4OyB9XG5cbi5rdXJzZUdlbmVobWlndW5nV3JhcHBlciB7XG4gICBtYXJnaW4tbGVmdDogMjRweDtcbiAgIG1hcmdpbi10b3A6IDZweDsgfVxuXG4ua3Vyc2VHZW5laG1pZ3VuZ1dyYXBwZXJfX2luZGljYXRvciB7XG4gICBmb250LXNpemU6IDIuOHJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAzLjNyZW07XG4gICB3aWR0aDogMzZweDtcbiAgIGZsb2F0OiBsZWZ0OyB9XG4gICAua3Vyc2VHZW5laG1pZ3VuZ1dyYXBwZXJfX2luZGljYXRvciBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5rdXJzZUdlbmVobWlndW5nV3JhcHBlcl9fcXVhbGlmaWthdGlvbkJhbGtlbldyYXBwZXIge1xuICAgaGVpZ2h0OiAyLjhyZW07XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBmbG9hdDogbGVmdDsgfVxuXG4ua3Vyc2VHZW5laG1pZ3VuZ1dyYXBwZXJfX3F1YWxpZmlrYXRpb25CYWxrZW4ge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgYm90dG9tOiAwOyB9XG5cbi5saXN0LS1rdXJzYW5tZWxkdW5nIC5saXN0X19pdGVtLCAubGlzdC0tbWVpbmVLdXJzZSAubGlzdF9faXRlbSwgLmxpc3QtLWJld2VydHVuZ2VuIC5saXN0X19pdGVtLCAubGlzdC0tbXNnIC5saXN0X19pdGVtIHtcbiAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzAwMDtcbiAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgLmxpc3QtLWt1cnNhbm1lbGR1bmcgLmxpc3RfX2l0ZW0gYSwgLmxpc3QtLW1laW5lS3Vyc2UgLmxpc3RfX2l0ZW0gYSwgLmxpc3QtLWJld2VydHVuZ2VuIC5saXN0X19pdGVtIGEsIC5saXN0LS1tc2cgLmxpc3RfX2l0ZW0gYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgLmxpc3QtLWt1cnNhbm1lbGR1bmcgLmxpc3RfX2l0ZW06bGFzdC1vZi10eXBlLCAubGlzdC0tbWVpbmVLdXJzZSAubGlzdF9faXRlbTpsYXN0LW9mLXR5cGUsIC5saXN0LS1iZXdlcnR1bmdlbiAubGlzdF9faXRlbTpsYXN0LW9mLXR5cGUsIC5saXN0LS1tc2cgLmxpc3RfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubGlzdC0ta3Vyc2FubWVsZHVuZyAubGlzdF9fZGF0ZUFuZFVzZXIsIC5saXN0LS1tZWluZUt1cnNlIC5saXN0X19kYXRlQW5kVXNlciwgLmxpc3QtLWJld2VydHVuZ2VuIC5saXN0X19kYXRlQW5kVXNlciwgLmxpc3QtLW1zZyAubGlzdF9fZGF0ZUFuZFVzZXIge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmxpc3QtLWt1cnNhbm1lbGR1bmcgLmxpc3RfX3RvcGljLCAubGlzdC0tbWVpbmVLdXJzZSAubGlzdF9fdG9waWMsIC5saXN0LS1iZXdlcnR1bmdlbiAubGlzdF9fdG9waWMsIC5saXN0LS1tc2cgLmxpc3RfX3RvcGljIHtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBXb3JrYXJvdW5kIGZ1ZXIgdmFyaWFibGUgSG9laGUgZGVyIEthY2hlbG4gLSBCTHUgKi9cbi5keHBjLWNvbnRlbnQsXG4uZHhwYy1jb250ZW50V3JhcHBlcixcbi5keHBjbFcge1xuICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLypMb2FkIHBhbmVsIGJlbsO2dGlndCBlaW5lIGdld2lzc2UgSMO2aGUgZsO8ciBlaW5lIG9wdGltYWxlIERhcnN0ZWxsdW5nKi9cbi5keHBjLWNvbnRlbnRXcmFwcGVyIHtcbiAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuXG4uZHhwY2xXIC5lc1dpZGdldEV4cGFuZF9fYnV0dG9uIHtcbiAgIHBhZGRpbmc6IDA7IH1cbiAgIC5keHBjbFcgLmVzV2lkZ2V0RXhwYW5kX19idXR0b24gaSB7XG4gICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuNHM7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAuZHhwY2xXIC5lc1dpZGdldEV4cGFuZF9fYnV0dG9uLmNvbGxhcHNlZCBpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5cbi5keHBjLWNvbnRlbnQge1xuICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi5keHBjLWNsb3NlQnRuIHtcbiAgIGZsb2F0OiByaWdodDtcbiAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuXG4uaGV1dGVXaWRnZXQge1xuICAgcGFkZGluZzogMjBweDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmhldXRlV2lkZ2V0X19zcGFjZXIge1xuICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMDA7XG4gICBoZWlnaHQ6IDYuMnJlbTtcbiAgIC8qbWFyZ2luOjAgMjVweDsqLyB9XG5cbi5oZXV0ZVdpZGdldF9femVpdCwgLmhldXRlV2lkZ2V0X19kYXR1bSB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGV1dGVXaWRnZXRfX3plaXQtLWxhYmVsIHtcbiAgIGZvbnQtc2l6ZTogNXJlbTsgfVxuXG4uaGV1dGVXaWRnZXRfX2RhdHVtLS1sYWJlbCB7XG4gICBmb250LXNpemU6IDEuOXJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07IH1cblxuLmhldXRlV2lkZ2V0X19kYXR1bS0tbGFiZWwgLndvY2hlbnRhZyB7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5xdWFsaXNXaWRnZXQge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLnF1YWxpc1dpZGdldF9fbGVnZW5kZSB7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4ucXVhbGlzV2lkZ2V0X19sZWdlbmRlOmJlZm9yZSB7XG4gICBjb250ZW50OiBcIlwiO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgYm9yZGVyOiAwLjdyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICB3aWR0aDogMDtcbiAgIGhlaWdodDogMDtcbiAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxuXG4ucXVhbGlzV2lkZ2V0X19sZWdlbmRlLmxnbmQxOmJlZm9yZSxcbi5xdWFsaXNXaWRnZXRfX2xlZ2VuZGUubGduZDI6YmVmb3JlLFxuLnF1YWxpc1dpZGdldF9fbGVnZW5kZS5sZ25kMzpiZWZvcmUge1xuICAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG5cbi5xdWFsaXNXaWRnZXRfX2xlZ2VuZGUubGduZDE6YmVmb3JlIHtcbiAgIGJvcmRlci1jb2xvcjogI0E1MDA2QjsgfVxuXG4ucXVhbGlzV2lkZ2V0X19sZWdlbmRlLmxnbmQyOmJlZm9yZSB7XG4gICBib3JkZXItY29sb3I6ICNDRDVCMUM7IH1cblxuLnF1YWxpc1dpZGdldF9fbGVnZW5kZS5sZ25kMzpiZWZvcmUge1xuICAgYm9yZGVyLWNvbG9yOiAjMDQ5N0E3OyB9XG5cbi50b3BTZWN0aW9uX19iZXJpY2h0ZSB7XG4gICAvKmRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOnJvdztcclxuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtOyovXG4gICAvKm1hcmdpbi10b3A6MjBweDsqLyB9XG5cbmltZy50b3BTZWN0aW9uX19iZXJpY2h0IHtcbiAgIHBhZGRpbmc6IDEycHg7XG4gICAvKmJveC1zaGFkb3c6IDAgMCA5cHggIzZCNkI2QjsqLyB9XG5cbi50b3BTZWN0aW9uX19iZXJpY2h0ZSAuYmlsZExpbmtzIHtcbiAgIGZsZXgtZ3JvdzogMzsgfVxuXG4udG9wU2VjdGlvbl9fYmVyaWNodGUgLnRleHRSZWNodHMge1xuICAgZmxleC1ncm93OiA4OyB9XG5cbi5saXN0LS1iZXdlcnR1bmdlbiB7XG4gICAvKnBhZGRpbmctdG9wOjEwcHg7Ki8gfVxuXG4ubGlzdC0tYmV3ZXJ0dW5nZW4gLmxpc3RfX2l0ZW0ge1xuICAgLyptYXJnaW4tYm90dG9tOjE1cHg7Ki8gfVxuXG4ubGlzdC0tYmV3ZXJ0dW5nZW4gLmxpc3RfX2tvbnRleHQge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBmb250LXNpemU6IDEuMTVyZW07IH1cblxuLmNlbnRlcmVkRWxlbWVudCB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgLmNlbnRlcmVkRWxlbWVudCA+IGRpdiB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLmZ1bGxoZWlnaHQge1xuICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5kc2JfX2ltYWdlV3JhcHBlciB7XG4gICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbi8qIEJNUyAtIFNlaXRlIEJld2VyYnVuZ2VuICovXG4uYm1zQmV3ZXJidW5nZW5fX2hlYWRlciB7XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5ibXNLYWNoZWxXcmFwcGVyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LXdyYXA6IHdyYXA7XG4gICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcixcbi5ibXNLYWNoZWxCZXdlcmJlci0tcGxhY2Vob2xkZXIge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICBwYWRkaW5nOiAxNXB4IDIwcHggMTJweDtcbiAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgYm9yZGVyOiAxcHggc29saWQgI2RiZGJkYjtcbiAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgIGZsZXgtYmFzaXM6IDI3MHB4O1xuICAgZmxleC1ncm93OiAxOyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlci0tcGxhY2Vob2xkZXIge1xuICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICBtYXJnaW4tdG9wOiAxcHg7XG4gICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyOmJlZm9yZSB7XG4gICBjb250ZW50OiAnJztcbiAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgZWFzZSAwLjFzOyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcjpiZWZvcmUge1xuICAgY29udGVudDogJyc7XG4gICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIGVhc2UgMC4xczsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXI6aG92ZXI6YmVmb3JlIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJhY2tncm91bmQ6IC0tLS1Ba3plbnQtLS0tO1xuICAgdG9wOiAwO1xuICAgcmlnaHQ6IDA7XG4gICBsZWZ0OiAwO1xuICAgYm90dG9tOiAwO1xuICAgb3BhY2l0eTogMC41O1xuICAgei1pbmRleDogMTsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXI6aG92ZXI6YWZ0ZXIge1xuICAgY29udGVudDogJ1xcZTk1Zic7XG4gICBmb250LWZhbWlseTogJ2Vhc3lTb2Z0LVB1Ymxpc2gnO1xuICAgY29sb3I6ICNmZmY7XG4gICBmb250LXNpemU6IDQuNXJlbTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogNTAlO1xuICAgbGVmdDogNTAlO1xuICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICBtYXJnaW4tbGVmdDogLTIycHg7XG4gICB6LWluZGV4OiAyOyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcl9fbHVnIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHJpZ2h0OiAzMHB4O1xuICAgdG9wOiAtN3B4O1xuICAgd2lkdGg6IDMycHg7XG4gICBoZWlnaHQ6IDM4cHg7XG4gICBsaW5lLWhlaWdodDogMzhweDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXI6aG92ZXIgLmJtc0thY2hlbEJld2VyYmVyX19sdWc6YWZ0ZXIge1xuICAgY29udGVudDogJyc7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LS0tLTtcbiAgIHRvcDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgbGVmdDogMDtcbiAgIGJvdHRvbTogMDtcbiAgIG9wYWNpdHk6IDAuNTtcbiAgIHotaW5kZXg6IDE7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19sdWctLWNoZWNrIHtcbiAgIGJhY2tncm91bmQ6ICNkYmRiZGI7XG4gICBmb250LXNpemU6IDIuMnJlbTsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX2x1Zy0tY2hlY2s6YmVmb3JlIHtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX2x1Zy0tdG9kbyB7XG4gICBiYWNrZ3JvdW5kOiAtLS0tQWt6ZW50LS0tLTtcbiAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcl9fbHVnLS10b2RvOmJlZm9yZSB7XG4gICBjb2xvcjogd2hpdGU7XG4gICBjb250ZW50OiBcIlxcZjEyYVwiO1xuICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19uYW1lIHtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXNpemU6IDEuOXJlbTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHBhZGRpbmctcmlnaHQ6IDQ0cHg7XG4gICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfXzJzcGFsdGVuIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcl9fc3BhbHRlTGlua3MsXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX3NwYWx0ZVJlY2h0cyB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX3NwYWx0ZUxpbmtzIHtcbiAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgIGZsb2F0OiBsZWZ0O1xuICAgbWluLXdpZHRoOiAxMDdweDsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX2Jld2VydHVuZ1RleHRXcmFwcGVyLFxuLmJtc0thY2hlbEJld2VyYmVyX19wcm96ZW50YmFsa2VuV3JhcHBlciB7XG4gICBmbGV4LWdyb3c6IDE7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19zcGFsdGVSZWNodHMge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICB3aWR0aDogMTAwJTsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX2JpbGQge1xuICAgd2lkdGg6IDEwNnB4O1xuICAgaGVpZ2h0OiAxMDVweDtcbiAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgLmJtc0thY2hlbEJld2VyYmVyX19iaWxkIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcl9fYmV3ZXJ0dW5nVGV4dFdyYXBwZXIge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19pbmZvVWViZXJzY2hyaWZ0LFxuLmJtc0thY2hlbEJld2VyYmVyX19pbmZvVGV4dCB7XG4gICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX2luZm9VZWJlcnNjaHJpZnQge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBmb250LXNpemU6IDEuNXJlbTtcbiAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19pbmZvVGV4dCB7XG4gICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM2QjZCNkI7IH1cbiAgIC5ibXNLYWNoZWxCZXdlcmJlcl9faW5mb1RleHQ6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcl9faW5mb1RleHQtLXN0YW5kYWxvbmUge1xuICAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAuYm1zS2FjaGVsQmV3ZXJiZXJfX2luZm9UZXh0LS1zdGFuZGFsb25lOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4uYm1zS2FjaGVsQmV3ZXJiZXJfX3Byb3plbnRiYWxrZW5XcmFwcGVyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgZmxleC13cmFwOiBub3dyYXA7XG4gICBoZWlnaHQ6IDE3cHg7XG4gICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19wcm96ZW50YmFsa2VuV3JhcHBlciAuZXNQcm96ZW50YmFsa2VuIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgd2lkdGg6IGF1dG87XG4gICBmbGV4LWdyb3c6IDE7XG4gICBoZWlnaHQ6IDE2cHg7IH1cblxuLmJtc0thY2hlbEJld2VyYmVyX19iZXdlcnR1bmdlbkF1c2dlZnVlbGx0IHtcbiAgIGZsZXgtZ3JvdzogMDtcbiAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICBjb2xvcjogLS0tLUFremVudC0tLS07XG4gICBmb250LXNpemU6IDEuMnJlbTtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5ibXNLYWNoZWxCZXdlcmJlcl9fb3BlbiB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICByaWdodDogMDtcbiAgIGJvdHRvbTogMDtcbiAgIGxlZnQ6IDA7XG4gICB6LWluZGV4OiAzOyB9XG5cbi8qIEJNUyAtIFNlaXRlIEJld2VyYmVyICovXG4uYm1zQmV3ZXJiZXJfX2Jld2VyYnVuZyB7XG4gICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uYm1zQmV3ZXJiZXJfX2JpbGRVbmREYXRlbiB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0E3QTdBNzsgfVxuXG4uYm1zQmV3ZXJiZXJfX2JpbGQge1xuICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgIG1heC1oZWlnaHQ6IDE4MHB4OyB9XG4gICAuYm1zQmV3ZXJiZXJfX2JpbGQgaW1nIHtcbiAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmJtc0Jld2VyYmVyX19uYW1lLFxuLmJtc0Jld2VyYmVyX19hYnNjaGx1c3Mge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgd2lkdGg6IDEwMCU7IH1cblxuLmJtc0Jld2VyYmVyX19uYW1lIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAvKiBUb2RvKi8gfVxuXG4uYm1zQmV3ZXJiZXJfX2Fic2NobHVzcyxcbi5ibXNCZXdlcmJlcl9fYWx0ZXIsXG4uYm1zQmV3ZXJiZXJfX2FkcmVzc2Uge1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYm1zQmV3ZXJiZXJfX2RhdGVpIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cblxuLmJtc0Jld2VyYmVyX19kYXRlaSxcbi5ibXNCZXdlcmJlcl9fZGF0ZWk6aG92ZXIsXG4uYm1zQmV3ZXJiZXJfX2RhdGVpOmFjdGl2ZSxcbi5ibXNCZXdlcmJlcl9fZGF0ZWk6Zm9jdXMge1xuICAgY29sb3I6IGJsYWNrO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5ibXNCZXdlcmJlcl9fZGF0ZWk6YmVmb3JlIHtcbiAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICB0ZXh0LWFsaWduOiByaWdodDtcbiAgIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG4gICBmb250LXNpemU6IDIuM3JlbTtcbiAgIGNvbG9yOiAjNkI2QjZCO1xuICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGxlZnQ6IDA7IH1cblxuLmJtc0Jld2VyYmVyX19iZXdlcnR1bmdlbiAuZXNINCB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5ibXNCZXdlcmJlcl9fYmV3ZXJ0dW5nZW4gLmVzUHJvemVudGJhbGtlbiB7XG4gICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5ibXNCZXdlcmJlcl9fa2VpbmVCZXdlcnR1bmcge1xuICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAuYm1zQmV3ZXJiZXJfX2JpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgLmJtc0Jld2VyYmVyX19hbmhhZW5nZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0E3QTdBNzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgIC5ibXNCZXdlcmJlcl9fYmV3ZXJ0dW5nZW4uYm1zQmV3ZXJiZXJfX2FuaGFlbmdlVm9yaGFuZGVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQTdBN0E3OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgIC5ibXNCZXdlcmJlcl9fYmlsZFVuZERhdGVuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgIC5ibXNCZXdlcmJlcl9fYW5oYWVuZ2UsXG4gICAuYm1zQmV3ZXJiZXJfX2Jld2VydHVuZ2VuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQTdBN0E3OyB9IH1cblxuLyogRmxleCBmw7xyIEJld2VyYmVyZmVsZCBhdWYgU2VpdGUgQk1TIC0gQmV3ZXJiZXIgKi9cbi5ibXNCZXdlcmJlcl9fYmV3ZXJidW5nIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5ibXNCZXdlcmJlcl9fYmlsZFVuZERhdGVuIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5ibXNCZXdlcmJlcl9fYW5oYWVuZ2VVbmRCZXdlcnR1bmdlbiB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uYm1zQmV3ZXJiZXJfX2JpbGQge1xuICAgZmxleC1ncm93OiAwOyB9XG5cbi5ibXNCZXdlcmJlcl9fZGF0ZW4sXG4uYm1zQmV3ZXJiZXJfX2FuaGFlbmdlLFxuLmJtc0Jld2VyYmVyX19iZXdlcnR1bmdlbiB7XG4gICBmbGV4OiAxOyB9XG5cbi8qIFBob25lL1RhYmxldCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgLmJtc0Jld2VyYmVyX19iaWxkVW5kRGF0ZW4sXG4gICAuYm1zQmV3ZXJiZXJfX2FuaGFlbmdlVW5kQmV3ZXJ0dW5nZW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi8qIElFMTEtRml4IGbDvHIgRGFyc3RlbGx1bmcgZGVzIEJld2VyYmVycyBpbSBCTVMgYXVmIG1vYmlsZW4gQmlsZHNjaGlybWdyw7bDn2VuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAuYm1zQmV3ZXJiZXJfX2RhdGVuLFxuICAgLmJtc0Jld2VyYmVyX19hbmhhZW5nZSxcbiAgIC5ibXNCZXdlcmJlcl9fYmV3ZXJ0dW5nZW4ge1xuICAgICAgZmxleDogbm9uZTsgfSB9XG5cbi8qIERlc2t0b3AgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAuYm1zQmV3ZXJiZXJfX2Jld2VyYnVuZyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAuYm1zQmV3ZXJiZXJfX2JpbGRVbmREYXRlbiB7XG4gICAgICAvKm9yZGVyOiAtMTsqL1xuICAgICAgZmxleDogNTsgfVxuICAgLmJtc0Jld2VyYmVyX19hbmhhZW5nZVVuZEJld2VydHVuZ2VuIHtcbiAgICAgIGZsZXg6IDQ7IH1cbiAgIC5ibXNCZXdlcmJlcl9fYW5oYWVuZ2UsXG4gICAuYm1zQmV3ZXJiZXJfX2Jld2VydHVuZ2VuIHtcbiAgICAgIGZsZXg6IDI7IH0gfVxuXG4uYm1zQmV3ZXJiZXJfX2RhdGVuIC5yb3cge1xuICAgbGluZS1oZWlnaHQ6IDEuOHJlbTsgfVxuXG4uYm1zQmV3ZXJiZXJfX2RhdGVuIC5yb3c6bm90KC5ibXNCZXdlcmJlcl9fYWRyZXNzZSk6bm90KC5ibXNCZXdlcmJlcl9fYWx0ZXIpIHtcbiAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuXG4uYWN0aW9uX19iZXJpY2h0YW56ZWlnZS5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMyAuZXNMYXlvdXRfbWFpbl9pbm5lciB7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAuYWN0aW9uX19iZXJpY2h0YW56ZWlnZS5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMyAuZXNMYXlvdXRfbWFpbl9pbm5lciAuZXNFUjNXcmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5hY3Rpb25fX2JlcmljaHRhbnplaWdlLnB1Ymxpc2hWZXJzaW9uTW9kdWxfX1AzICNkb2N1bWVudHZpZXdlciB7XG4gICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHgpICFpbXBvcnRhbnQ7IH1cblxuLmFjdGlvbl9fYmVyaWNodGFuemVpZ2UucHVibGlzaFZlcnNpb25Nb2R1bF9fUDMuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAuZXNFUjNXcmFwcGVyIHtcbiAgIG1hcmdpbjogMDsgfVxuXG4uYWN0aW9uX19iZXJpY2h0YW56ZWlnZS5wdWJsaXNoVmVyc2lvbk1vZHVsX19QMiAuZXNFUjNXcmFwcGVyIHtcbiAgIGhlaWdodDogMTAwJTtcbiAgIG1hcmdpbjogMDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5hY3Rpb25fX2JlcmljaHRhbnplaWdlLnB1Ymxpc2hWZXJzaW9uTW9kdWxfX1AyLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgI2RvY3VtZW50dmlld2VyIHtcbiAgIGhlaWdodDogNDgwcHggIWltcG9ydGFudDtcbiAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLmNvbnRyb2xsZXJfX2VyMy5hY3Rpb25fX3VlYmVyc2ljaHQucHVibGlzaFZlcnNpb25Nb2R1bF9fUDIgI2VzUGFnZVdyYXBwZXIge1xuICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4vKiBHZW1laW5zYW1lIFN0eWxlIGbDvHIgdmVyc2NoaWVkZW5lIEFjdGlvbnMqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgIC5jb250cm9sbGVyX19wcmYuYWN0aW9uX19rZW5ud29ydGFlbmRlcm4gLmVzUm93V2l0aEZsZXhDb2x1bW4sXG4gICAuY29udHJvbGxlcl9fcHJmLmFjdGlvbl9fa2VubndvcnR2ZXJnZXNzZW4gLmVzUm93V2l0aEZsZXhDb2x1bW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbi5jb250cm9sbGVyX19wcmYuYWN0aW9uX191ZWJlcnNpY2h0IC5lc0dyZXlCb3gzIHtcbiAgIGRpc3BsYXk6IGZsZXg7IH1cblxuLmNvbnRyb2xsZXJfX3ByZi5hY3Rpb25fX3VlYmVyc2ljaHQgLnByZlVlYmVyc2ljaHRfX2RhdGVuIHtcbiAgIGZsZXgtZ3JvdzogMTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgLmNvbnRyb2xsZXJfX3ByZi5hY3Rpb25fX3VlYmVyc2ljaHQgLmVzR3JleUJveDMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jb250cm9sbGVyX19wcmYuYWN0aW9uX191ZWJlcnNpY2h0IC5lc0dyZXlCb3gzID4gZGl2IHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAuY29udHJvbGxlcl9fcHJmLmFjdGlvbl9fdWViZXJzaWNodCAucHJmVWViZXJzaWNodF9fZGF0ZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAgLmNvbnRyb2xsZXJfX3ByZi5hY3Rpb25fX3VlYmVyc2ljaHQgLnByZlVlYmVyc2ljaHRfX2J0bktlbm53b3J0QWVuZGVybiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH0gfVxuXG4ucHJmVWViZXJzaWNodF9fa29udGFrdEJpbGRXcmFwcGVyIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucHJmVWViZXJzaWNodF9fa29udGFrdEJpbGQge1xuICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnByZlVlYmVyc2ljaHRfX2J0bktlbm53b3J0QWVuZGVybiB7XG4gICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5wcmZVZWJlcnNpY2h0X19hZEhpbndlaXNXcmFwcGVyIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIG1pbi1oZWlnaHQ6IDRlbTsgfVxuICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgIC5wcmZVZWJlcnNpY2h0X19hZEhpbndlaXNXcmFwcGVyIHtcbiAgICAgICAgIG1pbi1oZWlnaHQ6IDZlbTsgfSB9XG5cbi5wcmZVZWJlcnNpY2h0X19IaW53ZWlzIHtcbiAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG5cbi5wcmZVZWJlcnNpY2h0X19hZEhpbndlaXMge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgdG9wOiA0cHg7XG4gICBmb250LXNpemU6IDkwJTtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uY29udHJvbGxlcl9fcHJmLmFjdGlvbl9fa2VubndvcnRhZW5kZXJuIC5wcmZLZW5ud29ydGFlbmRlcm5fX2Zvcm0ge1xuICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuXG4uY29udHJvbGxlcl9fcHJmLmFjdGlvbl9fa2VubndvcnRhZW5kZXJuIC5wcmZLZW5ud29ydGFlbmRlcm5fX3plaWxlbmFic3RhbmQge1xuICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uY29udHJvbGxlcl9fcHJmLmFjdGlvbl9fa2VubndvcnRhZW5kZXJuIC5lc0xhYmVsLS12ZXJ0aWNhbENlbnRlcixcbi5jb250cm9sbGVyX19wcmYuYWN0aW9uX19rZW5ud29ydGFlbmRlcm4gLmVzTGFiZWwtLWFsaWduV2l0aElucHV0IHtcbiAgIHdpZHRoOiAxOTBweDtcbiAgIG1pbi13aWR0aDogMTkwcHg7XG4gICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb250cm9sbGVyX19wcmYuYWN0aW9uX19rZW5ud29ydGFlbmRlcm4gaHIge1xuICAgYm9yZGVyLWNvbG9yOiAjZDBkMGNmO1xuICAgbWFyZ2luOiAzMnB4IDA7IH1cblxuLmNvbnRyb2xsZXJfX3ByZi5hY3Rpb25fX2tlbm53b3J0YWVuZGVybiAucHJmS2VubndvcnRhZW5kZXJuX19lbWFpbEhpbndlaXMge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLXRvcDogMTNweDsgfVxuXG4ucHJmS2VubndvcnRWZXJnZXNzZW5fX3plaWxlbmFic3RhbmQge1xuICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHJmS2VubndvcnRWZXJnZXNzZW5fX2Zvcm0ge1xuICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgLnByZktlbm53b3J0VmVyZ2Vzc2VuX19mb3JtIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgIG1pbi13aWR0aDogMjQwcHg7IH1cblxuLnByZktlbm53b3J0VmVyZ2Vzc2VuX19zaWNoZXJoZWl0c2ZyYWdlSGlud2VpcyB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIEtBVyAqL1xuLmthd01vZGFsX19ibG9jay0tYWJzdGFuZFVudGVuIHtcbiAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLmthd01vZGFsX191ZWJlcnNjaHJpZnQge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiNNb2RhbF9LQVdfU2Nyb2xsVmlldyAuZXNGb3JtdWxhcl9fc3VibWl0LFxuI01vZGFsX0tBV19TY3JvbGxWaWV3IC5lc0Zvcm11bGFyX19oclZvckJ1dHRvbixcbi5jb250cm9sbGVyX19rYXcuYWN0aW9uX19nZW5laG1pZ3VuZyAuZXNGb3JtdWxhcl9fc3VibWl0LFxuLmNvbnRyb2xsZXJfX2thdy5hY3Rpb25fX2dlbmVobWlndW5nIC5lc0Zvcm11bGFyX19oclZvckJ1dHRvbiB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250cm9sbGVyX19rYXcuYWN0aW9uX19nZW5laG1pZ3VuZyAjZXNGb3JtdWxhcixcbiNNb2RhbF9LQVdfU2Nyb2xsVmlldyAjZXNGb3JtdWxhciB7XG4gICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ja2F3R2VuZWhtaWd1bmdfX3NwZWljaGVybkJ1dHRvbiB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIElORiAtIEluZm8tU2VpdGVuICovXG4uY29udHJvbGxlcl9faW5mLmFjdGlvbl9fdWViZXJzaWNodCAjZXNQYWdlV3JhcHBlciBtYWluIHtcbiAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgZm9udC1zaXplOiAxLjJyZW07XG4gICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgY29sb3I6IGJsYWNrOyB9XG5cbi5jb250cm9sbGVyX19pbmYuYWN0aW9uX191ZWJlcnNpY2h0ICNlc1BhZ2VXcmFwcGVyIG1haW4gLmVzTGF5b3V0X21haW5faW5uZXIge1xuICAgcGFkZGluZzogMTBweDsgfVxuXG4uY29udHJvbGxlcl9faW5mLmFjdGlvbl9fdWViZXJzaWNodCAjZXNQYWdlV3JhcHBlciBjYXB0aW9uIHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgcGFkZGluZzogMDtcbiAgIGNvbG9yOiBibGFjazsgfVxuXG4uY29udHJvbGxlcl9faW5mLmFjdGlvbl9fdWViZXJzaWNodCAjZXNQYWdlV3JhcHBlciB0ZCxcbi5jb250cm9sbGVyX19pbmYuYWN0aW9uX191ZWJlcnNpY2h0ICNlc1BhZ2VXcmFwcGVyIHRoIHtcbiAgIHBhZGRpbmc6IDNweDtcbiAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbi5jb250cm9sbGVyX19pbmYuYWN0aW9uX191ZWJlcnNpY2h0ICNlc1BhZ2VXcmFwcGVyIHRoIHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ua3Vyc2FubWVsZHVuZ19oaW53ZWlzIHtcbiAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKiBEZXRhaWxzZWl0ZSAqL1xuaDEua3Vyc0RldGFpbC0taXRlbS10aXRlbCB7XG4gICBjb2xvcjogLS0tLUFremVudC0tLS07XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jb250cm9sbGVyX19raXAuYWN0aW9uX19kZXRhaWxiZW51dHplcmRlZmluaWVydGF1Zmxpc3R1bmcgLmt1cnNEZXRhaWwtLWl0ZW0ge1xuICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udHJvbGxlcl9fa2lwLmFjdGlvbl9fZGV0YWlsYmVudXR6ZXJkZWZpbmllcnRhdWZsaXN0dW5nIC5lc0dyaWQge1xuICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgLmNvbnRyb2xsZXJfX2tpcC5hY3Rpb25fX2RldGFpbGJlbnV0emVyZGVmaW5pZXJ0YXVmbGlzdHVuZyAuZXNHcmlkIC5keC1yb3cubWFpbi1yb3cgPiB0ZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgLmNvbnRyb2xsZXJfX2tpcC5hY3Rpb25fX2RldGFpbGJlbnV0emVyZGVmaW5pZXJ0YXVmbGlzdHVuZyAuZXNHcmlkLmVzR3JpZC0tYXVmbGlzdHVuZyAuZHgtcm93Lm1haW4tcm93IHRkLm9kZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAuYWN0aW9uX19kZXRhaWxiZW51dHplcmRlZmluaWVydGF1Zmxpc3R1bmcgLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmR4LXJvdy5tYWluLXJvdyB0ZC5vZGQgZGl2IC5lc0dyaWRfX3NwYWx0ZW5XZXJ0IHtcbiAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAuYWN0aW9uX19kZXRhaWxiZW51dHplcmRlZmluaWVydGF1Zmxpc3R1bmcgLmVzR3JpZC5lc0dyaWQtLWF1Zmxpc3R1bmcgLmR4LXJvdy5tYWluLXJvdyB0ZC5vZGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29udHJvbGxlcl9fa2lwLmFjdGlvbl9fZGV0YWlsYmVudXR6ZXJkZWZpbmllcnRhdWZsaXN0dW5nIC5lc0dyaWQuZXNHcmlkLS1hdWZsaXN0dW5nIC5keC1yb3cubWFpbi1yb3cgdGQub2RkIC5lc0dyaWRfX3NwYWx0ZW5XcmFwcGVyLS0xc3BhbHRlLFxuICAgICAgLmNvbnRyb2xsZXJfX2tpcC5hY3Rpb25fX2RldGFpbGJlbnV0emVyZGVmaW5pZXJ0YXVmbGlzdHVuZyAuZXNHcmlkLmVzR3JpZC0tYXVmbGlzdHVuZyAuZHgtcm93Lm1haW4tcm93IHRkLm9kZCAuZXNHcmlkX19zcGFsdGVuV3JhcHBlci0tMnNwYWx0ZW4ge1xuICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBTb25kZXJmYWxsIEZpcmVmb3g6IGRhbWl0IFplbGxlbmluaGFsdCBuaWNodCBpbSBUaXRsZS1BdHRyaWJ1dGUgYW5nZXplaWd0IHdpcmQgKi9cbi5icm93c2VyX19maXJlZm94IC5lc0dyaWQtLWF1Zmxpc3R1bmcgdGQgc3BhbjpsYXN0LWNoaWxkOm5vdCguYW1wZWxfX2JlemVpY2hudW5nKSxcbi5icm93c2VyX19maXJlZm94IC5lc0dyaWQtLWF1Zmxpc3R1bmcgdGggc3BhbjpsYXN0LWNoaWxkOm5vdCguYW1wZWxfX2JlemVpY2hudW5nKSB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmJyb3dzZXJfX2ZpcmVmb3ggLmVzR3JpZC0tdmVydGljYWwgLmVzVGV4dFJpY2h0aWdVbWJyZWNoZW4sXG4uYnJvd3Nlcl9fZmlyZWZveCAuZXNHcmlkLS12ZXJ0aWNhbCAuc3BhbHRlblVlYmVyc2NocmlmdCA+IHNwYW4sXG4uYnJvd3Nlcl9fZmlyZWZveCAuZXNHcmlkLS12ZXJ0aWNhbCAuc3BhbHRlbldlcnQgPiBzcGFuIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYnJvd3Nlcl9fZmlyZWZveCAuZXNHcmlkLS1ob3Jpem9udGFsIC5lc1RleHRSaWNodGlnVW1icmVjaGVuLFxuLmJyb3dzZXJfX2ZpcmVmb3ggLmVzR3JpZC0taG9yaXpvbnRhbCAuZXNHcmlkX19jb2x1bW4gPiBzcGFuOm5vdCguYW1wZWxfX2NlbnRlcikge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlczsgfVxuXG4uYnJvd3Nlcl9fZmlyZWZveCAuZXNHcmlkLS1rYWNoZWwgLmt1cnNpbmZvcm1hdGlvbmVuLS1rYWNoZWwgc3BhbiB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmt1cnNEZXRhaWwtLWl0ZW0sXG4uY29udHJvbGxlcl9fa2lwLmFjdGlvbl9fZGV0YWlsYmVudXR6ZXJkZWZpbmllcnQgLmVzR3JpZCB7XG4gICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5rdXJzRGV0YWlsLS1pdGVtIC5ncnVwcGVudGl0ZWwge1xuICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tOyB9XG5cbi5rdXJzRGV0YWlsLS13cmFwcGVyIHtcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQxMHB4IGF1dG87XG4gICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gICAvKiBiZWxpZWJpZyBlcndlaXRlcmJhciAqLyB9XG4gICAua3Vyc0RldGFpbC0td3JhcHBlci5rdXJzRGV0YWlsLS13cmFwcGVyLWtlaW5CaWxkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMCAxMDAlOyB9XG4gICAgICAua3Vyc0RldGFpbC0td3JhcHBlci5rdXJzRGV0YWlsLS13cmFwcGVyLWtlaW5CaWxkIC5rdXJzRGV0YWlsLS1pdGVtLXVlYmVyc2ljaHQge1xuICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICAgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLndlcnRlUGFhcmUtLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgIC5rdXJzRGV0YWlsLS13cmFwcGVyIC53ZXJ0ZVBhYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBsaW5lLWhlaWdodDogMi4ycmVtOyB9XG4gICAua3Vyc0RldGFpbC0td3JhcHBlciAud2VydGVQYWFyZS0tbmFtZSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBtaW4td2lkdGg6IDE0NXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAua3Vyc0RldGFpbC0td3JhcHBlciAud2VydGVQYWFyZS0tbmFtZSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9IH1cbiAgIC5rdXJzRGV0YWlsLS13cmFwcGVyIC53ZXJ0ZVBhYXJlLS13ZXJ0IHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0ge1xuICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IH1cbiAgICAgIC5rdXJzRGV0YWlsLS13cmFwcGVyIC5rdXJzRGV0YWlsLS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0tYmlsZCB7XG4gICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgLyogbMOkc3N0IHNpY2ggZGFubiBpbW1lciBub2NoIGZlc3Qgc2thbGllcmVuLCB1bSBlcyBiZWkgQmVkYXJmIHp1IGJlZ3JlbnplbiAqL1xuICAgICAgZ3JpZC1yb3c6IDEgLyA0O1xuICAgICAgLyogZ2VodCBncnVuZHPDpHR6bGljaCBhYmVyIGJpcyB6dXIgNHRlbiBMaW5pZSAobmFjaCBkZXIgMy4gcm93KSwgZGFzIHNvbGx0ZSBhdXNyZWljaGVuICovXG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuICAgICAgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0tYmlsZCBpbWcge1xuICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgICAua3Vyc0RldGFpbC0td3JhcHBlciB7XG4gICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM1JSBhdXRvOyB9IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLmt1cnNEZXRhaWwtLXdyYXBwZXIge1xuICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MyUgYXV0bzsgfVxuICAgICAgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0ge1xuICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH1cbiAgICAgIC5rdXJzRGV0YWlsLS13cmFwcGVyIC5rdXJzRGV0YWlsLS1pdGVtLWJpbGQsXG4gICAgICAua3Vyc0RldGFpbC0td3JhcHBlciAua3Vyc0RldGFpbC0taXRlbS11ZWJlcnNpY2h0IHtcbiAgICAgICAgIGdyaWQtcm93OiAxIC8gMjtcbiAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7IH0gfVxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5rdXJzRGV0YWlsLS13cmFwcGVyIC5rdXJzRGV0YWlsLS1pdGVtLWJpbGQsXG4gICAgICAua3Vyc0RldGFpbC0td3JhcHBlciAua3Vyc0RldGFpbC0taXRlbS11ZWJlcnNpY2h0IHtcbiAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgZ3JpZC1yb3c6IGF1dG87IH1cbiAgICAgIC5rdXJzRGV0YWlsLS13cmFwcGVyIC5rdXJzRGV0YWlsLS1pdGVtLWJpbGQge1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgIGhlaWdodDogNjB2dzsgfSB9XG4gICAua3Vyc0RldGFpbC0td3JhcHBlciAua3Vyc0RldGFpbC0taXRlbS1zZW1pbmFycGxhbi0tZGF0ZW5zaWNodCB7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5jb250cm9sbGVyX19raXAgLnNlbVBsYW4tLXdyYXBwZXIge1xuICAgd2lkdGg6IDEwMCU7IH1cbiAgIC5jb250cm9sbGVyX19raXAgLnNlbVBsYW4tLXdyYXBwZXIgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgLmNvbnRyb2xsZXJfX2tpcCAuc2VtUGxhbi0td3JhcHBlciAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAuY29udHJvbGxlcl9fa2lwIC5zZW1QbGFuLS13cmFwcGVyIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCxcbiAgIC5jb250cm9sbGVyX19raXAgLnNlbVBsYW4tLXdyYXBwZXIgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgLmNvbnRyb2xsZXJfX2tpcCAuc2VtUGxhbi0td3JhcHBlciAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXG4gICAuY29udHJvbGxlcl9fa2lwIC5zZW1QbGFuLS13cmFwcGVyIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDZweCA5cHg7IH1cbiAgIC5jb250cm9sbGVyX19raXAgLnNlbVBsYW4tLXdyYXBwZXIgLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAuY29udHJvbGxlcl9fa2lwIC5zZW1QbGFuLS13cmFwcGVyIHRhYmxlLnNlbWluYXJwbGFuIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2M0YzRjNDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjNGM0OyB9XG4gICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAuc2VtUGxhbi0td3JhcHBlciB7XG4gICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDMwcHgpOyB9XG4gICAgICAgICAuY29udHJvbGxlcl9fa2lwIC5zZW1QbGFuLS13cmFwcGVyIC5lc0hpZGVGb3Itc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAuc2VtUGxhbi0td3JhcHBlciB7XG4gICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpOyB9IH1cblxuLmNvbnRyb2xsZXJfX2tpcCAuYXVmbGlzdHVuZ0RvemVudGVuIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgZmxleC13cmFwOiB3cmFwO1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG5cbi5jb250cm9sbGVyX19raXAgLmRvemVudC0taXRlbSB7XG4gICBmbGV4LWdyb3c6IDE7XG4gICBmbGV4LWJhc2lzOiAyODBweDtcbiAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgYm94LXNoYWRvdzogMXB4IDJweCA0cHggMXB4ICNlMGUwZTA7IH1cbiAgIC5jb250cm9sbGVyX19raXAgLmRvemVudC0taXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgIC5jb250cm9sbGVyX19raXAgLmRvemVudC0taXRlbSAuZG96ZW50LS1uYW1lIHtcbiAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuICAgLmNvbnRyb2xsZXJfX2tpcCAuZG96ZW50LS1pdGVtIC5kb3plbnQtLWJpbGQge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAgLmRvemVudC0taXRlbSAuZG96ZW50LS1iaWxkIGltZyB7XG4gICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAuY29udHJvbGxlcl9fa2lwIC5kb3plbnQtLWl0ZW0gLmRvemVudENvbGxhcHNhYmxlLS1pbm5lciB7XG4gICAgICBtaW4taGVpZ2h0OiAxMTlweDsgfVxuICAgLmNvbnRyb2xsZXJfX2tpcCAuZG96ZW50LS1pdGVtIC5kb3plbnQtLXZvcmJpbGR1bmcge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gICAuY29udHJvbGxlcl9fa2lwIC5kb3plbnQtLWl0ZW0gLmRvemVudENvbGxhcHNhYmxlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEyNHB4O1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxczsgfVxuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAuZG96ZW50LS1pdGVtIC5kb3plbnRDb2xsYXBzYWJsZS5vcGVuIHtcbiAgICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxczsgfVxuICAgLmNvbnRyb2xsZXJfX2tpcCAuZG96ZW50LS1pdGVtIGEuY29sbGFwc2VUcmlnZ2VyIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDlweDsgfVxuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAuZG96ZW50LS1pdGVtIGEuY29sbGFwc2VUcmlnZ2VyIHNwYW4ge1xuICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAgLmRvemVudC0taXRlbSBhLmNvbGxhcHNlVHJpZ2dlcjpob3ZlciB7XG4gICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNvbnRyb2xsZXJfX2tpcCAuZG96ZW50LS1pdGVtLXBsYXR6aGFsdGVyIHtcbiAgIGZsZXgtZ3JvdzogMTtcbiAgIGZsZXgtYmFzaXM6IDI4MHB4O1xuICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi5jb250cm9sbGVyX19raXAgLmF1Zmxpc3R1bmdQcmVpc2dydXBwZW4ge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtd3JhcDogd3JhcDtcbiAgIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cbiAgIC5jb250cm9sbGVyX19raXAgLmF1Zmxpc3R1bmdQcmVpc2dydXBwZW4gLnByZWlzLS1pdGVtLFxuICAgLmNvbnRyb2xsZXJfX2tpcCAuYXVmbGlzdHVuZ1ByZWlzZ3J1cHBlbiAucHJlaXMtLWl0ZW0tcGxhdHpoYWx0ZXIge1xuICAgICAgZmxleC1iYXNpczogMjMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAuY29udHJvbGxlcl9fa2lwIC5hdWZsaXN0dW5nUHJlaXNncnVwcGVuIC5wcmVpcy0taXRlbSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTlFQkVDO1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQHN1cHBvcnRzIChhbGlnbi1pdGVtczogY2VudGVyKSB7XG4gICAgICAgICAuY29udHJvbGxlcl9fa2lwIC5hdWZsaXN0dW5nUHJlaXNncnVwcGVuIC5wcmVpcy0taXRlbSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAgLmF1Zmxpc3R1bmdQcmVpc2dydXBwZW4gLnByZWlzLS1pdGVtLXRpdGVsIHtcbiAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gICAgICAuY29udHJvbGxlcl9fa2lwIC5hdWZsaXN0dW5nUHJlaXNncnVwcGVuIC5wcmVpcy0taXRlbS1iZXNjaHJlaWJ1bmcge1xuICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAgLmF1Zmxpc3R1bmdQcmVpc2dydXBwZW4gLnByZWlzLS1pdGVtLWdsb2JhbCB7XG4gICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAgLmF1Zmxpc3R1bmdQcmVpc2dydXBwZW4gLnByZWlzLS1pdGVtLXByZWlzU3RhdHQge1xuICAgICAgICAgY29sb3I6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTtcbiAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5jb250cm9sbGVyX19raXAgLmF1Zmxpc3R1bmdQcmVpc2dydXBwZW4gLnByZWlzLS1pdGVtLXByZWlzU3RhdHRJbmZvIHtcbiAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07XG4gICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAuYXVmbGlzdHVuZ1ByZWlzZ3J1cHBlbiAucHJlaXMtLWl0ZW0tcHJlaXMge1xuICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LUFjdGl2ZS0tLS07XG4gICAgICAgICBmb250LXNpemU6IDIuMjVyZW07IH1cblxuLmNvbnRyb2xsZXJfX2tpcCAucHJlaXMtLWl0ZW0tdW5ncnVwcGllcnQge1xuICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgLmNvbnRyb2xsZXJfX2tpcCAucHJlaXMtLWl0ZW0tdW5ncnVwcGllcnQgLnByZWlzLS1pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBzdXBwb3J0cyAoYWxpZ24taXRlbXM6IGxlZnQpIHtcbiAgICAgICAgIC5jb250cm9sbGVyX19raXAgLnByZWlzLS1pdGVtLXVuZ3J1cHBpZXJ0IC5wcmVpcy0taXRlbSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogbGVmdDsgfSB9XG4gICAgICAuY29udHJvbGxlcl9fa2lwIC5wcmVpcy0taXRlbS11bmdydXBwaWVydCAucHJlaXMtLWl0ZW0tZ2xvYmFsIHtcbiAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAucHJlaXMtLWl0ZW0tdW5ncnVwcGllcnQgLnByZWlzLS1pdGVtLXByZWlzU3RhdHQge1xuICAgICAgICAgY29sb3I6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTtcbiAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAuY29udHJvbGxlcl9fa2lwIC5wcmVpcy0taXRlbS11bmdydXBwaWVydCAucHJlaXMtLWl0ZW0tcHJlaXNTdGF0dEluZm8ge1xuICAgICAgICAgY29sb3I6IC0tLS1Ba3plbnQtQWN0aXZlLS0tLTsgfVxuICAgICAgLmNvbnRyb2xsZXJfX2tpcCAucHJlaXMtLWl0ZW0tdW5ncnVwcGllcnQgLnByZWlzLS1pdGVtLXByZWlzIHtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICBjb2xvcjogLS0tLUFremVudC1BY3RpdmUtLS0tO1xuICAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG5cbi8qKlxyXG4gICBlc0tvbnRha3QgLSBCZXJlaWNoXHJcbiovXG4uZXNLb250YWt0IHtcbiAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCA1cHg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNGQUZBRkE7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgIC5lc0tvbnRha3Q6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgIC5lc0tvbnRha3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgLmVzS29udGFrdC0taW52YWxpZGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2E5NDQ0MjtcbiAgICAgIG1hcmdpbjogM3B4IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAuZXNLb250YWt0LS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgIC5lc0tvbnRha3QgLmVzS29udGFrdC0ta29udGFrdE5yIHtcbiAgICAgIGZsZXgtYmFzaXM6IDIxcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgIC5lc0tvbnRha3QgLmVzS29udGFrdC0taW5uZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmVzS29udGFrdCAuZXNLb250YWt0LS1pbm5lciAuZXNLb250YWt0LS1uYW1lIHtcbiAgICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgLmVzS29udGFrdCAuZXNLb250YWt0LS1pY29uLmljb24tbGluay0zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgIC5lc0tvbnRha3QgLmVzS29udGFrdC0taWNvbi5keC1pY29uLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuICAgICAgLmVzS29udGFrdCAuZXNLb250YWt0LS1pY29uLmR4LWljb24tY2xvc2U6aG92ZXIge1xuICAgICAgICAgY29sb3I6ICNhOTQ0NDI7IH1cblxuLypcclxuICAgICBUUEsgLSBUYWdlc3B1bmt0a2FjaGVsblxyXG4gICovXG4uZXNLYWNoZWwtLXRhZ2VzcHVua3Qge1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgIGhlaWdodDogMTAwJTsgfVxuICAgLmVzS2FjaGVsLS10YWdlc3B1bmt0IC5lc0thY2hlbF9fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgIC5lc0thY2hlbC0tdGFnZXNwdW5rdCAudGFnZXNwdW5rdF9faGlud2VpcyB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgIC5lc0thY2hlbC0tdGFnZXNwdW5rdCAudGFnZXNwdW5rdF9fZnJlaWVwbGF0emUsXG4gICAuZXNLYWNoZWwtLXRhZ2VzcHVua3QgLnRhZ2VzcHVua3RfX2RvemVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnB4OyB9XG5cbi50YWdlc3B1bmt0QmxvY2tfX3VocnplaXQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgcGFkZGluZzogMTBweCAwIDdweCAxcHg7XG4gICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZXNUYWdlc3B1bmt0ZSB7XG4gICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgLmVzVGFnZXNwdW5rdGVfX3RpdGVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgIC5lc1RhZ2VzcHVua3RlX19hbmtlckJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmVzVGFnZXNwdW5rdGVfX2Fua2VyQnV0dG9uIHtcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5lc1RhZ2VzcHVua3RlVGFicyB7XG4gICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAuZXNUYWdlc3B1bmt0ZVRhYnMgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAycHggMnB4IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnB4KTsgfVxuICAgICAgLmVzVGFnZXNwdW5rdGVUYWJzIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAtLS0tQWt6ZW50LUhvdmVyLS0tLTtcbiAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gICAgICAgICAuZXNUYWdlc3B1bmt0ZVRhYnMgYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNy41cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3LjVweDsgfSB9XG5cbi8qXHJcbiAgIER1cmNoIGRpZSBLb250YWt0YXVzd2FobCBpbSBLSVAtTW9kdWwgZmVobHQgUGxhdHosIHNvZGFzcyBkaWUgSXRlbXMgaGllciBhbmRlcnMgYmVyZWNobmV0IHdlcmRlbiBzb2xsZW5cclxuKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gICAuZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcgLmVzRmxleENvbnRhaW5lcl9faXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc0ZsZXhDb250YWluZXJfX2l0ZW06bnRoLWNoaWxkKDFuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgIC5lc0Zvcm11bGFyLS1tZWhyZmFjaGFubWVsZHVuZyAuZXNGb3JtdWxhcmZlbGQtLWRhcmZad2Vpc3BhbHRpZ2VBbnplaWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gICAuZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcgLmVzRmxleENvbnRhaW5lcl9faXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA3LjVweCk7IH1cbiAgIC5lc0Zvcm11bGFyLS1tZWhyZmFjaGFubWVsZHVuZyAuZXNGbGV4Q29udGFpbmVyX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSBhbmQgKG1heC13aWR0aDogMTY3OS45OHB4KSB7XG4gICAuZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcgLmVzRmxleENvbnRhaW5lcl9faXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygzMyUgLSAxMHB4KTsgfVxuICAgLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc0ZsZXhDb250YWluZXJfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgIC5lc0Zvcm11bGFyLS1tZWhyZmFjaGFubWVsZHVuZyAuZXNGbGV4Q29udGFpbmVyX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDExLjI1cHgpOyB9XG4gICAuZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcgLmVzRmxleENvbnRhaW5lcl9faXRlbTpudGgtY2hpbGQoNG4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi8qXHJcbiAgICAgVFBLIC0gVGFiYnV0dG9uc1xyXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgIC5lc1RhZ2VzcHVua3RlVGFicyBidXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMyUgLSAycHgpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gICAuZXNUYWdlc3B1bmt0ZVRhYnMgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJweCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNjc5Ljk4cHgpIHtcbiAgIC5lc1RhZ2VzcHVua3RlVGFicyBidXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMnB4KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAgLmVzVGFnZXNwdW5rdGVUYWJzIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42JSAtIDJweCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAgLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc1RhZ2VzcHVua3RlVGFicyBidXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnB4KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc1RhZ2VzcHVua3RlVGFicyBidXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMyUgLSAycHgpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gICAuZXNGb3JtdWxhci0tbWVocmZhY2hhbm1lbGR1bmcgLmVzVGFnZXNwdW5rdGVUYWJzIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAycHgpOyB9IH1cblxuLmxheW91dF9fcHJlc2VudGF0aW9uIC5lc1RhZ2VzcHVua3RlVGFicyBidXR0b24sXG4ubGF5b3V0X19wcmVzZW50YXRpb24gLmVzRm9ybXVsYXItLW1laHJmYWNoYW5tZWxkdW5nIC5lc1RhZ2VzcHVua3RlVGFicyBidXR0b24ge1xuICAgd2lkdGg6IGF1dG87IH1cblxuLypcclxuICAgSUUxMCArIElFMTEgRXh0cmF3dXJzdFxyXG4qL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgIC5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5rdXJzRGV0YWlsLS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLyogQmlsZCB1bmQgw5xiZXJzaWNodCB3ZXJkZW4gaW0gQ1NTLUNvZGUgZWluIFBhYXIgWmVpbGVuIGRyw7xiZXIgYXVmIDUwJSBnZXNldHp0LiBEYXMgZ2lsdCBhYmVyIG51ciwgd2VubiBlaW4gQmlsZCBnZXNldHp0IGlzdC4gU29uc3Qgc29sbCBkaWUgQmVzY2hyZWlidW5nIDEwMCUgZWlubmVobWVuLCBhbGxlcyBhbmRlcmUgc2llaHQgbmljaHQgZ3V0IGF1cy4gKi8gfVxuICAgICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0tYmVzY2hyZWlidW5nIHtcbiAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAua3Vyc0RldGFpbC0td3JhcHBlciAua3Vyc0RldGFpbC0taXRlbS1iaWxkLFxuICAgICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0tdWViZXJzaWNodCB7XG4gICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAua3Vyc0RldGFpbC0td3JhcHBlciAua3Vyc0RldGFpbC0taXRlbS1iaWxkIHtcbiAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgIC5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5rdXJzRGV0YWlsLS13cmFwcGVyIC5rdXJzRGV0YWlsLS1pdGVtLWJpbGQgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLmt1cnNEZXRhaWwtLXdyYXBwZXIgLmt1cnNEZXRhaWwtLWl0ZW0tYmlsZCB7XG4gICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7IH1cbiAgICAgIC5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5rdXJzRGV0YWlsLS13cmFwcGVyLmt1cnNEZXRhaWwtLXdyYXBwZXIta2VpbkJpbGQgLmt1cnNEZXRhaWwtLWl0ZW0tdWViZXJzaWNodCB7XG4gICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAua3Vyc0RldGFpbC0td3JhcHBlciAua3Vyc0RldGFpbC0taXRlbS11ZWJlcnNpY2h0IHtcbiAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5icm93c2VyX19pbnRlcm5ldGV4cGxvcmVyIC5rdXJzRGV0YWlsLS13cmFwcGVyIC5rdXJzRGV0YWlsLS1pdGVtLWJpbGQge1xuICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAuZG96ZW50LS1pdGVtIC5kb3plbnQtLWJpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgICAgLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLmRvemVudC0taXRlbSAuZG96ZW50LS1iaWxkIGltZyB7XG4gICAgICAgICBvYmplY3QtZml0OiB1bnNldDtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi8qIExHTiAtIFNlaXRlIExvZ2luICovXG5odG1sLmNvbnRyb2xsZXJfX2xnbi5hY3Rpb25fX2xvZ2luIC5lc0xheW91dF9tYWluX2lubmVyIHtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIGZsZXgtZ3JvdzogMTsgfVxuXG4ubG9naW4ge1xuICAgd2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nOiAxNXB4OyB9XG4gICAubG9naW4tLWNlbnRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgLmxvZ2luX19pbnB1dEFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgIC5sb2dpbiAjbG9naW4ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgIC5sb2dpbl9fdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5sb2dpbl9fdGFibGUgdHIge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgICAgICAgLmxvZ2luX190YWJsZSB0ciB0ZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAubG9naW5fX3RhYmxlIHRyID4gdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGNlbnRyYWw7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgIC5sb2dpbl9fZmlybWVubG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgbWF4LWhlaWdodDogMTMwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgIC5sb2dpbl9fcmVtZW1iZU1lTGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgIC5sb2dpbl9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgLmxvZ2luX19idXR0b24tLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5sb2dpbl9fYnV0dG9uLS13cmFwcGVyIC5sb2dpbl9fYnV0dG9uLS10cmVubndvcnQge1xuICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgIC5sb2dpbl9fa2VubndvcnRWZXJnZXNzZW4sIC5sb2dpbl9fcmVnaXN0cmllcmVuVXJsIHtcbiAgICAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAubG9naW5fX3JlZ2lzdHJpZXJlblVybCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgIC5sb2dpbl9faGlud2Vpc3RleHQtLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5sb2dpbl9faGlud2Vpc3RleHQtLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICNjY2M7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICByaWdodDogNDclO1xuICAgICAgICAgdG9wOiAtMTJweDsgfVxuICAgICAgLmxvZ2luX19oaW53ZWlzdGV4dC0td3JhcHBlcjphZnRlciB7XG4gICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHJpZ2h0OiA0NyU7XG4gICAgICAgICB0b3A6IC0xMXB4OyB9XG4gICAubG9naW5fX2hpbndlaXN0ZXh0LS1pY29uIHtcbiAgICAgIGNvbG9yOiAjZDQxMjFlO1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4ubG9naW4tLW1vZGFsIC5sb2dpbl9faGlud2Vpc3RleHQtLXdyYXBwZXIge1xuICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sb2dpbi0tc3RhbmRhcmQgLmxvZ2luX19oaW53ZWlzdGV4dC0td3JhcHBlciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAubG9naW4tLXN0YW5kYXJkIHtcbiAgICAgIG1heC13aWR0aDogMzcwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgLmxvZ2luLS1zdGFuZGFyZCB7XG4gICAgICBtYXgtd2lkdGg6IDQ0MHB4OyB9XG4gICAgICAubG9naW4tLXN0YW5kYXJkIHRhYmxlIHRyIHtcbiAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAgICAgICAgLmxvZ2luLS1zdGFuZGFyZCB0YWJsZSB0ciB0ZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAgICAgIC5sb2dpbi0tc3RhbmRhcmQgdGFibGUgdHIgPiB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmxvZ2luLS1zdGFuZGFyZCAubG9naW5fX2J1dHRvbi0td3JhcHBlciB7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgICAubG9naW4tLXN0YW5kYXJkIC5sb2dpbl9fYnV0dG9uLS13cmFwcGVyIC5sb2dpbl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAubG9naW4tLXN0YW5kYXJkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmxvZ2luLS1zdGFuZGFyZCAubG9naW4tLWNlbnRlcmVkIHtcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAubG9naW4tLXN0YW5kYXJkIC5sb2dpbl9faW5wdXRBcmVhIHtcbiAgICAgICAgIGZsZXgtZmxvdzogcm93OyB9XG4gICAgICAubG9naW4tLXN0YW5kYXJkIC5sb2dpbl9faGlud2Vpc3RleHQtLXdyYXBwZXIge1xuICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgbGVmdDogMTA1JTtcbiAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgLmxvZ2luLS1zdGFuZGFyZCAubG9naW5fX2hpbndlaXN0ZXh0LS13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgI2NjYztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMzMlOyB9XG4gICAgICAgICAubG9naW4tLXN0YW5kYXJkIC5sb2dpbl9faGlud2Vpc3RleHQtLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDk5LjU1JTtcbiAgICAgICAgICAgIHRvcDogMzMlOyB9IH1cblxuLmNvbnRyb2xsZXJfX3BmcS5hY3Rpb25fX3VlYmVyc2ljaHQgI01vZGFsX0t1cnNiZXN1Y2hQbGFuZW5fU2Nyb2xsVmlldyAuZGV0YWlsTGluayB7XG4gICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250cm9sbGVyX19wdW4uYWN0aW9uX19iZWFyYmVpdGVuIC5lc0Zvcm11bGFyaW5zdGFueiB7XG4gICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgLmNvbnRyb2xsZXJfX3B1bi5hY3Rpb25fX2JlYXJiZWl0ZW4gLmVzRm9ybXVsYXJpbnN0YW56IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG4uY29udHJvbGxlcl9fdXBzLmFjdGlvbl9fY2VjNDAzICNlc0xheW91dF9tYWluX2lubmVyLFxuLmNvbnRyb2xsZXJfX3Vwcy5hY3Rpb25fX2NlYzQwNCAjZXNMYXlvdXRfbWFpbl9pbm5lciB7XG4gICBoZWlnaHQ6IDEwMCU7IH1cblxuI3Vwc1dlbHRhbGxfX3dyYXBwZXIge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgd2lkdGg6IDEwMCU7XG4gICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiN1cHNXZWx0YWxsX193cmFwcGVyLnVwc1dlbHRhbGxfX3dyYXBwZXItLXRyYW5zaXRpb24gaSB7XG4gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzOyB9XG5cbi51cHNXZWx0YWxsX193b2xrZVJlY2h0c1VudGVuIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIG9wYWNpdHk6IDAuMTg7IH1cblxuLnVwc1dlbHRhbGxfX3dvbGtlTGlua3NVbnRlbiB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBvcGFjaXR5OiAwLjE4OyB9XG5cbi51cHNXZWx0YWxsX193b2xrZVJlY2h0c09iZW5Hcm9zcyB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBvcGFjaXR5OiAwLjE4OyB9XG5cbi51cHNXZWx0YWxsX193b2xrZVJlY2h0c09iZW5LbGVpbiB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBvcGFjaXR5OiAwLjE1OyB9XG5cbi51cHNXZWx0YWxsX19zdGVybmVXcmFwcGVyIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHotaW5kZXg6IC0xOyB9XG5cbi51cHNXZWx0YWxsX19zdGVybiB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnVwc1dlbHRhbGxfX3N0YXR1c1dyYXBwZXIge1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4udXBzV2VsdGFsbF9fc3RhdHVzIHtcbiAgIGNvbG9yOiAtLS0tQWt6ZW50LS0tLTsgfVxuXG4udXBzV2VsdGFsbF9fc3RhdHVzVGV4dCB7XG4gICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIG1hcmdpbi10b3A6IDJ2aDsgfVxuXG4udXBzV2VsdGFsbF9fbW9uZCxcbi51cHNXZWx0YWxsX19yYWtldGUsXG4udXBzV2VsdGFsbF9fa29tZXQxLFxuLnVwc1dlbHRhbGxfX2tvbWV0Mixcbi51cHNXZWx0YWxsX19rb21ldDMge1xuICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbkBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgLnVwc1dlbHRhbGxfX3dvbGtlUmVjaHRzVW50ZW4ge1xuICAgICAgYm90dG9tOiAtNDBweDtcbiAgICAgIHJpZ2h0OiAtNTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTl2dzsgfVxuICAgLnVwc1dlbHRhbGxfX3dvbGtlTGlua3NVbnRlbiB7XG4gICAgICBib3R0b206IC00NHB4O1xuICAgICAgbGVmdDogLTg3cHg7XG4gICAgICBmb250LXNpemU6IDE1dnc7IH1cbiAgIC51cHNXZWx0YWxsX193b2xrZVJlY2h0c09iZW5Hcm9zcyB7XG4gICAgICB0b3A6IC0zNHB4O1xuICAgICAgcmlnaHQ6IC01MnB4O1xuICAgICAgZm9udC1zaXplOiAxN3Z3OyB9XG4gICAudXBzV2VsdGFsbF9fd29sa2VSZWNodHNPYmVuS2xlaW4ge1xuICAgICAgdG9wOiAtNjBweDtcbiAgICAgIHJpZ2h0OiAtNzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJ2dzsgfVxuICAgLnVwc1dlbHRhbGxfX3N0YXR1cyB7XG4gICAgICBmb250LXNpemU6IDEzdnc7IH1cbiAgIC51cHNXZWx0YWxsX19zdGF0dXNUZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41dnc7XG4gICAgICBtYXgtd2lkdGg6IDMzdnc7IH1cbiAgIC51cHNXZWx0YWxsX19tb25kIHtcbiAgICAgIGZvbnQtc2l6ZTogNnZ3O1xuICAgICAgbGVmdDogNnZ3O1xuICAgICAgdG9wOiA0dnc7IH1cbiAgIC51cHNXZWx0YWxsX19yYWtldGUge1xuICAgICAgZm9udC1zaXplOiAxNnZ3O1xuICAgICAgbGVmdDogMTglO1xuICAgICAgdG9wOiAxNyU7IH1cbiAgIC51cHNXZWx0YWxsX19rb21ldDEge1xuICAgICAgZm9udC1zaXplOiA4dnc7XG4gICAgICBsZWZ0OiA3NiU7XG4gICAgICB0b3A6IDUyJTsgfVxuICAgLnVwc1dlbHRhbGxfX2tvbWV0MiB7XG4gICAgICBmb250LXNpemU6IDEwdnc7XG4gICAgICBsZWZ0OiA3MiU7XG4gICAgICB0b3A6IDglOyB9XG4gICAudXBzV2VsdGFsbF9fa29tZXQzIHtcbiAgICAgIGZvbnQtc2l6ZTogN3Z3O1xuICAgICAgbGVmdDogODAlO1xuICAgICAgdG9wOiAzMSU7IH0gfVxuXG5AbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgLnVwc1dlbHRhbGxfX3N0YXR1cyB7XG4gICAgICBmb250LXNpemU6IDE4dnc7IH1cbiAgIC51cHNXZWx0YWxsX193b2xrZVJlY2h0c1VudGVuIHtcbiAgICAgIGJvdHRvbTogLTI0cHg7XG4gICAgICByaWdodDogLTM0cHg7IH1cbiAgIC51cHNXZWx0YWxsX193b2xrZUxpbmtzVW50ZW4ge1xuICAgICAgYm90dG9tOiAtMTRweDtcbiAgICAgIGxlZnQ6IC0xN3B4OyB9XG4gICAudXBzV2VsdGFsbF9fd29sa2VSZWNodHNPYmVuR3Jvc3Mge1xuICAgICAgdG9wOiAtMjRweDtcbiAgICAgIHJpZ2h0OiAtMzVweDsgfVxuICAgLnVwc1dlbHRhbGxfX3dvbGtlUmVjaHRzT2JlbktsZWluIHtcbiAgICAgIHRvcDogLTE4cHg7XG4gICAgICByaWdodDogLTQzcHg7IH1cbiAgIC51cHNXZWx0YWxsX19zdGF0dXNUZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogM3Z3O1xuICAgICAgbWF4LXdpZHRoOiA1MnZ3O1xuICAgICAgbWFyZ2luLXRvcDogMnZoOyB9XG4gICAudXBzV2VsdGFsbF9fbW9uZCxcbiAgIC51cHNXZWx0YWxsX19rb21ldDEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLnVwc1dlbHRhbGxfX3Jha2V0ZSB7XG4gICAgICBmb250LXNpemU6IDI1dnc7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgICB0b3A6IDE3JTsgfVxuICAgLnVwc1dlbHRhbGxfX2tvbWV0MiB7XG4gICAgICBmb250LXNpemU6IDE0dnc7XG4gICAgICBsZWZ0OiA3MiU7XG4gICAgICB0b3A6IDYlOyB9XG4gICAudXBzV2VsdGFsbF9fa29tZXQzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTF2dztcbiAgICAgIHRvcDogMzElOyB9IH1cblxuQG1lZGlhIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgIC51cHNXZWx0YWxsX19zdGF0dXMge1xuICAgICAgZm9udC1zaXplOiAyMHZ3OyB9XG4gICAudXBzV2VsdGFsbF9fc3RhdHVzVGV4dCB7XG4gICAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgICAgbWF4LXdpZHRoOiA2NXZ3OyB9XG4gICAudXBzV2VsdGFsbF9fd29sa2VSZWNodHNVbnRlbiB7XG4gICAgICBib3R0b206IC0xN3B4O1xuICAgICAgcmlnaHQ6IC0yM3B4O1xuICAgICAgZm9udC1zaXplOiAyOXZ3O1xuICAgICAgb3BhY2l0eTogMC4yMzsgfVxuICAgICAgLnVwc1dlbHRhbGxfX3dvbGtlUmVjaHRzVW50ZW46YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6ICdcXGU5ODcnOyB9XG4gICAudXBzV2VsdGFsbF9fd29sa2VMaW5rc1VudGVuIHtcbiAgICAgIGJvdHRvbTogLTE5cHg7XG4gICAgICBsZWZ0OiAtMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMzV2dzsgfVxuICAgICAgLnVwc1dlbHRhbGxfX3dvbGtlTGlua3NVbnRlbjpiZWZvcmUge1xuICAgICAgICAgY29udGVudDogJ1xcZTk3Yyc7XG4gICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgLnVwc1dlbHRhbGxfX3dvbGtlUmVjaHRzT2Jlbkdyb3NzIHtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgICByaWdodDogLTMycHg7XG4gICAgICBmb250LXNpemU6IDI2dnc7IH1cbiAgICAgIC51cHNXZWx0YWxsX193b2xrZVJlY2h0c09iZW5Hcm9zczpiZWZvcmUge1xuICAgICAgICAgY29udGVudDogJ1xcZTk4OCc7IH1cbiAgIC51cHNXZWx0YWxsX193b2xrZVJlY2h0c09iZW5LbGVpbiB7XG4gICAgICB0b3A6IC03OXB4O1xuICAgICAgcmlnaHQ6IC0zNnB4O1xuICAgICAgZm9udC1zaXplOiAyNnZ3OyB9XG4gICAgICAudXBzV2VsdGFsbF9fd29sa2VSZWNodHNPYmVuS2xlaW46YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6ICdcXGU5ODYnOyB9XG4gICAudXBzV2VsdGFsbF9fbW9uZCxcbiAgIC51cHNXZWx0YWxsX19rb21ldDEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLnVwc1dlbHRhbGxfX3Jha2V0ZSB7XG4gICAgICB0b3A6IDI0JTtcbiAgICAgIGxlZnQ6IDclO1xuICAgICAgZm9udC1zaXplOiAzM3Z3OyB9XG4gICAudXBzV2VsdGFsbF9fa29tZXQyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZ2dztcbiAgICAgIGxlZnQ6IDc5JTtcbiAgICAgIHRvcDogMjclOyB9XG4gICAudXBzV2VsdGFsbF9fa29tZXQzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTR2dztcbiAgICAgIGxlZnQ6IDg1JTtcbiAgICAgIHRvcDogNDElOyB9IH1cblxuLmNvbnRyb2xsZXJfX2FkZSAuZXNFaW5nZXNjaHJhZW5rdGVTZWl0ZW5icmVpdGUge1xuICAgbWF4LXdpZHRoOiA4NTBweDsgfVxuXG4ubW9kdWxFaW5sZWl0dW5nIHtcbiAgIG1hcmdpbjogMjBweCAwIDMwcHg7IH1cblxuLm1vZHVsSW5mb1dyYXBwZXIge1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjEwcHgsIDFmcikpOyB9XG4gICAubW9kdWxJbmZvV3JhcHBlciAubW9kdWxJbmZvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAubW9kdWxJbmZvV3JhcHBlciAubW9kdWxJbmZvIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jb250cm9sbGVyX19hZGUuYnJvd3Nlcl9faW50ZXJuZXRleHBsb3JlciAubW9kdWxJbmZvV3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAuY29udHJvbGxlcl9fYWRlLmJyb3dzZXJfX2ludGVybmV0ZXhwbG9yZXIgLm1vZHVsSW5mb1dyYXBwZXIgLm1vZHVsSW5mbyB7XG4gICAgICB3aWR0aDogNTAlOyB9XG5cbi5lbnRyaWVzVG9nZ2xlIHtcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgY29sb3I6IC0tLS1Ba3plbnQtLS0tOyB9XG4gICAuZW50cmllc1RvZ2dsZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmVudHJpZXNMaXN0IHtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgIHBhZGRpbmc6IDE1cHg7XG4gICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5tZW51ZUVudHJ5LXdyYXBwZXIge1xuICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cbiAgIC5tZW51ZUVudHJ5LXdyYXBwZXI6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLm1lbnVlRW50cnkge1xuICAgcGFkZGluZzogNXB4OyB9XG4gICAubWVudWVFbnRyeS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgLm1lbnVlRW50cnktY29sIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XG4gICAubWVudWVFbnRyeS10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgLm1lbnVlRW50cnktaGVhZGVyIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cbiAgICAgIC5tZW51ZUVudHJ5LWNvbCB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAubWVudWVFbnRyeS10aXRsZSB7XG4gICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhpbndlaXMge1xuICAgcGFkZGluZzogMzBweCAxMHB4IDEwcHg7IH1cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAuaGlud2VpcyB7XG4gICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHggMjBweDsgfSB9XG5cbi5hc3Rlcml4IHtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgIC5jb250cm9sbGVyX19lcGwgLmVzRWluZ2VzY2hyYWVua3RlU2VpdGVuYnJlaXRlIHtcbiAgICAgIHdpZHRoOiA5NiU7IH0gfVxuXG4uY29udHJvbGxlcl9fZXBsIC5lcGxEZXRhaWxzIC5tYXJnaW5Ub3Age1xuICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4uY29udHJvbGxlcl9fZXBsIC5lcGxEZXRhaWxzIC5tYXJnaW5Cb3R0b20ge1xuICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4uY29udHJvbGxlcl9fZXBsIC5lcGxEZXRhaWxzIGg1IHtcbiAgIG1hcmdpbjogNHJlbSAwIDFyZW07IH1cblxuLmNvbnRyb2xsZXJfX2VwbCAuZXBsRGV0YWlscyAuemVpbGVad2Vpc3BhbHRpZyB7XG4gICBkaXNwbGF5OiBncmlkO1xuICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgZ3JpZC1nYXA6IDFyZW07XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgIC5jb250cm9sbGVyX19lcGwgLmVwbERldGFpbHMgLnplaWxlWndlaXNwYWx0aWcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuXG4uY29udHJvbGxlcl9fZXBsIC5pbm5lciB7XG4gICBtaW4taGVpZ2h0OiA1NTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgLmNvbnRyb2xsZXJfX3RwbCAuZXNFaW5nZXNjaHJhZW5rdGVTZWl0ZW5icmVpdGUge1xuICAgICAgd2lkdGg6IDk2JTsgfSB9XG5cbi5jb250cm9sbGVyX190cGwgLmVzUG93ZXJzdWNoZSB7XG4gICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAgLmNvbnRyb2xsZXJfX3RwbCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiAyMDBweDsgfVxuICAgLmNvbnRyb2xsZXJfX3RwbCAuZXNQb3dlcnN1Y2hlIHtcbiAgICAgIHdpZHRoOiAyMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAgLmNvbnRyb2xsZXJfX3RwbCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiAzNTBweDsgfVxuICAgLmNvbnRyb2xsZXJfX3RwbCAuZXNQb3dlcnN1Y2hlIHtcbiAgICAgIHdpZHRoOiAzNzBweDsgfSB9XG5cbi5jb250cm9sbGVyX19sbmUgLmNvbnRlbnQge1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgIC5jb250cm9sbGVyX19sbmUgLmNvbnRlbnQgLmVzRm9ybXVsYXJncm91cF9fY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jb250cm9sbGVyX19sbmUgLmVzRm9ybXVsYXJncm91cC0tZWluZ2VydWVja3QgLmVzRm9ybXVsYXJncm91cF9fY29udGVudC0td2l0aEJhY2tncm91bmQge1xuICAgYm9yZGVyOiBub25lOyB9XG5cbi5jb250cm9sbGVyX19sbmUgLmxhYmVsSW5wdXQge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBmb250LXNpemU6IDE0cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgLmNvbnRyb2xsZXJfX2xuZSAubGFiZWxJbnB1dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAuY29udHJvbGxlcl9fbG5lIC5sYWJlbElucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAgLnRlaWxuZWhtZXJsaXN0ZS0tbG5lID4gZGl2Om50aC1jaGlsZCg0bis1KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAudGVpbG5laG1lcmxpc3RlLS1sbmUgPiBkaXY6bnRoLWNoaWxkKDRuKzUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAudGVpbG5laG1lcmxpc3RlLS1sbmUgPiBkaXY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gICAudGVpbG5laG1lcmxpc3RlLS1sbmUgPiBkaXY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLyogR3J1bmRsZWdlbmRlIFJlZ2VsbiAqL1xuLypcclxuRsO8ciBlaW5lIG5ldWUgWmVpbGUgKERlc2t0b3AtTGF5b3V0KSB3aXJkIGVpbmUgbmV1ZSBSb3cgYW5nZWxlZ3QuIERhcsO8YmVyIHdpcmQgZGFubiBldmVudHVlbGxlcyBUb3AtTWFyZ2luIGFuZ2VsZWd0LlxyXG5cclxuRHVyY2hnZWhlbmRlIEhpbnRlcmdydW5kZmFyYmVuIHdlcmRlbiDDvGJlciBkaWUgUm93IGFuZ2VsZWd0LFxyXG5Ib3Jpem9udGFsIHdlY2hzZWxuZGUgw7xiZXIgZGllIENvbHMuXHJcblxyXG5BYnNjaG5pdHRzw7xiZXJzY2hyaWZ0ZW4gc2luZCAyXHJcbkthY2hlbG4gYmVpbmhhbHRldCBoMyB1bmQgaDRcclxuw5xiZXJzY2hyZml0ZW4gZWluemVsbmVyIEVsZW1lbnRlIHNpbmQgaDNcclxuXHJcbiAqL1xuOnJvb3Qge1xuICAgLyogU2NocmlmdGdyb2XDn2VuICovXG4gICAtLXBkLWZvbnRzaXplOiAxNHB4O1xuICAgLS1wZC1hYnN0YW5kOiAxNXB4O1xuICAgLyogRmFyYnBsYXR6aGFsdGVyIGVyc2V0emVuISBcclxuICBcclxuICAgIC0tcGQtYmdmYXJiZTE6ICNlOWViZWM7XHJcbiAgICAtLXBkLWJnZmFyYmUyOiAjZjJmMmYxO1xyXG4gICAgLS1wZC1ncmF1MzogIzZhNmE2OTtcclxuXHJcbiAgICAtLXBkLWJ1dHRvbmZhcmJlMTogI0I4QzcwMztcclxuICAgIC0tcGQtYnV0dG9uZmFyYmUxaDogcmdiKDIwNCwgMjE5LCA0Myk7XHJcblxyXG4gICAgLS1wZC1idXR0b25mYXJiZTI6ICMwMDM4NzU7XHJcbiAgICAtLXBkLWJ1dHRvbmZhcmJlMmg6IHJnYigzMCwgNzYsIDEzNyk7XHJcblxyXG4gKi9cbiAgIC8qIE5ldWUgRmFyYmVubmFtZW4sIGVyc2V0emVuIG9iZXJlIGRhbm4gKi9cbiAgIC0tcGQtZ3JhdTogI2U5ZWJlYztcbiAgIC0tcGQtaGdyYXU6ICNmMmYyZjE7XG4gICAtLXBkLWRncmF1OiAjNmE2YTY5O1xuICAgLS1wZC1mYXJiZTE6ICNCOEM3MDM7XG4gICAtLXBkLWZhcmJlMWhlbGw6IHJnYigyMDQsIDIxOSwgNDMpO1xuICAgLS1wZC1mYXJiZTI6ICMwMDM4NzU7XG4gICAtLXBkLWZhcmJlMmhlbGw6IHJnYigzMCwgNzYsIDEzNyk7XG4gICAtLXBkLWxpbmtmYXJiZTogIzAwMzg3NTtcbiAgIC8qIEZhbGxzIGRpZSBkZWZhdWx0LUxpbmtmYXJiZSB6dSBoZWxsIHfDpHJlLCBrYW5uIGhpZXIgZWluZSBhbmRlcmUgZWluZ2V0YXVzY2h0IHfDpHJlICovIH1cblxuLnBkICoge1xuICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICBjb2xvcjogIzE0MTQxNDsgfVxuXG4vKiBCb290c3RyYXAgT3ZlcndyaXRlcyAqL1xuLnBkLnJvdyB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC13cmFwOiB3cmFwO1xuICAgbWFyZ2luLXRvcDogMDtcbiAgIG1hcmdpbi1yaWdodDogLS43NXJlbTtcbiAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgLnJvdy5wZCAuY29sLXh4bC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgLnJvdy5wZCAuY29sLXh4bC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi8qIEFsbGdlbWVpbmVzICovXG4ucGQge1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXJnaW46IDA7XG4gICBwYWRkaW5nOiAwO1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5zZWN0aW9uLnBkIHtcbiAgIHBhZGRpbmc6IGNhbGMoNiAqIHZhcigtLXBkLWFic3RhbmQpKSBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSk7IH1cblxuc2VjdGlvbi5wZC5wZC1oZXJvLFxuc2VjdGlvbi5wZC5wZC1tYXJnaW4tMiB7XG4gICBwYWRkaW5nOiBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSkgY2FsYygyICogdmFyKC0tcGQtYWJzdGFuZCkpOyB9XG5cbnNlY3Rpb24ucGQucGQtbWFyZ2luLTQge1xuICAgcGFkZGluZzogY2FsYyg0ICogdmFyKC0tcGQtYWJzdGFuZCkpIGNhbGMoMiAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuXG5zZWN0aW9uLnBkLnBkLW1hcmdpbi0xIHtcbiAgIHBhZGRpbmc6IGNhbGMoMSAqIHZhcigtLXBkLWFic3RhbmQpKSBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSk7IH1cblxuLyogZsO8ciDDnGJlcnNjaHJpZnRlbiwgZGVuZW4gZGlyZWt0IGVpbmUgd2VpdGVyZSBzZWN0aW9uIGZvbGd0ICovXG5zZWN0aW9uLnBkLnBkLW1hcmdpbi1hcm91bmQge1xuICAgcGFkZGluZy1ib3R0b206IGNhbGMoMiAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuXG5zZWN0aW9uLnBkLnBkLW1hcmdpbi1hcm91bmQgKyBzZWN0aW9uLnBkIHtcbiAgIHBhZGRpbmctdG9wOiBjYWxjKDEgKiB2YXIoLS1wZC1hYnN0YW5kKSk7IH1cblxuLyogSGVhZGxpbmVzICovXG4vKiBzaW5kIGltIFZlcmdsZWljaCB6dSBkZW4gw7xibGljaGVuIFB1Ymxpc2gtU2VpdGVuIGdyw7bDn2VyLCBkLmguIGgyIGVudHNwcmljaHQgZWhlciBoMSBpbiBkZXIgR3LDtsOfZSAqL1xuLnBkIGgxIHtcbiAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wZC1mb250c2l6ZSkgKiA0KTtcbiAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBkLWZvbnRzaXplKSAqIDIpOyB9XG5cbi5wZCBoMiB7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBkLWZvbnRzaXplKSAqIDIuNSk7XG4gICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wZC1mb250c2l6ZSk7XG4gICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1wZC1mb250c2l6ZSkgKiAzKTsgfVxuXG4ucGQgaDMge1xuICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBkLWZvbnRzaXplKSAqIDEuNSk7XG4gICAvKmZvbnQtd2VpZ2h0OiBib2xkOyovIH1cblxuLnBkIGg0IHtcbiAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wZC1mb250c2l6ZSkgKiAxLjEpOyB9XG5cbi5wZCBwLCAucGQgbGksIC5wZCBzcGFuLCAucGQgZGl2IHtcbiAgIGZvbnQtc2l6ZTogdmFyKC0tcGQtZm9udHNpemUpO1xuICAgbGluZS1oZWlnaHQ6IDEuNDU7IH1cblxuLyogT3ZlcndyaXRlcyBmw7xyIFN0YW5kYXJkcyAqL1xuLyoucGQgcFxyXG57XHJcbiAgICBtYXJnaW46IDAgMTZweDtcclxufSovXG4ucGQgYSwgLnBkIGEgc3BhbiB7XG4gICBjb2xvcjogdmFyKC0tcGQtbGlua2ZhcmJlKTsgfVxuXG4vKiBCZXNvbmRlcmUgTGF5b3V0czogNWVyLVJlaWhlIHVuZCA5ZXItQmxvY2sgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAgLnJvdy5wZCAuY29sLWxnLTJlciB7XG4gICAgICB3aWR0aDogMjAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAucm93LnBkLm5ldW5lciAuY29sLWxnLTQge1xuICAgICAgYXNwZWN0LXJhdGlvOiA1LzM7IH0gfVxuXG4ucm93LnBkLmRvcHBlbCAuY29sLXhzLTEyIHtcbiAgIHBhZGRpbmc6IDA7IH1cbiAgIC5yb3cucGQuZG9wcGVsIC5jb2wteHMtMTIgLnBkLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4gICAucm93LnBkLmRvcHBlbCAuY29sLXhzLTEyIC5wZC10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IGNhbGMoMiAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuXG4ucm93LnBkLmRvcHBlbCAuY29sLXhzLTEyOm50aC1vZi10eXBlKDJuKSB7XG4gICBwYWRkaW5nLWxlZnQ6IGNhbGMoMiAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuICAgLnJvdy5wZC5kb3BwZWwgLmNvbC14cy0xMjpudGgtb2YtdHlwZSgybikgLnBkLXRleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIHBkLWJ1dHRvbnMgKi9cbi5wZCBhLnBkLWJ0biB7XG4gICBoZWlnaHQ6IDM4cHg7XG4gICBwYWRkaW5nOiAwIDE0cHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICBmb250LXdlaWdodDogNjAwO1xuICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICBjb2xvcjogI2ZmZjtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMik7IH1cblxuLnBkIHAgYS5wZC1idG4ge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBtYXJnaW46IHZhcigtLXBkLWFic3RhbmQpIGF1dG87XG4gICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cblxuLnBkIGEucGQtYnRuOmZvY3VzIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMmhlbGwpOyB9XG5cbi5wZCBhLnBkLWJ0bjpob3ZlciB7XG4gICBjb2xvcjogI2ZmZjtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMmhlbGwpOyB9XG5cbi5wZCBhLnBkLWJ0bjpkaXNhYmxlZCB7XG4gICBvcGFjaXR5OiAuNTsgfVxuXG4ucGQgYS5wZC1idG5fX3ByaW0ge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUxKTsgfVxuXG4ucGQgYS5wZC1idG5fX3ByaW06Zm9jdXMge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUxaGVsbCk7IH1cblxuLnBkIGEucGQtYnRuX19wcmltOmhvdmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMWhlbGwpOyB9XG5cbi5wZC1rYWNoZWwgLnBkLWJ0bi13cmFwcGVyIHtcbiAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wZC1rYWNoZWwgYS5wZC1idG4ge1xuICAgbWFyZ2luLXRvcDogdmFyKC0tcGQtYWJzdGFuZCk7IH1cblxuLnBkLWthY2hlbCBwOmZpcnN0LW9mLXR5cGUge1xuICAgbWFyZ2luLXRvcDogdmFyKC0tcGQtYWJzdGFuZCk7IH1cblxuLnBkLWthY2hlbCBwOmxhc3Qtb2YtdHlwZSB7XG4gICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wZC1hYnN0YW5kKTsgfVxuXG4ucGQtbGlua19fZG93bixcbi5wZC1saW5rX19yaWdodCxcbi5wZC1saW5rX19sZWZ0IHtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgd2lkdGg6IDEwMCU7IH1cblxuLnBkLWxpbmtfX2Rvd246YWZ0ZXIsXG4ucGQtbGlua19fbGVmdDphZnRlcixcbi5wZC1saW5rX19yaWdodDphZnRlciB7XG4gICBmb250LWZhbWlseTogJ2Vhc3lTb2Z0LVB1Ymxpc2gnICFpbXBvcnRhbnQ7XG4gICBjb250ZW50OiBcIlxcNjNcIjtcbiAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgIGZvbnQtc2l6ZTogODAlO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYS5wZC1saW5rX19kb3duIHNwYW4sXG5hLnBkLWxpbmtfX2xlZnQgc3BhbixcbmEucGQtbGlua19fcmlnaHQgc3BhbiB7XG4gICBkaXNwbGF5OiBpbmxpbmU7XG4gICBjb2xvcjogaW5oZXJpdDtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLnBkLWxpbmtfX2Rvd24gc3Bhbjpob3ZlcixcbmEucGQtbGlua19fbGVmdCBzcGFuOmhvdmVyLFxuYS5wZC1saW5rX19yaWdodCBzcGFuOmhvdmVyIHtcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5wZC1saW5rX19kb3duOmFmdGVyIHtcbiAgIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5wZC1saW5rX19sZWZ0OmFmdGVyIHtcbiAgIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi8qIHBkLXRleHQgKi9cbi5wZC10ZXh0IHtcbiAgIHBhZGRpbmc6IHZhcigtLXBkLWFic3RhbmQpOyB9XG5cbi5wZC10ZXh0X19jZW50ZXIge1xuICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wZC10ZXh0X19yaWdodCB7XG4gICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucGQtdGV4dF9fanVzdGlmeSB7XG4gICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbi5wZC10ZXh0IGgxLCAucGQtdGV4dCBoMiwgLnBkLXRleHQgaDMsIC5wZC10ZXh0IGg0IHtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wZC1hYnN0YW5kKTsgfVxuXG4ucGQtdGV4dC5wZC1zdHJldGNoIHtcbiAgIGhlaWdodDogMTAwJTsgfVxuXG4ucGQtdGV4dC5wZC1zdHJldGNoLnBkLXRleHRrYWNoZWwge1xuICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAucGQtdGV4dC5wZC1zdHJldGNoLnBkLXRleHRrYWNoZWwge1xuICAgICAgcGFkZGluZzogY2FsYygyICogdmFyKC0tcGQtYWJzdGFuZCkpOyB9XG4gICAucGQtdGV4dC5wZC1zdHJldGNoLnBkLXRleHRrYWNoZWwgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4vKiBMaXN0ZW4gKi9cbi5wZC10ZXh0IHVsLCAucGQtdGV4dCBvbCB7XG4gICBsaW5lLWhlaWdodDogMjtcbiAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4vKiBvYnNvbGV0LCBhYmVyIG5ldHQgenVtIEF1ZmJld2FodGVuXHJcbi5wZC10ZXh0IHVsLnBkLWxpc3RfX2NoZXZyb25cclxue1xyXG5saXN0LXN0eWxlOiBub25lO1xyXG59XHJcbiovXG4ucGQtdGV4dCBvbCB7XG4gICBsaXN0LXN0eWxlOiBub25lO1xuICAgY291bnRlci1yZXNldDogb3JkZXJlZGxpc3Q7IH1cblxuLnBkLXRleHQgb2wgbGk6YmVmb3JlIHtcbiAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkbGlzdDtcbiAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZGxpc3QpIFwiLlwiO1xuICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIExpc3RlbnN0aWxlOiBHcm/Dn2UgWmFobGVuLCBLYXJvcywgS3JlaXNlIHVuZCBEcmVpZWNrZSAqL1xuLnBkLXRleHQgb2wucGQtbGlzdF9fZ3Jvc3NlbnVtbWVybiBsaTpiZWZvcmUge1xuICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWRsaXN0O1xuICAgY29udGVudDogY291bnRlcihvcmRlcmVkbGlzdCkgXCIuXCI7XG4gICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICBmb250LXNpemU6IDE1MCU7XG4gICBsaW5lLWhlaWdodDogMTBweDtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgY29sb3I6IHZhcigtLXBkLWZhcmJlMik7IH1cblxuLnBkLXRleHQgb2wucGQtbGlzdF9fa2Fyb3MgbGk6YmVmb3JlIHtcbiAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkbGlzdDtcbiAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZGxpc3QpO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgIHBhZGRpbmc6IDAgMTBweDtcbiAgIGhlaWdodDogMzBweDtcbiAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgLyogb2RlciAxNHB4IHBhZGRpbmcgdW5kIDQwcHggSMO2aGUgKi9cbiAgIGZvbnQtc2l6ZTogMjBweDtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgY29sb3I6IHdoaXRlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUyKTsgfVxuXG4ucGQtdGV4dCBvbC5wZC1saXN0X19rcmVpc2UgbGk6YmVmb3JlIHtcbiAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkbGlzdDtcbiAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZGxpc3QpO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgIHBhZGRpbmc6IDAgMTRweDtcbiAgIGhlaWdodDogNDBweDtcbiAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgZm9udC1zaXplOiAyMHB4O1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBjb2xvcjogd2hpdGU7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTIpOyB9XG5cbi8qIG9ic29sZXQsIGFiZXIgbmV0dCB6dW0gQXVmYmV3YWh0ZW5cclxuLnBkLXRleHQgdWwucGQtbGlzdF9fY2hldnJvbiBsaTpiZWZvcmVcclxue1xyXG4gIGZvbnQtZmFtaWx5OiBcImVhc3lTb2Z0LVB1Ymxpc2hcIjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY29udGVudDogXCJcXDYzIFwiO1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGNvbG9yOiB2YXIoLS1wZC1mYXJiZTIpO1xyXG59XHJcbiovXG4vKiAgcGQtaW1hZ2UgICovXG4ucGQtaW1hZ2Uge1xuICAgd2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nOiAwIHZhcigtLXBkLWFic3RhbmQpIHZhcigtLXBkLWFic3RhbmQpIHZhcigtLXBkLWFic3RhbmQpO1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ucGQtaW1hZ2UgaW1nIHtcbiAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqIHZhcigtLXBkLWFic3RhbmQpKSk7XG4gICBoZWlnaHQ6IGF1dG87IH1cblxuLyogQmlsZGVyIGltIEhpbnRlcmdydW5kIC0gd2lyZCBhbiByb3cgb2RlciBjb2wgdmVyZ2ViZW4gKi9cbi5wZC1pbWFnZV9fYmcge1xuICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLnBkLWltYWdlX19wYXJhbGxheCB7XG4gICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9XG5cbi5wZC1pbWFnZS5wZC1zdHJldGNoIHtcbiAgIGhlaWdodDogMTAwJTsgfVxuXG4vKiBwZC1rYWNoZWwgKi9cbi5wZC1rYWNoZWwge1xuICAgcGFkZGluZzogY2FsYygyICogdmFyKC0tcGQtYWJzdGFuZCkpO1xuICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGQtYWJzdGFuZCk7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgYm9yZGVyOiAxcHggc29saWQgI2RiZGJkYjtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLyogVmFyaWFudGU6IEthY2hlbG4gZsO8ciBQZXJzb25lbiBoYWJlbiBpbW1lciB6ZW50cmllcnRlIFRleHRlICovXG4ucGQta2FjaGVsX19ydW5kLFxuLnBkLWthY2hlbF9fa2xlaW4ge1xuICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wZC1rYWNoZWxfX2tsZWluIHtcbiAgIHBhZGRpbmc6IDAgMCBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSkgMDtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWhncmF1KTtcbiAgIGJvcmRlcjogbm9uZTsgfVxuXG4vKiDDnGJlcnNjaHJpZnRlbiAqL1xuLnBkLWthY2hlbCBoMywgLnBkLWthY2hlbCBoNCB7XG4gICB3aWR0aDogMTAwJTtcbiAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnBkLWthY2hlbF9fcnVuZCBoMyB7XG4gICBtYXJnaW4tdG9wOiB2YXIoLS1wZC1hYnN0YW5kKTsgfVxuXG4ucGQta2FjaGVsIGgzLCAucGQta2FjaGVsIGg0IHtcbiAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGQtYWJzdGFuZCkgLyAyKTsgfVxuXG4ucGQta2FjaGVsIGg0IHtcbiAgIG1hcmdpbjogMDtcbiAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBkLWFic3RhbmQpO1xuICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgIGNvbG9yOiAjNzc3OyB9XG5cbi5wZC1rYWNoZWwucGQta2FjaGVsX19rbGVpbiBoNCxcbi5wZC1rYWNoZWwucGQta2FjaGVsX19ydW5kIGg0IHtcbiAgIG1hcmdpbjogMDsgfVxuXG4ucGQgLnBkLWthY2hlbF9fa2xlaW4gaDMge1xuICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBkLWZvbnRzaXplKSAqIDEuMSk7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIHBhZGRpbmc6IGNhbGMoMSAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuXG4ucGQgLnBkLWthY2hlbF9fa2xlaW4gaDQge1xuICAgZm9udC1zaXplOiB2YXIoLS1wZC1mb250c2l6ZSk7XG4gICBwYWRkaW5nOiAwIHZhcigtLXBkLWFic3RhbmQpIHZhcigtLXBkLWFic3RhbmQpOyB9XG5cbi8qIEJpbGRlciBpbiBLYWNoZWxuICovXG4ucGQta2FjaGVsIGltZyB7XG4gICB3aWR0aDogMTAwJTsgfVxuXG4ucGQta2FjaGVsX19ydW5kIGltZyB7XG4gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICBtYXJnaW46IDAgYXV0bztcbiAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoNCAqIHZhcigtLXBkLWFic3RhbmQpKSk7XG4gICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogdmFyKC0tcGQtYWJzdGFuZCkpKTsgfVxuXG4ucGQta2FjaGVsX19ydW5kIGltZy5wZC1pbWdfX3Mge1xuICAgd2lkdGg6IGNhbGMoOCAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuXG4ucGQta2FjaGVsX19ydW5kIGltZy5wZC1pbWdfX20ge1xuICAgd2lkdGg6IGNhbGMoMTIgKiB2YXIoLS1wZC1hYnN0YW5kKSk7IH1cblxuLnBkLWthY2hlbF9fcnVuZCBpbWcucGQtaW1nX19sIHtcbiAgIHdpZHRoOiBjYWxjKDE2ICogdmFyKC0tcGQtYWJzdGFuZCkpOyB9XG5cbi5wZC1rYWNoZWxfX2tsZWluIGltZyB7XG4gICB3aWR0aDogMTAwJTsgfVxuXG4vKiBBbGxlIGdsZWljaGUgSMO2aGUgYnp3LiBtb2JpbGUgQXVzbmFobWVuICovXG4ucGQta2FjaGVsLnBkLXN0cmV0Y2gge1xuICAgaGVpZ2h0OiAxMDAlO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qIE1laHJ6ZWlsaWdlcyBMYXlvdXQgKi9cbi5yb3cucGQua2FjaGVsbiB7XG4gICByb3ctZ2FwOiBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSk7IH1cblxuLyogRmFyYnZhcmlhdGlvbmVuICovXG4ucGQta2FjaGVsLnBkLWthY2hlbF9fZmFyYmUxLFxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2ZhcmJlMixcbi5wZC1rYWNoZWwucGQta2FjaGVsX19ncmF1LFxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2hncmF1LFxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2RncmF1IHtcbiAgIGJvcmRlcjogbm9uZTsgfVxuXG4ucGQta2FjaGVsLnBkLWthY2hlbF9fZmFyYmUxIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMSk7IH1cblxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2ZhcmJlMiB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTIpOyB9XG5cbi5wZC1rYWNoZWwucGQta2FjaGVsX19kZ3JhdSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1kZ3JhdSk7IH1cblxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2hncmF1IHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWhncmF1KTsgfVxuXG4ucGQta2FjaGVsLnBkLWthY2hlbF9fZ3JhdSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1ncmF1KTsgfVxuXG4vKiBPdmVyd3JpdGVzICovXG4ucGQgLnBkLWthY2hlbCBwIHtcbiAgIG1hcmdpbi1yaWdodDogMDtcbiAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5wZC1rYWNoZWwucGQta2FjaGVsX19mYXJiZTIgYS5wZC1idG4ge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUxKTsgfVxuXG4ucGQta2FjaGVsLnBkLWthY2hlbF9fZmFyYmUyIGEucGQtYnRuOmZvY3VzIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMWhlbGwpOyB9XG5cbi5wZC1rYWNoZWwucGQta2FjaGVsX19mYXJiZTIgYS5wZC1idG46aG92ZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUxaGVsbCk7IH1cblxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2ZhcmJlMSBhLnBkLWJ0biB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTIpOyB9XG5cbi5wZC1rYWNoZWwucGQta2FjaGVsX19mYXJiZTEgYS5wZC1idG46Zm9jdXMge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUyaGVsbCk7IH1cblxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2ZhcmJlMSBhLnBkLWJ0bjpob3ZlciB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTJoZWxsKTsgfVxuXG4vKlxyXG4ucGQta2FjaGVsLnBkLWthY2hlbF9fZmFyYmUxIHAsXHJcbi5wZC1rYWNoZWwucGQta2FjaGVsX19mYXJiZTEgaDMsXHJcbi5wZC1rYWNoZWwucGQta2FjaGVsX19mYXJiZTEgaDQsXHJcbi5wZC1rYWNoZWwucGQta2FjaGVsX19mYXJiZTIgcCxcclxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2ZhcmJlMiBoMyxcclxuLnBkLWthY2hlbC5wZC1rYWNoZWxfX2ZhcmJlMiBoNFxyXG57XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbiovXG4vKiBwZC1hY2NvcmRlb24gKi9cbi5wZC1hY2NvcmRlb24ge1xuICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgIG1hcmdpbjogMCBhdXRvO1xuICAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyovXG4gICBwYWRkaW5nOiB2YXIoLS1wZC1hYnN0YW5kKTsgfVxuXG4ucGQtYWNjb3JkZW9uIGlucHV0IHtcbiAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBkLWFjY29yZGVvbiAucGQtZnJhZ2Uge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucGQtYWNjb3JkZW9uIGFydGljbGUgbGFiZWw6YmVmb3JlIHtcbiAgIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG4gICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICBmb250LXNpemU6IDE0cHg7XG4gICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICBmb250LXdlaWdodDogMjAwO1xuICAgd2lkdGg6IDUwcHg7XG4gICBtYXJnaW4tcmlnaHQ6IDA7XG4gICBoZWlnaHQ6IDQycHg7XG4gICBjb2xvcjogIzE0MTQxNDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGQtYWNjb3JkZW9uIGxhYmVsIGgzIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5wZC1hY2NvcmRlb24gbGFiZWwgaDMsIC5wZC1hY2NvcmRlb24gYXJ0aWNsZSBsYWJlbDpiZWZvcmUge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5wZC1hY2NvcmRlb24gbGFiZWwgZGl2IHtcbiAgIHBhZGRpbmc6IDAgMjVweDtcbiAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgZmxleDogMSAxIDEwMCU7IH1cblxuLnBkLWFjY29yZGVvbiBsYWJlbCBkaXYgaDMge1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXJnaW46IDA7XG4gICBwYWRkaW5nOiA3cHggMjVweDtcbiAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5wZC1hY2NvcmRlb24gYXJ0aWNsZSBsYWJlbCBkaXYgLnBkLWFudHdvcnQge1xuICAgcGFkZGluZzogbztcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWhncmF1KTtcbiAgIG1hcmdpbjogY2FsYyh2YXIoLS1wZC1hYnN0YW5kKSAvIDIpIDFweDtcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBsaW5lLWhlaWdodDogMS41O1xuICAgbWF4LWhlaWdodDogMDtcbiAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zczsgfVxuXG4ucGQtYWNjb3JkZW9uLnBkLWFjY29yZGVvbl9fd2hpdGUgYXJ0aWNsZSBsYWJlbCBkaXYgLnBkLWFudHdvcnQge1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ucGQtYWNjb3JkZW9uIGFydGljbGUgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIGRpdiAucGQtYW50d29ydCB7XG4gICBtYXgtaGVpZ2h0OiA4MDBweDsgfVxuXG4ucGQtYWNjb3JkZW9uIGFydGljbGUgbGFiZWwgZGl2IC5wZC1hbnR3b3J0IHAge1xuICAgcGFkZGluZzogdmFyKC0tcGQtYWJzdGFuZCk7IH1cblxuLnBkLWFjY29yZGVvbiBhcnRpY2xlIHtcbiAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuXG4ucGQtYWNjb3JkZW9uIGlucHV0ICsgKiArIC5wZC1hbnR3b3J0IHtcbiAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgIGhlaWdodDogYXV0bztcbiAgIG1heC1oZWlnaHQ6IDA7XG4gICBwYWRkaW5nOiAwIDEwcHg7XG4gICAvKmJvcmRlcjogMXB4IHNvbGlkIHdoaXRlOyovXG4gICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7IH1cblxuLnBkLWFjY29yZGVvbiBpbnB1dDpjaGVja2VkICsgKiArIC5wZC1hbnR3b3J0IHtcbiAgIG1heC1oZWlnaHQ6IDA7XG4gICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAvKmJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7Ki9cbiAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgIHRyYW5zaXRpb24tZHVyYXRpb246IDA7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbi5wZC1hY2NvcmRlb24gaW5wdXQ6Y2hlY2tlZCArIC5wZC1mcmFnZSB7XG4gICAvKmJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7Ki8gfVxuXG4ucGQtYWNjb3JkZW9uIGlucHV0OmNoZWNrZWQgKyAucGQtZnJhZ2U6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMik7XG4gICBjb2xvcjogd2hpdGU7XG4gICBjb250ZW50OiBcIlxcZjA2OFwiO1xuICAgcGFkZGluZy10b3A6IDExcHg7IH1cblxuLyogcGQtaGVybyAqL1xuLnBkLWhlcm8gLnBkLXRleHQgaDEge1xuICAgLypmb250LXNpemU6IDUycHg7XHJcbiAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7Ki8gfVxuXG4ucGQtaGVybyAucGQtdGV4dCBwIHtcbiAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ucGQtaGVybyB7XG4gICAvKm1pbi1oZWlnaHQ6IDcwdmg7Ki8gfVxuXG4ucGQtaGVybyAucGQtdGV4dCB7XG4gICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgIHBhZGRpbmc6IDMwcHggMzBweCA0NXB4OyB9XG5cbi5wZC1oZXJvX193aGl0ZSAucGQtdGV4dCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cblxuLnBkLWhlcm9fX2RhcmsgLnBkLXRleHQge1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5wZC1oZXJvX19kYXJrIC5wZC10ZXh0ICoge1xuICAgY29sb3I6ICNmZmY7IH1cblxuLnBkLWhlcm8gLnBkLXRleHQgaDEge1xuICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4vKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuWmVudHJpZXJ1bmcgKHMudS4pIHN0YXR0ZGVzc2VuIMO8YmVyIGVpbmUgcGQtaGVyby1sZWZ0L3JpZ2h0L2NlbnRlciBLbGFzc2UhIVxyXG5cclxuKi9cbi5wZC1oZXJvIC5wZC1idG4td3JhcHBlciB7XG4gICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wZC1oZXJvIC5wZC1idG4td3JhcHBlcl9fcmlnaHQge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLnBkLWhlcm8gLnBkLWJ0bi13cmFwcGVyX19yaWdodCAucGQtYnRuIHtcbiAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi8qIHBkLXRyZW5uZXIgKi9cbi8qIGRyZWkgVHlwZW46XHJcbkFic3TDpG5kZSBiencuIFRyZW5ubGluaWVuIHZvbGxlIEJyZWl0ZSAodHJlbm5lci0wIGJpcyAzKSxcclxuVHJlbm5saW5pZW4gaGFsYmUgQnJlaXRlIChwZC10cmVubmVyKSxcclxuc2VpdGxpY2hlIFRyZW5ubGluaWVuICovXG4ucGQtdHJlbm5lci0wLFxuLnBkLXRyZW5uZXItMSxcbi5wZC10cmVubmVyLTIsXG4ucGQtdHJlbm5lci0zIHtcbiAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICB3aWR0aDogMTAwJTtcbiAgIG1hcmdpbjogMDtcbiAgIHBhZGRpbmc6IDA7XG4gICBoZWlnaHQ6IHZhcigtLXBkLWFic3RhbmQpO1xuICAgbWluLWhlaWdodDogdmFyKC0tcGQtYWJzdGFuZCk7IH1cblxuLnBkLXRyZW5uZXItaGFsYiB7XG4gICBtYXJnaW46IHZhcigtLXBkLWFic3RhbmQpIGF1dG87XG4gICB3aWR0aDogNTAlO1xuICAgaGVpZ2h0OiAzcHg7XG4gICBtaW4taGVpZ2h0OiAzcHg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTEpOyB9XG5cbi5wZC10cmVubmVyLTAge1xuICAgaGVpZ2h0OiAzcHg7XG4gICBtaW4taGVpZ2h0OiAzcHg7IH1cblxuLnBkLXRyZW5uZXItMiB7XG4gICBoZWlnaHQ6IGNhbGMoMiAqIHZhcigtLXBkLWFic3RhbmQpKTtcbiAgIG1pbi1oZWlnaHQ6IGNhbGMoMiAqIHZhcigtLXBkLWFic3RhbmQpKTsgfVxuXG4ucGQtdHJlbm5lci0zIHtcbiAgIGhlaWdodDogY2FsYygzICogdmFyKC0tcGQtYWJzdGFuZCkpO1xuICAgbWluLWhlaWdodDogY2FsYygzICogdmFyKC0tcGQtYWJzdGFuZCkpOyB9XG5cbi5wZC10cmVubmVyX19mYXJiZTEge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZmFyYmUxKTsgfVxuXG4ucGQtdHJlbm5lcl9fZmFyYmUyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMik7IH1cblxuLnBkLXRyZW5uZXJfX2xpbmtzIHtcbiAgIHdpZHRoOiAzMCU7XG4gICBtYXJnaW4tbGVmdDogMDtcbiAgIGhlaWdodDogY2FsYyh2YXIoLS1wZC1hYnN0YW5kKSAqIC41KTtcbiAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tcGQtYWJzdGFuZCkgKiAuNSk7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTEpO1xuICAgbWFyZ2luLXRvcDogNDVweDtcbiAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cblxuLnBkLXRyZW5uZXJfX2xpbmtzOmFmdGVyIHtcbiAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgaGVpZ2h0OiBjYWxjKHZhcigtLXBkLWFic3RhbmQpICogLjUpO1xuICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1wZC1hYnN0YW5kKSAqIC41KTtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMik7XG4gICB3aWR0aDogNjAlO1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB0b3A6IGNhbGModmFyKC0tcGQtYWJzdGFuZCkgKiAxLjUpOyB9XG5cbi5wZC10cmVubmVyX19yZWNodHMge1xuICAgd2lkdGg6IDMwJTtcbiAgIG1hcmdpbi1yaWdodDogMDtcbiAgIGhlaWdodDogY2FsYyh2YXIoLS1wZC1hYnN0YW5kKSAqIC41KTtcbiAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tcGQtYWJzdGFuZCkgKiAuNSk7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTIpO1xuICAgbWFyZ2luLXRvcDogNDVweDtcbiAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICByaWdodDogLTcwJTsgfVxuXG4ucGQtdHJlbm5lcl9fcmVjaHRzOmJlZm9yZSB7XG4gICBjb250ZW50OiBcIiBcIjtcbiAgIGhlaWdodDogY2FsYyh2YXIoLS1wZC1hYnN0YW5kKSAqIC41KTtcbiAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tcGQtYWJzdGFuZCkgKiAuNSk7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTEpO1xuICAgd2lkdGg6IDYwJTtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgdG9wOiBjYWxjKHZhcigtLXBkLWFic3RhbmQpICogLTEuNSk7XG4gICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4ucGQta2FydGUge1xuICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgIHBhZGRpbmc6IDMwcHg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5wZC1rYXJ0ZXdyYXBwZXIge1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAucGQta2FydGV3cmFwcGVyIC5wZC1tYXAtYmxvY2tlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnBkLWthcnRld3JhcHBlciBpZnJhbWUge1xuICAgbWluLWhlaWdodDogMzAwcHg7IH1cblxuLnBkLWtvbnRha3Qgc3Bhbixcbi5wZC1rb250YWt0IGEsXG4ucGQta29udGFrdCAucGQtbGluay1yaWdodCB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnBkLWtvbnRha3Qgc3Bhbi5wZC1rb250YWt0X19sYWJlbCB7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZm9udC1zaXplOiA3MCU7IH1cblxuLnBkLWtvbnRha3Qge1xuICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1wZC1hYnN0YW5kKSk7IH1cblxuLyogTXVzcyBpbW1lciB6dWxldHp0IGtvbW1lbiwgZGEgb3ZlcndyaXRlOiAqL1xuLyogUmVzcG9uc2l2aXTDpHQgZsO8ciBrbGVpbmUgQmlsZHNjaGlybWUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAucm93LnBkLmRvcHBlbCAuY29sLXhzLTEyOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5yb3cucGQuZG9wcGVsIC5jb2wteHMtMTI6bnRoLW9mLXR5cGUoMm4pIC5wZC10ZXh0IHtcbiAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygyICogdmFyKC0tcGQtYWJzdGFuZCkpOyB9XG4gICAucGQtYWNjb3JkZW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5wZC1hY2NvcmRlb24gYXJ0aWNsZSBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wZC1hYnN0YW5kKTsgfVxuICAgICAgLnBkLWFjY29yZGVvbiBsYWJlbCBkaXYge1xuICAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi8qIFJlc3BvbnNpdml0w6R0IGbDvHIgc2VociBrbGVpbmUgQmlsZHNjaGlybWUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAucGQgaDEge1xuICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBkLWZvbnRzaXplKSAqIDMpOyB9XG4gICAucGQgaDIge1xuICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBkLWZvbnRzaXplKSAqIDEuOCk7IH1cbiAgIC5wZCBoMyB7XG4gICAgICBmb250LXNpemU6IGNhbGModmFyKC0tcGQtZm9udHNpemUpICogMS4zKTsgfVxuICAgLnBkIC5wZC1hY2NvcmRlb24gYXJ0aWNsZSBsYWJlbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAucGQgLnBkLWFjY29yZGVvbiBhcnRpY2xlIGlucHV0OmNoZWNrZWQgKyBsYWJlbCBoMyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTIpO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAucm93LnBkLnBkLWhlcm8ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICBzZWN0aW9uLnJvdy5wZCB7XG4gICAgICBwYWRkaW5nOiBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSkgMCBjYWxjKDIgKiB2YXIoLS1wZC1hYnN0YW5kKSkgMDsgfSB9XG5cbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgICAgICAgICAgICAgT3ZlcndyaXRlczogRmFyYmVuLCBldGMuXHJcblxyXG4qL1xuLnBkLWZhcmJlMSB7XG4gICBjb2xvcjogdmFyKC0tcGQtZmFyYmUxKSAhaW1wb3J0YW50OyB9XG5cbi5wZC1mYXJiZTIge1xuICAgY29sb3I6IHZhcigtLXBkLWZhcmJlMikgIWltcG9ydGFudDsgfVxuXG4ucGQtZGdyYXUge1xuICAgY29sb3I6IHZhcigtLXBkLWRncmF1KSAhaW1wb3J0YW50OyB9XG5cbi5wZC13ZWlzcyB7XG4gICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuXG4ucGQtc2Nod2FyeiB7XG4gICBjb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9XG5cbi5wZC1iZ2ZhcmJlMSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wZC1mYXJiZTEpICFpbXBvcnRhbnQ7IH1cblxuLnBkLWJnZmFyYmUyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWZhcmJlMikgIWltcG9ydGFudDsgfVxuXG4ucGQtYmdncmF1IHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBkLWdyYXUpICFpbXBvcnRhbnQ7IH1cblxuLnBkLWJnaGdyYXUge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtaGdyYXUpICFpbXBvcnRhbnQ7IH1cblxuLnBkLWJnZGdyYXUge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGQtZGdyYXUpICFpbXBvcnRhbnQ7IH1cblxuLyogQWJzdMOkbmRlLCBHcsO2w59lbiwgZXRjLiAqL1xuLnBkLXB0LTAge1xuICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ucGQtcGItMCB7XG4gICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5wZC1wbC0wIHtcbiAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5wZC1wci0wIHtcbiAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuIixudWxsXX0= */
