/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./assets/scss/main_edit.css ***!
  \******************************************************************************************************************/
.button4,.button5  {
    position: relative;
    display: inline-block;
    font-family: Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L",sans-serif;
    font-size: 1.5em;
    font-weight: 700;
    color: rgb(245,245,245);
    text-shadow: 0 -1px rgba(0,0,0,.1);
    text-decoration: none;
    user-select: none;
    padding: .3em 1em;
    outline: none;
    border: none;
    border-radius: 3px;
    background: #0c9c0d linear-gradient(#82d18d, #0c9c0d);
    box-shadow: inset #72de26 0 -1px 1px, inset 0 1px 1px #98ff98, #3caa3c 0 0 0 1px, rgba(0,0,0,.3) 0 2px 5px;
    -webkit-animation: pulsate 1.2s linear infinite;
    animation: pulsate 1.2s linear infinite;
}
.button4:hover, .button5:hover {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    cursor: pointer;
}
.button4:active, .button5:active {
    top: 1px;
    color: #fff;
    text-shadow: 0 -1px rgba(0,0,0,.3), 0 0 5px #ffd, 0 0 8px #fff;
    box-shadow: 0 -1px 3px rgba(0,0,0,.3), 0 1px 1px #fff, inset 0 1px 2px rgba(0,0,0,.8), inset 0 -1px 0 rgba(0,0,0,.05);
}
@-webkit-keyframes pulsate {
    50% {color: #fff; text-shadow: 0 -1px rgba(0,0,0,.3), 0 0 5px #ffd, 0 0 8px #fff;}
}
@keyframes pulsate {
    50% {color: #fff; text-shadow: 0 -1px rgba(0,0,0,.3), 0 0 5px #ffd, 0 0 8px #fff;}
}
.button5, .button5:hover {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    opacity: 1;
}
.button5:hover {
    opacity: 0.85;
}


.vip-pricing-table .pricing-table {
    margin: 10px 20px 0px 20px;
    cursor: pointer;
}


.vip-pricing-table .pricing-table .title {
    background-color: #C6C6c6;
    color: #000;
    font-size: 14pt;
    text-shadow: 0 1px 0 white;
}

.vip-pricing-table .pricing-table .price {
    padding-bottom: 5px;
}

.vip-pricing-table .pricing-table .price .text-small {
    font-size: 9pt;
    display: block;
    color: #666;
    padding-top:10px;
}

.vip-pricing-table .highlight .pricing-table {
    margin: 0;
    border: 2px solid #82d18d;
    border-radius: 5px;
}

.vip-pricing-table .highlight .pricing-table .title {
    background-color: #82d18d;
    color: #000;
    padding: 1.1rem 1.25rem;
}

.vip-pricing-table .highlight .pricing-table .price {
    background-color: #98ff98;
    padding-top: 1.2rem;
}

.text-gray {
    color: #666;
}

.vip-page .s3d, .addmoney-page .s3d {
    font-weight: 200;
    font-size: 1em;
}

.addmoney-pricing-table li.cta-button small.hint {
    line-height: 25px;
}

.user-vip li.cta-button small.hint {
    visibility: hidden;
}

.addmoney-pricing-table .pricing-table .price.danger {
    background-color: #ff9d04;
}

.addmoney-pricing-table .pricing-table .price.success {
    background-color: #51dd03;
}

.addmoney-pricing-table .pricing-table .title {
    color: #000;
    border-top: 1px dotted #dddddd;
    border-bottom: 1px dotted #dddddd;
    background: #f7ffde;
}
.addmoney-pricing-table .pricing-table .gift1 {
    color: #000;
    font-size: 14pt;
    line-height: 63px;
    border-top: 1px dotted #dddddd;
    border-bottom: 1px dotted #dddddd;
    background: #fff;
}
.addmoney-pricing-table .pricing-table .gift2 {
    color: #000;
    font-size: 14pt;
    line-height: 50px;
    border-top: 1px dotted #dddddd;
    border-bottom: 1px dotted #dddddd;
    background: #f7ffde;
}

.addmoney-pricing-table .title.success {
    background: #d3ff93;
}

.vip-page .icon-credit {
    font-size: 1.3em;
}

.vip-page .best-tarif {
    position: absolute;
    margin-top: -47px;
    margin-left: -106px;
    width: 150px;
}
.addmoney-pricing-table .gold {
    position: absolute;
    max-height: 100px;
    margin-top: -85px;
    margin-left: -58px;
}

.vip-page .panel-vip-button {
    padding: 1.25rem;
}

.margin-top-20 {
    margin-top: 20px !important;
}

.margin-bottom-20 {
    bottom: 20px !important;
}

/**
    Payment page
**/
.payment_page .panel {
    cursor: pointer;
    border: 0;
}

.payment_page .text-pay-option {
    color: #666;
    font-size: 0.7em;
}
.payment_page .arrow-pay {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 0 32px 54px;
    border-color: transparent transparent transparent #f2f2f2;
}

.team {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    vertical-align: middle;
}

.team.medium {
    width: 45px;
    height: 45px;
}
.team.small {
    width: 30px;
    height: 30px;
}
.team.tiny {
    width: 15px;
    height: 15px;
}

.team-winner {
    background: url(/build/images/winner.91f7effc.png) center center no-repeat;
    background-size: cover;
    width: 90px;
    height: 90px;
    display: inline-block;
}
.team-winner .team {
    margin-top: 11px;
}




#comments-row2 {display: none;}

.people {
    width: 70px;
    height: 70px;
    background-image: url(/build/images/sprite.2ba4f9df.jpg);
}
.people.man1 {background-position: 0 0;}
.people.man2 {background-position: -70px 0;}
.people.man3 {background-position: -140px 0;}
.people.man4 {background-position: 0 -70px;}
.people.man5 {background-position: -70px -70px;}
.people.man6 {background-position: -140px -70px;}
.people.man7 {background-position: 70px 0;}

.send-email .s.s-message {vertical-align: middle;background-position: -70px -117px;}

.logo {
    display: inline-block;
    width: 200px;
    height: 50px;
    vertical-align: middle;
}

html.svg .logo {
    background-image: url(/build/images/sprite.de4610d0.svg);
}
html.no-svg .logo {
     background-image: url(/build/images/logo.c6d49b7d.png);
}
.copied {
    animation: spin 500ms  ease;
}

.no-margin {
    margin: 0;
}

dfn {
    font-weight: bold;
}


dl.table {
    border: 1px solid #ccc;
    padding: 0.5em;
}
dl.table dt {
    float: left;
    clear: left;
    min-width: 250px;
    text-align: right;
    font-weight: bold;
}
dl.table dt::after {
    content: ":";
}
dl.table dd {
    margin: 0 0 0 254px;
    padding: 0 0 0.5em 0;
}

.flags {
    margin-top: -30px;
    width: 150px;
}
.flags a {
    position: relative;
}
.flags a:hover {
    opacity: 0.8;
}
.flags img {
    max-width: 26px;
    margin: 3px 8px;
    margin-bottom: 7px;
}
.flags a.current:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 14px 0 14px;
    border-color: coral transparent transparent transparent;
    position: absolute;
    top: 24px;
    left: 7px;
}

/* [LIGHTBOX] */
img.zoom {
    border-radius: 3px;
}
img.zoom:hover {
    box-shadow: 0 0 6px 1px rgba(255,224,4,0.5);
    cursor: zoom-in;
}
#lightbox-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(10,58,42, 0.97);
    z-index: 999;
    visibility: hidden;
    opacity: 0;
    transition: all 0.4s;
    overflow: hidden;
}
#lightbox-background.show {
    visibility: visible;
    opacity: 1;
    cursor: zoom-out;
}
#lightbox-img {
    padding: 3px;
    width: 100%;
    height: 100vh;
    position: relative;

}
#lightbox-img img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100% !important;
    max-height: 100vh !important;
}

#body.ready header.header {
    overflow: visible !important;
    visibility: visible !important;
}

#body.ready .breadcrumbs {
    visibility: visible !important;
}

#body.ready .block-slider div {
    visibility: visible !important;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/scss/main.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
meta.foundation-version {
  font-family: "/5.5.3/";
}

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0;
}

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0;
}

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em;
}

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
  width: 40.0625em;
}

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.0625em)/";
  width: 64.0625em;
}

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
  width: 64.0625em;
}

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em;
}

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em;
}

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em;
}

meta.foundation-data-attribute-namespace {
  font-family: verdana;
}

html, body {
  height: 100%;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  font-size: 100%;
}

body {
  background: #fff;
  color: #000;
  cursor: auto;
  font-family: Verdana, Geneva, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative;
}

a:hover {
  cursor: pointer;
}

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

img {
  -ms-interpolation-mode: bicubic;
}

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

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

.hide {
  display: none;
}

.invisible {
  visibility: hidden;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
}

textarea {
  height: auto;
  min-height: 50px;
}

select {
  width: 100%;
}

.row {
  margin: 0 auto;
  max-width: 62.5rem;
  width: 100%;
}
.row:before, .row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row.collapse > .column,
.row.collapse > .columns {
  padding-left: 0;
  padding-right: 0;
}
.row.collapse .row {
  margin-left: 0;
  margin-right: 0;
}
.row .row {
  margin: 0 -0.9375rem;
  max-width: none;
  width: auto;
}
.row .row:before, .row .row:after {
  content: " ";
  display: table;
}
.row .row:after {
  clear: both;
}
.row .row.collapse {
  margin: 0;
  max-width: none;
  width: auto;
}
.row .row.collapse:before, .row .row.collapse:after {
  content: " ";
  display: table;
}
.row .row.collapse:after {
  clear: both;
}

.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left;
}

.column + .column:last-child,
.column + .columns:last-child,
.columns + .column:last-child,
.columns + .columns:last-child {
  float: right;
}
.column + .column.end,
.column + .columns.end,
.columns + .column.end,
.columns + .columns.end {
  float: left;
}

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .small-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .small-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .small-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .small-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .small-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .small-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .small-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .small-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .small-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .small-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .small-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .small-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .small-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .small-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .small-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .small-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .small-1 {
    width: 8.3333333333%;
  }
  .small-2 {
    width: 16.6666666667%;
  }
  .small-3 {
    width: 25%;
  }
  .small-4 {
    width: 33.3333333333%;
  }
  .small-5 {
    width: 41.6666666667%;
  }
  .small-6 {
    width: 50%;
  }
  .small-7 {
    width: 58.3333333333%;
  }
  .small-8 {
    width: 66.6666666667%;
  }
  .small-9 {
    width: 75%;
  }
  .small-10 {
    width: 83.3333333333%;
  }
  .small-11 {
    width: 91.6666666667%;
  }
  .small-12 {
    width: 100%;
  }
  .small-offset-0 {
    margin-left: 0 !important;
  }
  .small-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .small-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .small-offset-3 {
    margin-left: 25% !important;
  }
  .small-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .small-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .small-offset-6 {
    margin-left: 50% !important;
  }
  .small-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .small-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .small-offset-9 {
    margin-left: 75% !important;
  }
  .small-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .small-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
  }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none;
  }
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left;
  }
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right;
  }
  .row.small-collapse > .column,
  .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.small-uncollapse > .column,
  .row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
}
@media only screen and (min-width:40.0625em) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .medium-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .medium-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .medium-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .medium-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .medium-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .medium-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .medium-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .medium-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .medium-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .medium-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .medium-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .medium-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .medium-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .medium-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .medium-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .medium-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .medium-1 {
    width: 8.3333333333%;
  }
  .medium-2 {
    width: 16.6666666667%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-4 {
    width: 33.3333333333%;
  }
  .medium-5 {
    width: 41.6666666667%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-7 {
    width: 58.3333333333%;
  }
  .medium-8 {
    width: 66.6666666667%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-10 {
    width: 83.3333333333%;
  }
  .medium-11 {
    width: 91.6666666667%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-0 {
    margin-left: 0 !important;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .medium-offset-3 {
    margin-left: 25% !important;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .medium-offset-6 {
    margin-left: 50% !important;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .medium-offset-9 {
    margin-left: 75% !important;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
  }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none;
  }
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left;
  }
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right;
  }
  .row.medium-collapse > .column,
  .row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.medium-uncollapse > .column,
  .row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .large-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .large-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .large-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .large-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .large-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .large-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .large-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .large-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .large-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .large-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .large-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .large-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .large-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .large-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .large-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .large-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .large-1 {
    width: 8.3333333333%;
  }
  .large-2 {
    width: 16.6666666667%;
  }
  .large-3 {
    width: 25%;
  }
  .large-4 {
    width: 33.3333333333%;
  }
  .large-5 {
    width: 41.6666666667%;
  }
  .large-6 {
    width: 50%;
  }
  .large-7 {
    width: 58.3333333333%;
  }
  .large-8 {
    width: 66.6666666667%;
  }
  .large-9 {
    width: 75%;
  }
  .large-10 {
    width: 83.3333333333%;
  }
  .large-11 {
    width: 91.6666666667%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-0 {
    margin-left: 0 !important;
  }
  .large-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .large-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .large-offset-3 {
    margin-left: 25% !important;
  }
  .large-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .large-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .large-offset-6 {
    margin-left: 50% !important;
  }
  .large-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .large-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .large-offset-9 {
    margin-left: 75% !important;
  }
  .large-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .large-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
  }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none;
  }
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left;
  }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right;
  }
  .row.large-collapse > .column,
  .row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.large-uncollapse > .column,
  .row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}
.accordion:before, .accordion:after {
  content: " ";
  display: table;
}
.accordion:after {
  clear: both;
}
.accordion {
  margin-bottom: 0;
  margin-left: 0;
}
.accordion .accordion-navigation, .accordion dd {
  display: block;
  margin-bottom: 0 !important;
}
.accordion .accordion-navigation.active > a, .accordion dd.active > a {
  background: rgb(231.83, 231.83, 231.83);
  color: #222222;
}
.accordion .accordion-navigation > a, .accordion dd > a {
  background: #EFEFEF;
  color: #222222;
  display: block;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 1rem;
  padding: 1rem;
}
.accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
  background: rgb(227.05, 227.05, 227.05);
}
.accordion .accordion-navigation > .content, .accordion dd > .content {
  display: none;
  padding: 0.9375rem;
}
.accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
  background: #FFFFFF;
  display: block;
}

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  transition: opacity 300ms ease-out;
  background-color: #ffe004;
  border-color: rgb(222.74, 195.2302788845, 0);
  color: #FFFFFF;
}
.alert-box .close {
  right: 0.25rem;
  background: inherit;
  color: #333333;
  font-size: 1.375rem;
  line-height: 0.9;
  margin-top: -0.6875rem;
  opacity: 0.3;
  padding: 0 6px 4px;
  position: absolute;
  top: 50%;
}
.alert-box .close:hover, .alert-box .close:focus {
  opacity: 0.5;
}
.alert-box.radius {
  border-radius: 3px;
}
.alert-box.round {
  border-radius: 1000px;
}
.alert-box.success {
  background-color: #43ac6a;
  border-color: rgb(57.62, 147.92, 91.16);
  color: #FFFFFF;
}
.alert-box.alert {
  background-color: #f04124;
  border-color: rgb(222.1446153846, 44.6317948718, 15.2153846154);
  color: #FFFFFF;
}
.alert-box.secondary {
  background-color: #a1d3ff;
  border-color: rgb(102.76, 183.7387234043, 255);
  color: rgb(0, 75.2340425532, 141.44);
}
.alert-box.warning {
  background-color: #f08a24;
  border-color: rgb(222.1446153846, 118.68, 15.2153846154);
  color: #FFFFFF;
}
.alert-box.info {
  background-color: #e7e7e7;
  border-color: rgb(198.66, 198.66, 198.66);
  color: rgb(0, 75.2340425532, 141.44);
}
.alert-box.alert-close {
  opacity: 0;
}

[class*=block-grid-] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem;
}
[class*=block-grid-]:before, [class*=block-grid-]:after {
  content: " ";
  display: table;
}
[class*=block-grid-]:after {
  clear: both;
}
[class*=block-grid-] > li {
  display: block;
  float: left;
  height: auto;
  padding: 0 0.625rem 1.25rem;
}

@media only screen {
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%;
  }
  .small-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%;
  }
  .small-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.3333333333%;
  }
  .small-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%;
  }
  .small-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%;
  }
  .small-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.6666666667%;
  }
  .small-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.2857142857%;
  }
  .small-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%;
  }
  .small-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.1111111111%;
  }
  .small-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%;
  }
  .small-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.0909090909%;
  }
  .small-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.3333333333%;
  }
  .small-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}
@media only screen and (min-width:40.0625em) {
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%;
  }
  .medium-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%;
  }
  .medium-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.3333333333%;
  }
  .medium-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%;
  }
  .medium-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%;
  }
  .medium-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.6666666667%;
  }
  .medium-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.2857142857%;
  }
  .medium-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%;
  }
  .medium-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.1111111111%;
  }
  .medium-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%;
  }
  .medium-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.0909090909%;
  }
  .medium-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.3333333333%;
  }
  .medium-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}
@media only screen and (min-width:64.0625em) {
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%;
  }
  .large-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%;
  }
  .large-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.3333333333%;
  }
  .large-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%;
  }
  .large-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%;
  }
  .large-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.6666666667%;
  }
  .large-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.2857142857%;
  }
  .large-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%;
  }
  .large-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.1111111111%;
  }
  .large-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%;
  }
  .large-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.0909090909%;
  }
  .large-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.3333333333%;
  }
  .large-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}
.breadcrumbs {
  border-style: solid;
  border-width: 1px;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: rgb(212.7, 235.2, 255);
  border-color: rgb(165.93, 213.3076595745, 255);
  border-radius: 3px;
}
.breadcrumbs > * {
  color: #008cba;
  float: left;
  font-size: 0.6875rem;
  line-height: 0.6875rem;
  margin: 0;
  text-transform: uppercase;
}
.breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
  text-decoration: underline;
}
.breadcrumbs > * a {
  color: #008cba;
}
.breadcrumbs > *.current {
  color: #333333;
  cursor: default;
}
.breadcrumbs > *.current a {
  color: #333333;
  cursor: default;
}
.breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
  text-decoration: none;
}
.breadcrumbs > *.unavailable {
  color: #999999;
}
.breadcrumbs > *.unavailable a {
  color: #999999;
}
.breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
.breadcrumbs > *.unavailable a:focus {
  color: #999999;
  cursor: not-allowed;
  text-decoration: none;
}
.breadcrumbs > *:after {
  color: #AAAAAA;
  content: "/";
  margin: 0 0.75rem;
  position: relative;
  top: 1px;
}
.breadcrumbs > *:last-child:after {
  content: " ";
  margin: 0;
}

/* Accessibility - hides the backward slash */
[aria-label=breadcrumbs] [aria-hidden=true]:before {
  content: "/";
}

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: Verdana, Geneva, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #ffe004;
  border-color: rgb(207.2, 181.609561753, 0);
}
button:hover, button:focus, .button:hover, .button:focus {
  background-color: rgb(207.2, 181.609561753, 0);
}
button, .button {
  color: #FFFFFF;
}
button:hover, button:focus, .button:hover, .button:focus {
  color: #FFFFFF;
}
button, .button {
  transition: background-color 300ms ease-out;
}
button.secondary, .button.secondary {
  background-color: #a1d3ff;
  border-color: rgb(77.8, 172.0553191489, 255);
}
button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
  background-color: rgb(77.8, 172.0553191489, 255);
}
button.secondary, .button.secondary {
  color: #333333;
}
button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
  color: #FFFFFF;
}
button.success, .button.success {
  background-color: #43ac6a;
  border-color: rgb(53.6, 137.6, 84.8);
}
button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
  background-color: rgb(53.6, 137.6, 84.8);
}
button.success, .button.success {
  color: #FFFFFF;
}
button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
  color: #FFFFFF;
}
button.alert, .button.alert {
  background-color: #f04124;
  border-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
  background-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
button.alert, .button.alert {
  color: #FFFFFF;
}
button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
  color: #FFFFFF;
}
button.warning, .button.warning {
  background-color: #f08a24;
  border-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
  background-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
button.warning, .button.warning {
  color: #FFFFFF;
}
button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
  color: #FFFFFF;
}
button.info, .button.info {
  background-color: #e7e7e7;
  border-color: rgb(184.8, 184.8, 184.8);
}
button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
  background-color: rgb(184.8, 184.8, 184.8);
}
button.info, .button.info {
  color: #333333;
}
button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
  color: #333333;
}
button.large, .button.large {
  padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
  font-size: 1.25rem;
}
button.small, .button.small {
  padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
  font-size: 0.8125rem;
}
button.tiny, .button.tiny {
  padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
  font-size: 0.6875rem;
}
button.expand, .button.expand {
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
}
button.left-align, .button.left-align {
  text-align: left;
  text-indent: 0.75rem;
}
button.right-align, .button.right-align {
  text-align: right;
  padding-right: 0.75rem;
}
button.radius, .button.radius {
  border-radius: 3px;
}
button.round, .button.round {
  border-radius: 1000px;
}
button.disabled, button[disabled], .button.disabled, .button[disabled] {
  background-color: #ffe004;
  border-color: rgb(207.2, 181.609561753, 0);
}
button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: rgb(207.2, 181.609561753, 0);
}
button.disabled, button[disabled], .button.disabled, .button[disabled] {
  color: #FFFFFF;
}
button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  color: #FFFFFF;
}
button.disabled, button[disabled], .button.disabled, .button[disabled] {
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}
button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #ffe004;
}
button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
  background-color: #a1d3ff;
  border-color: rgb(77.8, 172.0553191489, 255);
}
button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: rgb(77.8, 172.0553191489, 255);
}
button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
  color: #333333;
}
button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  color: #FFFFFF;
}
button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}
button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #a1d3ff;
}
button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
  background-color: #43ac6a;
  border-color: rgb(53.6, 137.6, 84.8);
}
button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: rgb(53.6, 137.6, 84.8);
}
button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
  color: #FFFFFF;
}
button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  color: #FFFFFF;
}
button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}
button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #43ac6a;
}
button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
  background-color: #f04124;
  border-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
  color: #FFFFFF;
}
button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  color: #FFFFFF;
}
button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}
button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #f04124;
}
button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
  background-color: #f08a24;
  border-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
  color: #FFFFFF;
}
button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  color: #FFFFFF;
}
button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}
button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #f08a24;
}
button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
  background-color: #e7e7e7;
  border-color: rgb(184.8, 184.8, 184.8);
}
button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  background-color: rgb(184.8, 184.8, 184.8);
}
button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
  color: #333333;
}
button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  color: #333333;
}
button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}
button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  background-color: #e7e7e7;
}

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

@media only screen and (min-width:40.0625em) {
  button, .button {
    display: inline-block;
  }
}
.button-group {
  list-style: none;
  margin: 0;
  left: 0;
}
.button-group:before, .button-group:after {
  content: " ";
  display: table;
}
.button-group:after {
  clear: both;
}
.button-group.even-2 li > button, .button-group.even-2 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
  border-left: 0;
}
.button-group.even-2 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 50%;
}
.button-group.even-2 li button, .button-group.even-2 li .button {
  width: 100%;
}
.button-group.even-3 li > button, .button-group.even-3 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
  border-left: 0;
}
.button-group.even-3 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 33.3333333333%;
}
.button-group.even-3 li button, .button-group.even-3 li .button {
  width: 100%;
}
.button-group.even-4 li > button, .button-group.even-4 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
  border-left: 0;
}
.button-group.even-4 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 25%;
}
.button-group.even-4 li button, .button-group.even-4 li .button {
  width: 100%;
}
.button-group.even-5 li > button, .button-group.even-5 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
  border-left: 0;
}
.button-group.even-5 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 20%;
}
.button-group.even-5 li button, .button-group.even-5 li .button {
  width: 100%;
}
.button-group.even-6 li > button, .button-group.even-6 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
  border-left: 0;
}
.button-group.even-6 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 16.6666666667%;
}
.button-group.even-6 li button, .button-group.even-6 li .button {
  width: 100%;
}
.button-group.even-7 li > button, .button-group.even-7 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
  border-left: 0;
}
.button-group.even-7 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 14.2857142857%;
}
.button-group.even-7 li button, .button-group.even-7 li .button {
  width: 100%;
}
.button-group.even-8 li > button, .button-group.even-8 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
  border-left: 0;
}
.button-group.even-8 li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
  width: 12.5%;
}
.button-group.even-8 li button, .button-group.even-8 li .button {
  width: 100%;
}
.button-group > li > button, .button-group > li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group > li:first-child button, .button-group > li:first-child .button {
  border-left: 0;
}
.button-group > li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
}
.button-group.stack > li > button, .button-group.stack > li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
  border-left: 0;
}
.button-group.stack > li {
  float: left;
}
.button-group.stack > li > button, .button-group.stack > li .button {
  border-color: rgba(255, 255, 255, 0.5);
  border-left-width: 0;
  border-top: 1px solid;
  display: block;
  margin: 0;
}
.button-group.stack > li > button {
  width: 100%;
}
.button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
  border-top: 0;
}
.button-group.stack > li {
  display: block;
  margin: 0;
  float: none;
}
.button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
  border-left: 0;
}
.button-group.stack-for-small > li {
  float: left;
  display: inline-block;
  margin: 0 -2px;
}
@media only screen and (max-width: 40em) {
  .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
    border-left: 0;
  }
  .button-group.stack-for-small > li {
    float: left;
  }
  .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
    border-color: rgba(255, 255, 255, 0.5);
    border-left-width: 0;
    border-top: 1px solid;
    display: block;
    margin: 0;
  }
  .button-group.stack-for-small > li > button {
    width: 100%;
  }
  .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
    border-top: 0;
  }
  .button-group.stack-for-small > li {
    display: block;
    margin: 0;
    width: 100%;
  }
}
.button-group.radius > * > button, .button-group.radius > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
  border-left: 0;
}
.button-group.radius > * {
  float: left;
  display: inline-block;
  margin: 0 -2px;
}
.button-group.radius > *,
.button-group.radius > * > a,
.button-group.radius > * > button,
.button-group.radius > * > .button {
  border-radius: 0;
}
.button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button {
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button {
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
  border-left: 0;
}
.button-group.radius.stack > * {
  float: left;
}
.button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
  border-color: rgba(255, 255, 255, 0.5);
  border-left-width: 0;
  border-top: 1px solid;
  display: block;
  margin: 0;
}
.button-group.radius.stack > * > button {
  width: 100%;
}
.button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
  border-top: 0;
}
.button-group.radius.stack > * {
  display: block;
  margin: 0;
}
.button-group.radius.stack > *,
.button-group.radius.stack > * > a,
.button-group.radius.stack > * > button,
.button-group.radius.stack > * > .button {
  border-radius: 0;
}
.button-group.radius.stack > *:first-child, .button-group.radius.stack > *:first-child > a, .button-group.radius.stack > *:first-child > button, .button-group.radius.stack > *:first-child > .button {
  -webkit-top-left-radius: 3px;
  -webkit-top-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button {
  -webkit-bottom-left-radius: 3px;
  -webkit-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
@media only screen and (min-width:40.0625em) {
  .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.radius.stack-for-small > * {
    float: left;
    display: inline-block;
    margin: 0 -2px;
  }
  .button-group.radius.stack-for-small > *,
  .button-group.radius.stack-for-small > * > a,
  .button-group.radius.stack-for-small > * > button,
  .button-group.radius.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button {
    -webkit-border-bottom-left-radius: 3px;
    -webkit-border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;
  }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
  }
}
@media only screen and (max-width: 40em) {
  .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.radius.stack-for-small > * {
    float: left;
  }
  .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
    border-color: rgba(255, 255, 255, 0.5);
    border-left-width: 0;
    border-top: 1px solid;
    display: block;
    margin: 0;
  }
  .button-group.radius.stack-for-small > * > button {
    width: 100%;
  }
  .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
    border-top: 0;
  }
  .button-group.radius.stack-for-small > * {
    display: block;
    margin: 0;
  }
  .button-group.radius.stack-for-small > *,
  .button-group.radius.stack-for-small > * > a,
  .button-group.radius.stack-for-small > * > button,
  .button-group.radius.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button {
    -webkit-top-left-radius: 3px;
    -webkit-top-right-radius: 3px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
  }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button {
    -webkit-bottom-left-radius: 3px;
    -webkit-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
  }
}
.button-group.round > * > button, .button-group.round > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.round > *:first-child button, .button-group.round > *:first-child .button {
  border-left: 0;
}
.button-group.round > * {
  float: left;
  display: inline-block;
  margin: 0 -2px;
}
.button-group.round > *,
.button-group.round > * > a,
.button-group.round > * > button,
.button-group.round > * > .button {
  border-radius: 0;
}
.button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button {
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}
.button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button {
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}
.button-group.round.stack > * > button, .button-group.round.stack > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
  border-left: 0;
}
.button-group.round.stack > * {
  float: left;
}
.button-group.round.stack > * > button, .button-group.round.stack > * .button {
  border-color: rgba(255, 255, 255, 0.5);
  border-left-width: 0;
  border-top: 1px solid;
  display: block;
  margin: 0;
}
.button-group.round.stack > * > button {
  width: 100%;
}
.button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
  border-top: 0;
}
.button-group.round.stack > * {
  display: block;
  margin: 0;
}
.button-group.round.stack > *,
.button-group.round.stack > * > a,
.button-group.round.stack > * > button,
.button-group.round.stack > * > .button {
  border-radius: 0;
}
.button-group.round.stack > *:first-child, .button-group.round.stack > *:first-child > a, .button-group.round.stack > *:first-child > button, .button-group.round.stack > *:first-child > .button {
  -webkit-top-left-radius: 1rem;
  -webkit-top-right-radius: 1rem;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.button-group.round.stack > *:last-child, .button-group.round.stack > *:last-child > a, .button-group.round.stack > *:last-child > button, .button-group.round.stack > *:last-child > .button {
  -webkit-bottom-left-radius: 1rem;
  -webkit-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
@media only screen and (min-width:40.0625em) {
  .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.round.stack-for-small > * {
    float: left;
    display: inline-block;
    margin: 0 -2px;
  }
  .button-group.round.stack-for-small > *,
  .button-group.round.stack-for-small > * > a,
  .button-group.round.stack-for-small > * > button,
  .button-group.round.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button {
    -webkit-border-bottom-left-radius: 1000px;
    -webkit-border-top-left-radius: 1000px;
    border-bottom-left-radius: 1000px;
    border-top-left-radius: 1000px;
  }
  .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px;
  }
}
@media only screen and (max-width: 40em) {
  .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.round.stack-for-small > * {
    float: left;
  }
  .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
    border-color: rgba(255, 255, 255, 0.5);
    border-left-width: 0;
    border-top: 1px solid;
    display: block;
    margin: 0;
  }
  .button-group.round.stack-for-small > * > button {
    width: 100%;
  }
  .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
    border-top: 0;
  }
  .button-group.round.stack-for-small > * {
    display: block;
    margin: 0;
  }
  .button-group.round.stack-for-small > *,
  .button-group.round.stack-for-small > * > a,
  .button-group.round.stack-for-small > * > button,
  .button-group.round.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button {
    -webkit-top-left-radius: 1rem;
    -webkit-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
  }
  .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button {
    -webkit-bottom-left-radius: 1rem;
    -webkit-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

.button-bar:before, .button-bar:after {
  content: " ";
  display: table;
}
.button-bar:after {
  clear: both;
}
.button-bar .button-group {
  float: left;
  margin-right: 0.625rem;
}
.button-bar .button-group div {
  overflow: hidden;
}

/* Clearing Styles */
.clearing-thumbs:before, .clearing-thumbs:after, [data-verdana-clearing]:before, [data-verdana-clearing]:after {
  content: " ";
  display: table;
}
.clearing-thumbs:after, [data-verdana-clearing]:after {
  clear: both;
}
.clearing-thumbs, [data-verdana-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0;
}
.clearing-thumbs li, [data-verdana-clearing] li {
  float: left;
  margin-right: 10px;
}
.clearing-thumbs[class*=block-grid-] li, [data-verdana-clearing][class*=block-grid-] li {
  margin-right: 0;
}

.clearing-blackout {
  background: #333333;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
  left: 0;
}
.clearing-blackout .clearing-close {
  display: block;
}

.clearing-container {
  height: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 998;
}

.clearing-touch-label {
  color: #AAAAAA;
  font-size: 0.6em;
  left: 50%;
  position: absolute;
  top: 50%;
}

.visible-img {
  height: 95%;
  position: relative;
}
.visible-img img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  max-height: 100%;
  max-width: 100%;
}

.clearing-caption {
  background: #333333;
  bottom: 0;
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 30px 20px;
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0;
}

.clearing-close {
  color: #CCCCCC;
  display: none;
  font-size: 30px;
  line-height: 1;
  padding-left: 20px;
  padding-top: 10px;
  z-index: 999;
}
.clearing-close:hover, .clearing-close:focus {
  color: #CCCCCC;
}

.clearing-assembled .clearing-container {
  height: 100%;
}
.clearing-assembled .clearing-container .carousel > ul {
  display: none;
}

.clearing-feature li {
  display: none;
}
.clearing-feature li.clearing-featured-img {
  display: block;
}

@media only screen and (min-width:40.0625em) {
  .clearing-main-prev,
  .clearing-main-next {
    height: 100%;
    position: absolute;
    top: 0;
    width: 40px;
  }
  .clearing-main-prev > span,
  .clearing-main-next > span {
    border: solid 12px;
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    width: 0;
  }
  .clearing-main-prev > span:hover,
  .clearing-main-next > span:hover {
    opacity: 0.8;
  }
  .clearing-main-prev {
    left: 0;
  }
  .clearing-main-prev > span {
    left: 5px;
    border-color: transparent;
    border-right-color: #CCCCCC;
  }
  .clearing-main-next {
    right: 0;
  }
  .clearing-main-next > span {
    border-color: transparent;
    border-left-color: #CCCCCC;
  }
  .clearing-main-prev.disabled,
  .clearing-main-next.disabled {
    opacity: 0.3;
  }
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center;
  }
  .clearing-assembled .clearing-container .carousel > ul {
    display: inline-block;
    z-index: 999;
    height: 100%;
    position: relative;
    float: none;
  }
  .clearing-assembled .clearing-container .carousel > ul li {
    clear: none;
    cursor: pointer;
    display: block;
    float: left;
    margin-right: 0;
    min-height: inherit;
    opacity: 0.4;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 120px;
  }
  .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
    height: 100%;
    max-width: none;
  }
  .clearing-assembled .clearing-container .carousel > ul li a.th {
    border: none;
    box-shadow: none;
    display: block;
  }
  .clearing-assembled .clearing-container .carousel > ul li img {
    cursor: pointer !important;
    width: 100% !important;
  }
  .clearing-assembled .clearing-container .carousel > ul li.visible {
    opacity: 1;
  }
  .clearing-assembled .clearing-container .carousel > ul li:hover {
    opacity: 0.8;
  }
  .clearing-assembled .clearing-container .visible-img {
    background: #333333;
    height: 85%;
    overflow: hidden;
  }
  .clearing-close {
    padding-left: 0;
    padding-top: 0;
    position: absolute;
    top: 10px;
    right: 20px;
  }
}
/* Foundation Dropdowns */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
}
.f-dropdown.open {
  display: block;
}
.f-dropdown > *:first-child {
  margin-top: 0;
}
.f-dropdown > *:last-child {
  margin-bottom: 0;
}
.f-dropdown {
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
}
.f-dropdown:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent #FFFFFF transparent;
  border-bottom-style: solid;
  position: absolute;
  top: -12px;
  left: 10px;
  z-index: 89;
}
.f-dropdown:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent #cccccc transparent;
  border-bottom-style: solid;
  position: absolute;
  top: -14px;
  left: 9px;
  z-index: 88;
}
.f-dropdown.right:before {
  left: auto;
  right: 10px;
}
.f-dropdown.right:after {
  left: auto;
  right: 9px;
}
.f-dropdown {
  max-width: 200px;
}
.f-dropdown.drop-right {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
}
.f-dropdown.drop-right.open {
  display: block;
}
.f-dropdown.drop-right > *:first-child {
  margin-top: 0;
}
.f-dropdown.drop-right > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.drop-right {
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 0;
  margin-left: 2px;
}
.f-dropdown.drop-right:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent #FFFFFF transparent transparent;
  border-right-style: solid;
  position: absolute;
  top: 10px;
  left: -12px;
  z-index: 89;
}
.f-dropdown.drop-right:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent #cccccc transparent transparent;
  border-right-style: solid;
  position: absolute;
  top: 9px;
  left: -14px;
  z-index: 88;
}
.f-dropdown.drop-right {
  max-width: 200px;
}
.f-dropdown.drop-left {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
}
.f-dropdown.drop-left.open {
  display: block;
}
.f-dropdown.drop-left > *:first-child {
  margin-top: 0;
}
.f-dropdown.drop-left > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.drop-left {
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 0;
  margin-left: -2px;
}
.f-dropdown.drop-left:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent #FFFFFF;
  border-left-style: solid;
  position: absolute;
  top: 10px;
  right: -12px;
  left: auto;
  z-index: 89;
}
.f-dropdown.drop-left:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent #cccccc;
  border-left-style: solid;
  position: absolute;
  top: 9px;
  right: -14px;
  left: auto;
  z-index: 88;
}
.f-dropdown.drop-left {
  max-width: 200px;
}
.f-dropdown.drop-top {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
}
.f-dropdown.drop-top.open {
  display: block;
}
.f-dropdown.drop-top > *:first-child {
  margin-top: 0;
}
.f-dropdown.drop-top > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.drop-top {
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-left: 0;
  margin-top: -2px;
}
.f-dropdown.drop-top:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: #FFFFFF transparent transparent transparent;
  border-top-style: solid;
  bottom: -12px;
  position: absolute;
  top: auto;
  left: 10px;
  right: auto;
  z-index: 89;
}
.f-dropdown.drop-top:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: #cccccc transparent transparent transparent;
  border-top-style: solid;
  bottom: -14px;
  position: absolute;
  top: auto;
  left: 9px;
  right: auto;
  z-index: 88;
}
.f-dropdown.drop-top {
  max-width: 200px;
}
.f-dropdown li {
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.125rem;
  margin: 0;
}
.f-dropdown li:hover, .f-dropdown li:focus {
  background: #EEEEEE;
}
.f-dropdown li a {
  display: block;
  padding: 0.5rem;
  color: #555555;
}
.f-dropdown.content {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
}
.f-dropdown.content.open {
  display: block;
}
.f-dropdown.content > *:first-child {
  margin-top: 0;
}
.f-dropdown.content > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.content {
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  padding: 1.25rem;
  width: 100%;
  z-index: 89;
  max-width: 200px;
}
.f-dropdown.radius {
  border-radius: 3px;
}
.f-dropdown.tiny {
  max-width: 200px;
}
.f-dropdown.small {
  max-width: 300px;
}
.f-dropdown.medium {
  max-width: 500px;
}
.f-dropdown.large {
  max-width: 800px;
}
.f-dropdown.mega {
  width: 100% !important;
  max-width: 100% !important;
}
.f-dropdown.mega.open {
  left: 0 !important;
}

.dropdown.button, button.dropdown {
  position: relative;
}
.dropdown.button::after, button.dropdown::after {
  border-color: #FFFFFF transparent transparent transparent;
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  top: 50%;
  width: 0;
}
.dropdown.button, button.dropdown {
  padding-right: 3.5625rem;
}
.dropdown.button::after, button.dropdown::after {
  border-width: 0.375rem;
  right: 1.40625rem;
  margin-top: -0.15625rem;
}
.dropdown.button::after, button.dropdown::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.tiny, button.dropdown.tiny {
  padding-right: 2.625rem;
}
.dropdown.button.tiny:after, button.dropdown.tiny:after {
  border-width: 0.375rem;
  right: 1.125rem;
  margin-top: -0.125rem;
}
.dropdown.button.tiny::after, button.dropdown.tiny::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.small, button.dropdown.small {
  padding-right: 3.0625rem;
}
.dropdown.button.small::after, button.dropdown.small::after {
  border-width: 0.4375rem;
  right: 1.3125rem;
  margin-top: -0.15625rem;
}
.dropdown.button.small::after, button.dropdown.small::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.large, button.dropdown.large {
  padding-right: 3.625rem;
}
.dropdown.button.large::after, button.dropdown.large::after {
  border-width: 0.3125rem;
  right: 1.71875rem;
  margin-top: -0.15625rem;
}
.dropdown.button.large::after, button.dropdown.large::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.secondary:after, button.dropdown.secondary:after {
  border-color: #333333 transparent transparent transparent;
}

.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 67.5%;
  padding-top: 1.5625rem;
  position: relative;
}
.flex-video.widescreen {
  padding-bottom: 56.34%;
}
.flex-video.vimeo {
  padding-top: 0;
}
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
}

/* Standard Forms */
form {
  margin: 0 0 1rem;
}

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem;
}
form .row .row .column,
form .row .row .columns {
  padding: 0 0.5rem;
}
form .row .row.collapse {
  margin: 0;
}
form .row .row.collapse .column,
form .row .row.collapse .columns {
  padding: 0;
}
form .row .row.collapse input {
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem;
}

/* Label Styles */
label {
  color: rgb(76.5, 76.5, 76.5);
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
}
label.right {
  float: none !important;
  text-align: right;
}
label.inline {
  margin: 0 0 1rem 0;
  line-height: 2.375rem;
}
label {
  /* Styles for required inputs */
}
label small {
  text-transform: capitalize;
  color: rgb(103.275, 103.275, 103.275);
}

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.3125rem;
  line-height: 2.3125rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center;
}

.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center;
}

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix {
  background: rgb(242.25, 242.25, 242.25);
  border-right: none;
  color: #333333;
  border-color: #cccccc;
}

span.postfix, label.postfix {
  background: rgb(242.25, 242.25, 242.25);
  border-left: none;
  color: #333333;
  border-color: #cccccc;
}

/* We use this to get basic styling on all basic form elements */
input:not([type]), input[type=text], input[type=password], input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=week], input[type=email], input[type=number], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=color], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: #444444;
  display: block;
  font-family: inherit;
  font-size: 0.875rem;
  height: 2.3125rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input:not([type]):focus, input[type=text]:focus, input[type=password]:focus, input[type=date]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=month]:focus, input[type=week]:focus, input[type=email]:focus, input[type=number]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=time]:focus, input[type=url]:focus, input[type=color]:focus, textarea:focus {
  background-color: rgb(249.9, 249.9, 249.9);
  border-color: #999999;
  outline: none;
}
input:not([type]):disabled, input[type=text]:disabled, input[type=password]:disabled, input[type=date]:disabled, input[type=datetime]:disabled, input[type=datetime-local]:disabled, input[type=month]:disabled, input[type=week]:disabled, input[type=email]:disabled, input[type=number]:disabled, input[type=search]:disabled, input[type=tel]:disabled, input[type=time]:disabled, input[type=url]:disabled, input[type=color]:disabled, textarea:disabled {
  background-color: #DDDDDD;
  cursor: default;
}
input:not([type])[disabled], input:not([type])[readonly], fieldset[disabled] input:not([type]), input[type=text][disabled], input[type=text][readonly], fieldset[disabled] input[type=text], input[type=password][disabled], input[type=password][readonly], fieldset[disabled] input[type=password], input[type=date][disabled], input[type=date][readonly], fieldset[disabled] input[type=date], input[type=datetime][disabled], input[type=datetime][readonly], fieldset[disabled] input[type=datetime], input[type=datetime-local][disabled], input[type=datetime-local][readonly], fieldset[disabled] input[type=datetime-local], input[type=month][disabled], input[type=month][readonly], fieldset[disabled] input[type=month], input[type=week][disabled], input[type=week][readonly], fieldset[disabled] input[type=week], input[type=email][disabled], input[type=email][readonly], fieldset[disabled] input[type=email], input[type=number][disabled], input[type=number][readonly], fieldset[disabled] input[type=number], input[type=search][disabled], input[type=search][readonly], fieldset[disabled] input[type=search], input[type=tel][disabled], input[type=tel][readonly], fieldset[disabled] input[type=tel], input[type=time][disabled], input[type=time][readonly], fieldset[disabled] input[type=time], input[type=url][disabled], input[type=url][readonly], fieldset[disabled] input[type=url], input[type=color][disabled], input[type=color][readonly], fieldset[disabled] input[type=color], textarea[disabled], textarea[readonly], fieldset[disabled] textarea {
  background-color: #DDDDDD;
  cursor: default;
}
input:not([type]), input[type=text], input[type=password], input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=week], input[type=email], input[type=number], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=color], textarea {
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  -moz-transition: border-color 0.15s linear, background 0.15s linear;
  -ms-transition: border-color 0.15s linear, background 0.15s linear;
  -o-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear;
}
input:not([type]).radius, input[type=text].radius, input[type=password].radius, input[type=date].radius, input[type=datetime].radius, input[type=datetime-local].radius, input[type=month].radius, input[type=week].radius, input[type=email].radius, input[type=number].radius, input[type=search].radius, input[type=tel].radius, input[type=time].radius, input[type=url].radius, input[type=color].radius, textarea.radius {
  border-radius: 3px;
}

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}
form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}
form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}
form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto;
}

/* Not allow resize out of parent */
textarea {
  max-width: 100%;
}

::-webkit-input-placeholder {
  color: #AAAAAA;
}

:-moz-placeholder { /* Firefox 18- */
  color: #AAAAAA;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #AAAAAA;
}

:-ms-input-placeholder {
  color: #AAAAAA;
}

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #fff;
  border-radius: 0;
}
select::-ms-expand {
  display: none;
}
select {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: #444444;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
}
select.radius {
  border-radius: 3px;
}
select:focus {
  background-color: rgb(249.9, 249.9, 249.9);
  border-color: #999999;
}
select:disabled {
  background-color: #DDDDDD;
  cursor: default;
}
select {
  height: 2.3125rem;
}
select[multiple] {
  height: auto;
}

/* Adjust margin for form elements below */
input[type=file],
input[type=checkbox],
input[type=radio],
select {
  margin: 0 0 1rem 0;
}

input[type=checkbox] + label,
input[type=radio] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline;
}

/* Normalize file input width */
input[type=file] {
  width: 100%;
}

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem;
}
fieldset legend {
  font-weight: bold;
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

/* Error Handling */
[data-verdana-abide] .error small.error, [data-verdana-abide] .error span.error, [data-verdana-abide] span.error, [data-verdana-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF;
}
[data-verdana-abide] span.error, [data-verdana-abide] small.error {
  display: none;
}

span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF;
}

.error input,
.error textarea,
.error select {
  margin-bottom: 0;
}
.error input[type=checkbox],
.error input[type=radio] {
  margin-bottom: 1rem;
}
.error label,
.error label.error {
  color: #f04124;
}
.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF;
}
.error > label > small {
  background: transparent;
  color: rgb(103.275, 103.275, 103.275);
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize;
}
.error span.error-message {
  display: block;
}

input.error,
textarea.error,
select.error {
  margin-bottom: 0;
}

label.error {
  color: #f04124;
}

.icon-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
}
.icon-bar > * {
  display: block;
  float: left;
  font-size: 1rem;
  margin: 0 auto;
  padding: 1.25rem;
  text-align: center;
  width: 25%;
}
.icon-bar > * i, .icon-bar > * img {
  display: block;
  margin: 0 auto;
}
.icon-bar > * i + label, .icon-bar > * img + label {
  margin-top: 0.0625rem;
}
.icon-bar > * i {
  font-size: 1.875rem;
  vertical-align: middle;
}
.icon-bar > * img {
  height: 1.875rem;
  width: 1.875rem;
}
.icon-bar.label-right > * i, .icon-bar.label-right > * img {
  display: inline-block;
  margin: 0 0.0625rem 0 0;
}
.icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
  margin-top: 0;
}
.icon-bar.label-right > * label {
  display: inline-block;
}
.icon-bar.vertical.label-right > * {
  text-align: left;
}
.icon-bar.vertical, .icon-bar.small-vertical {
  height: 100%;
  width: auto;
}
.icon-bar.vertical .item, .icon-bar.small-vertical .item {
  float: none;
  margin: auto;
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.medium-vertical {
    height: 100%;
    width: auto;
  }
  .icon-bar.medium-vertical .item {
    float: none;
    margin: auto;
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.large-vertical {
    height: 100%;
    width: auto;
  }
  .icon-bar.large-vertical .item {
    float: none;
    margin: auto;
    width: auto;
  }
}
.icon-bar > * {
  font-size: 1rem;
  padding: 1.25rem;
}
.icon-bar > * i + label, .icon-bar > * img + label {
  margin-top: 0.0625rem;
  font-size: 1rem;
}
.icon-bar > * i {
  font-size: 1.875rem;
}
.icon-bar > * img {
  height: 1.875rem;
  width: 1.875rem;
}
.icon-bar {
  background: #333333;
}
.icon-bar > * label {
  color: #FFFFFF;
}
.icon-bar > * i {
  color: #FFFFFF;
}
.icon-bar > a:hover {
  background: #ffe004;
}
.icon-bar > a:hover label {
  color: #FFFFFF;
}
.icon-bar > a:hover i {
  color: #FFFFFF;
}
.icon-bar > a.active {
  background: #ffe004;
}
.icon-bar > a.active label {
  color: #FFFFFF;
}
.icon-bar > a.active i {
  color: #FFFFFF;
}
.icon-bar .item.disabled {
  cursor: not-allowed;
  opacity: 0.7;
  pointer-events: none;
}
.icon-bar .item.disabled > * {
  opacity: 0.7;
  cursor: not-allowed;
}
.icon-bar.two-up .item {
  width: 50%;
}
.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.two-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.three-up .item {
  width: 33.3333%;
}
.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.three-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.four-up .item {
  width: 25%;
}
.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.four-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.five-up .item {
  width: 20%;
}
.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.five-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.six-up .item {
  width: 16.66667%;
}
.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.six-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.seven-up .item {
  width: 14.28571%;
}
.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.eight-up .item {
  width: 12.5%;
}
.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto;
  }
}

.icon-bar.two-up .item {
  width: 50%;
}
.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.two-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.three-up .item {
  width: 33.3333%;
}
.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.three-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.four-up .item {
  width: 25%;
}
.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.four-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.five-up .item {
  width: 20%;
}
.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.five-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.six-up .item {
  width: 16.66667%;
}
.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.six-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.seven-up .item {
  width: 14.28571%;
}
.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.eight-up .item {
  width: 12.5%;
}
.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto;
  }
}

.inline-list {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.0625rem;
  margin-left: -1.375rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0;
}
.inline-list > li {
  display: block;
  float: left;
  list-style: none;
  margin-left: 1.375rem;
}
.inline-list > li > * {
  display: block;
}

/* Foundation Joyride */
.joyride-list {
  display: none;
}

/* Default styles for the container */
.joyride-tip-guide {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-family: inherit;
  font-weight: normal;
  position: absolute;
  top: 0;
  width: 95%;
  z-index: 103;
  left: 2.5%;
}

.lt-ie9 .joyride-tip-guide {
  margin-left: -400px;
  max-width: 800px;
  left: 50%;
}

.joyride-content-wrapper {
  padding: 1.125rem 1.25rem 1.5rem;
  width: 100%;
}
.joyride-content-wrapper .button {
  margin-bottom: 0 !important;
}
.joyride-content-wrapper .joyride-prev-tip {
  margin-right: 10px;
}

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub {
  border: 10px solid #333333;
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  left: 22px;
}
.joyride-tip-guide .joyride-nub.top {
  border-color: #333333;
  border-top-color: transparent !important;
  border-top-style: solid;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  top: -20px;
}
.joyride-tip-guide .joyride-nub.bottom {
  border-color: #333333 !important;
  border-bottom-color: transparent !important;
  border-bottom-style: solid;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  bottom: -20px;
}
.joyride-tip-guide .joyride-nub.right {
  right: -20px;
}
.joyride-tip-guide .joyride-nub.left {
  left: -20px;
}

/* Typography */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.25;
  margin: 0;
}

.joyride-tip-guide p {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0 0 1.125rem 0;
}

.joyride-timer-indicator-wrap {
  border: solid 1px #555555;
  bottom: 1rem;
  height: 3px;
  position: absolute;
  width: 50px;
  right: 1.0625rem;
}

.joyride-timer-indicator {
  background: #666666;
  display: block;
  height: inherit;
  width: 0;
}

.joyride-close-tip {
  color: #777777 !important;
  font-size: 24px;
  font-weight: normal;
  line-height: 0.5 !important;
  position: absolute;
  text-decoration: none;
  top: 10px;
  right: 12px;
}
.joyride-close-tip:hover, .joyride-close-tip:focus {
  color: #EEEEEE !important;
}

.joyride-modal-bg {
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  left: 0;
}

.joyride-expose-wrapper {
  background-color: #FFFFFF;
  border-radius: 3px;
  box-shadow: 0 0 15px #FFFFFF;
  position: absolute;
  z-index: 102;
}

.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 9999;
}

/* Styles for screens that are at least 768px; */
@media only screen {
  .joyride-tip-guide {
    width: 300px;
    left: inherit;
  }
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px;
  }
  .joyride-tip-guide .joyride-nub.right {
    border-color: #333333 !important;
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    border-top-color: transparent !important;
    left: auto;
    right: -20px;
    top: 22px;
  }
  .joyride-tip-guide .joyride-nub.left {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
    border-top-color: transparent !important;
    left: -20px;
    right: auto;
    top: 22px;
  }
}
.keystroke,
kbd {
  background-color: rgb(237.15, 237.15, 237.15);
  border-color: rgb(220.5495, 220.5495, 220.5495);
  color: #222222;
  border-style: solid;
  border-width: 1px;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 3px;
}

.label {
  display: inline-block;
  font-family: Verdana, Geneva, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #ffe004;
  color: #FFFFFF;
}
.label.radius {
  border-radius: 3px;
}
.label.round {
  border-radius: 1000px;
}
.label.alert {
  background-color: #f04124;
  color: #FFFFFF;
}
.label.warning {
  background-color: #f08a24;
  color: #FFFFFF;
}
.label.success {
  background-color: #43ac6a;
  color: #FFFFFF;
}
.label.secondary {
  background-color: #a1d3ff;
  color: #333333;
}
.label.info {
  background-color: #e7e7e7;
  color: #333333;
}

[data-verdana-magellan-expedition], [data-verdana-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 0 !important;
  z-index: 50;
}
[data-verdana-magellan-expedition] .sub-nav, [data-verdana-magellan-expedition-clone] .sub-nav {
  margin-bottom: 0;
}
[data-verdana-magellan-expedition] .sub-nav dd, [data-verdana-magellan-expedition-clone] .sub-nav dd {
  margin-bottom: 0;
}
[data-verdana-magellan-expedition] .sub-nav a, [data-verdana-magellan-expedition-clone] .sub-nav a {
  line-height: 1.8em;
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* Orbit Graceful Loading */
.slideshow-wrapper {
  position: relative;
}
.slideshow-wrapper ul {
  list-style-type: none;
  margin: 0;
}
.slideshow-wrapper ul li,
.slideshow-wrapper ul li .orbit-caption {
  display: none;
}
.slideshow-wrapper ul li:first-child {
  display: block;
}
.slideshow-wrapper .orbit-container {
  background-color: transparent;
}
.slideshow-wrapper .orbit-container li {
  display: block;
}
.slideshow-wrapper .orbit-container li .orbit-caption {
  display: block;
}
.slideshow-wrapper .orbit-container .orbit-bullets li {
  display: inline-block;
}
.slideshow-wrapper .preloader {
  border-radius: 1000px;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: rotate;
  animation-timing-function: linear;
  border-color: #555555 #FFFFFF;
  border: solid 3px;
  display: block;
  height: 40px;
  left: 50%;
  margin-left: -20px;
  margin-top: -20px;
  position: absolute;
  top: 50%;
  width: 40px;
}

.orbit-container {
  background: none;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.orbit-container .orbit-slides-container {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
}
.orbit-container .orbit-slides-container img {
  display: block;
  max-width: 100%;
}
.orbit-container .orbit-slides-container > * {
  position: absolute;
  top: 0;
  width: 100%;
  margin-left: 100%;
}
.orbit-container .orbit-slides-container > *:first-child {
  margin-left: 0;
}
.orbit-container .orbit-slides-container > * .orbit-caption {
  bottom: 0;
  position: absolute;
  background-color: rgba(51, 51, 51, 0.8);
  color: #FFFFFF;
  font-size: 0.875rem;
  padding: 0.625rem 0.875rem;
  width: 100%;
}
.orbit-container .orbit-slide-number {
  left: 10px;
  background: rgba(0, 0, 0, 0);
  color: #FFFFFF;
  font-size: 12px;
  position: absolute;
}
.orbit-container .orbit-slide-number span {
  font-weight: 700;
  padding: 0.3125rem;
}
.orbit-container .orbit-slide-number {
  top: 10px;
  z-index: 10;
}
.orbit-container .orbit-timer {
  position: absolute;
  top: 12px;
  right: 10px;
  height: 6px;
  width: 100px;
  z-index: 10;
}
.orbit-container .orbit-timer .orbit-progress {
  height: 3px;
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  width: 0;
  position: relative;
  right: 20px;
  top: 5px;
}
.orbit-container .orbit-timer > span {
  border: solid 4px #FFFFFF;
  border-bottom: none;
  border-top: none;
  display: none;
  height: 14px;
  position: absolute;
  top: 0;
  width: 11px;
  right: 0;
}
.orbit-container .orbit-timer.paused > span {
  top: 0;
  width: 11px;
  height: 14px;
  border: inset 8px;
  border-left-style: solid;
  border-color: transparent;
  border-left-color: #FFFFFF;
  right: -4px;
}
.orbit-container .orbit-timer.paused > span.dark {
  border-left-color: #333333;
}
.orbit-container:hover .orbit-timer > span {
  display: block;
}
.orbit-container .orbit-prev,
.orbit-container .orbit-next {
  background-color: transparent;
  color: white;
  height: 60px;
  line-height: 50px;
  margin-top: -25px;
  position: absolute;
  text-indent: -9999px !important;
  top: 45%;
  width: 36px;
  z-index: 10;
}
.orbit-container .orbit-prev:hover,
.orbit-container .orbit-next:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.orbit-container .orbit-prev > span,
.orbit-container .orbit-next > span {
  border: inset 10px;
  display: block;
  height: 0;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  width: 0;
}
.orbit-container .orbit-prev {
  left: 0;
}
.orbit-container .orbit-prev > span {
  border-right-style: solid;
  border-color: transparent;
  border-right-color: #FFFFFF;
}
.orbit-container .orbit-prev:hover > span {
  border-right-color: #FFFFFF;
}
.orbit-container .orbit-next {
  right: 0;
}
.orbit-container .orbit-next > span {
  border-color: transparent;
  border-left-style: solid;
  border-left-color: #FFFFFF;
  left: 50%;
  margin-left: -4px;
}
.orbit-container .orbit-next:hover > span {
  border-left-color: #FFFFFF;
}

.orbit-bullets-container {
  text-align: center;
}

.orbit-bullets {
  display: block;
  float: none;
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  top: 10px;
}
.orbit-bullets li {
  background: #CCCCCC;
  cursor: pointer;
  display: inline-block;
  float: none;
  height: 0.5625rem;
  margin-right: 6px;
  width: 0.5625rem;
  border-radius: 1000px;
}
.orbit-bullets li.active {
  background: #999999;
}
.orbit-bullets li:last-child {
  margin-right: 0;
}

.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none;
}
.touch .orbit-bullets {
  display: none;
}

@media only screen and (min-width:40.0625em) {
  .touch .orbit-container .orbit-prev,
  .touch .orbit-container .orbit-next {
    display: inherit;
  }
  .touch .orbit-bullets {
    display: block;
  }
}
@media only screen and (max-width: 40em) {
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important;
  }
  .orbit-stack-on-small .orbit-slides-container > * {
    margin: 0 !important;
    opacity: 1 !important;
    position: relative;
  }
  .orbit-stack-on-small .orbit-slide-number {
    display: none;
  }
  .orbit-timer {
    display: none;
  }
  .orbit-next, .orbit-prev {
    display: none;
  }
  .orbit-bullets {
    display: none;
  }
}
ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem;
}
ul.pagination li {
  color: #222222;
  font-size: 0.875rem;
  height: 1.5rem;
  margin-left: 0.3125rem;
}
ul.pagination li a, ul.pagination li button {
  border-radius: 3px;
  transition: background-color 300ms ease-out;
  background: none;
  color: #999999;
  display: block;
  font-size: 1em;
  font-weight: normal;
  line-height: inherit;
  padding: 0.0625rem 0.625rem 0.0625rem;
}
ul.pagination li:hover a,
ul.pagination li a:focus, ul.pagination li:hover button,
ul.pagination li button:focus {
  background: rgb(229.5, 229.5, 229.5);
}
ul.pagination li.unavailable a, ul.pagination li.unavailable button {
  cursor: default;
  color: #999999;
  pointer-events: none;
}
ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus {
  background: transparent;
}
ul.pagination li.current a, ul.pagination li.current button {
  background: #ffe004;
  color: #FFFFFF;
  cursor: default;
  font-weight: bold;
}
ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
  background: #ffe004;
}
ul.pagination li {
  display: block;
  float: left;
}

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center;
}
.pagination-centered ul.pagination li {
  display: inline-block;
  float: none;
}

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: rgb(215.6025, 215.6025, 215.6025);
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: rgb(242.25, 242.25, 242.25);
  color: #333333;
}
.panel > :first-child {
  margin-top: 0;
}
.panel > :last-child {
  margin-bottom: 0;
}
.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
  color: #333333;
}
.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}
.panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
  line-height: 1.4;
}
.panel.callout {
  border-style: solid;
  border-width: 1px;
  border-color: rgb(215.6025, 215.6025, 215.6025);
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: rgb(255, 253.14, 239.94);
  color: #333333;
}
.panel.callout > :first-child {
  margin-top: 0;
}
.panel.callout > :last-child {
  margin-bottom: 0;
}
.panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
  color: #333333;
}
.panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}
.panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
  line-height: 1.4;
}
.panel.callout a:not(.button) {
  color: #ffe004;
}
.panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
  color: rgb(222.74, 195.2302788845, 0);
}
.panel.radius {
  border-radius: 3px;
}

/* Pricing Tables */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem;
}
.pricing-table * {
  list-style: none;
  line-height: 1;
}
.pricing-table .title {
  background-color: #333333;
  color: #EEEEEE;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 1rem;
  font-weight: normal;
  padding: 0.9375rem 1.25rem;
  text-align: center;
}
.pricing-table .price {
  background-color: #F6F6F6;
  color: #333333;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 2rem;
  font-weight: normal;
  padding: 0.9375rem 1.25rem;
  text-align: center;
}
.pricing-table .description {
  background-color: #FFFFFF;
  border-bottom: dotted 1px #DDDDDD;
  color: #777777;
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1.4;
  padding: 0.9375rem;
  text-align: center;
}
.pricing-table .bullet-item {
  background-color: #FFFFFF;
  border-bottom: dotted 1px #DDDDDD;
  color: #333333;
  font-size: 0.875rem;
  font-weight: normal;
  padding: 0.9375rem;
  text-align: center;
}
.pricing-table .cta-button {
  background-color: #FFFFFF;
  padding: 1.25rem 1.25rem 0;
  text-align: center;
}

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem;
}
.progress .meter {
  background: #ffe004;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress .meter.secondary {
  background: #a1d3ff;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress .meter.success {
  background: #43ac6a;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress .meter.alert {
  background: #f04124;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress.secondary .meter {
  background: #a1d3ff;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress.success .meter {
  background: #43ac6a;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress.alert .meter {
  background: #f04124;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}
.progress.radius {
  border-radius: 3px;
}
.progress.radius .meter {
  border-radius: 2px;
}
.progress.round {
  border-radius: 1000px;
}
.progress.round .meter {
  border-radius: 999px;
}

.range-slider {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  height: 1rem;
  width: 100%;
  background: #FAFAFA;
}
.range-slider.vertical-range {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: inline-block;
  height: 12.5rem;
  width: 1rem;
}
.range-slider.vertical-range .range-slider-handle {
  bottom: -10.5rem;
  margin-left: -0.5rem;
  margin-top: 0;
  position: absolute;
}
.range-slider.vertical-range .range-slider-active-segment {
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  border-top-left-radius: initial;
  bottom: 0;
  height: auto;
  width: 0.875rem;
}
.range-slider.radius {
  background: #FAFAFA;
  border-radius: 3px;
}
.range-slider.radius .range-slider-handle {
  background: #ffe004;
  border-radius: 3px;
}
.range-slider.radius .range-slider-handle:hover {
  background: rgb(227.92, 199.7705179283, 0);
}
.range-slider.round {
  background: #FAFAFA;
  border-radius: 1000px;
}
.range-slider.round .range-slider-handle {
  background: #ffe004;
  border-radius: 1000px;
}
.range-slider.round .range-slider-handle:hover {
  background: rgb(227.92, 199.7705179283, 0);
}
.range-slider.disabled, .range-slider[disabled] {
  background: #FAFAFA;
  cursor: not-allowed;
  opacity: 0.7;
}
.range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
  background: #ffe004;
  cursor: default;
  opacity: 0.7;
}
.range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
  background: rgb(227.92, 199.7705179283, 0);
}

.range-slider-active-segment {
  background: rgb(156.84, 209.0527659574, 255);
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  display: inline-block;
  height: 0.875rem;
  position: absolute;
}

.range-slider-handle {
  border: 1px solid none;
  cursor: pointer;
  display: inline-block;
  height: 1.375rem;
  position: absolute;
  top: -0.3125rem;
  width: 2rem;
  z-index: 1;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #ffe004;
}
.range-slider-handle:hover {
  background: rgb(227.92, 199.7705179283, 0);
}

.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0;
}

.reveal-modal {
  border-radius: 3px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
}
@media only screen and (max-width: 40em) {
  .reveal-modal {
    min-height: 100vh;
  }
}
.reveal-modal .column, .reveal-modal .columns {
  min-width: 0;
}
.reveal-modal > :first-child {
  margin-top: 0;
}
.reveal-modal > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 80%;
  }
}
.reveal-modal {
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal {
    top: 6.25rem;
  }
}
.reveal-modal.radius {
  box-shadow: none;
  border-radius: 3px;
}
.reveal-modal.round {
  box-shadow: none;
  border-radius: 1000px;
}
.reveal-modal.collapse {
  padding: 0;
  box-shadow: none;
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal.tiny {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 30%;
  }
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal.small {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 40%;
  }
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal.medium {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 60%;
  }
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal.large {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 70%;
  }
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal.xlarge {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 95%;
  }
}
@media only screen and (min-width:40.0625em) {
  .reveal-modal.full {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 100%;
  }
}
.reveal-modal.full {
  height: 100vh;
  height: 100%;
  left: 0;
  margin-left: 0 !important;
  max-width: none !important;
  min-height: 100vh;
  top: 0;
}
.reveal-modal.toback {
  z-index: 1003;
}
.reveal-modal .close-reveal-modal {
  color: #AAAAAA;
  cursor: pointer;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 0.625rem;
  right: 1.375rem;
  text-decoration: none;
}

.side-nav {
  display: block;
  font-family: Verdana, Geneva, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0;
}
.side-nav li {
  font-size: 0.875rem;
  font-weight: normal;
  margin: 0 0 0.4375rem 0;
}
.side-nav li a:not(.button) {
  color: #ffe004;
  display: block;
  margin: 0;
  padding: 0.4375rem 0.875rem;
}
.side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
  background: hsla(0, 0%, 0%, 0.025);
  color: rgb(255, 233.3, 79.3);
}
.side-nav li a:not(.button):active {
  color: rgb(255, 233.3, 79.3);
}
.side-nav li.active > a:first-child:not(.button) {
  color: rgb(255, 233.3, 79.3);
  font-family: Verdana, Geneva, sans-serif;
  font-weight: normal;
}
.side-nav li.divider {
  border-top: 1px solid;
  height: 0;
  list-style: none;
  padding: 0;
  border-top-color: rgb(229.5, 229.5, 229.5);
}
.side-nav li.heading {
  color: #ffe004;
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
}

.split.button {
  position: relative;
}
.split.button span {
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border-left: solid 1px;
}
.split.button span:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  display: block;
  border-style: inset;
  top: 50%;
  left: 50%;
}
.split.button span:active {
  background-color: rgba(0, 0, 0, 0.1);
}
.split.button span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button {
  padding-right: 5.0625rem;
}
.split.button span {
  width: 3.09375rem;
}
.split.button span:after {
  border-top-style: solid;
  border-width: 0.375rem;
  margin-left: -0.375rem;
  top: 48%;
}
.split.button span:after {
  border-color: #FFFFFF transparent transparent transparent;
}
.split.button.secondary span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button.secondary span:after {
  border-color: #FFFFFF transparent transparent transparent;
}
.split.button.alert span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button.success span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button.tiny {
  padding-right: 3.75rem;
}
.split.button.tiny span {
  width: 2.25rem;
}
.split.button.tiny span:after {
  border-top-style: solid;
  border-width: 0.375rem;
  margin-left: -0.375rem;
  top: 48%;
}
.split.button.small {
  padding-right: 4.375rem;
}
.split.button.small span {
  width: 2.625rem;
}
.split.button.small span:after {
  border-top-style: solid;
  border-width: 0.4375rem;
  margin-left: -0.375rem;
  top: 48%;
}
.split.button.large {
  padding-right: 5.5rem;
}
.split.button.large span {
  width: 3.4375rem;
}
.split.button.large span:after {
  border-top-style: solid;
  border-width: 0.3125rem;
  margin-left: -0.375rem;
  top: 48%;
}
.split.button.expand {
  padding-left: 2rem;
}
.split.button.secondary span:after {
  border-color: #333333 transparent transparent transparent;
}
.split.button.radius span {
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.split.button.round span {
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}
.split.button.no-pip span:before {
  border-style: none;
}
.split.button.no-pip span:after {
  border-style: none;
}
.split.button.no-pip span > i {
  display: block;
  left: 50%;
  margin-left: -0.28889em;
  margin-top: -0.48889em;
  position: absolute;
  top: 50%;
}

.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto;
}
.sub-nav dt {
  text-transform: uppercase;
}
.sub-nav dt,
.sub-nav dd,
.sub-nav li {
  color: #999999;
  float: left;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 0.875rem;
  font-weight: normal;
  margin-left: 1rem;
  margin-bottom: 0;
}
.sub-nav dt a,
.sub-nav dd a,
.sub-nav li a {
  color: #999999;
  padding: 0.1875rem 1rem;
  text-decoration: none;
}
.sub-nav dt a:hover,
.sub-nav dd a:hover,
.sub-nav li a:hover {
  color: rgb(114.75, 114.75, 114.75);
}
.sub-nav dt.active a,
.sub-nav dd.active a,
.sub-nav li.active a {
  border-radius: 3px;
  background: #ffe004;
  color: #fff;
  cursor: default;
  font-weight: normal;
  padding: 0.1875rem 1rem;
}
.sub-nav dt.active a:hover,
.sub-nav dd.active a:hover,
.sub-nav li.active a:hover {
  background: rgb(222.74, 195.2302788845, 0);
}

.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.switch label {
  background: #DDDDDD;
  color: transparent;
  cursor: pointer;
  display: block;
  margin-bottom: 1rem;
  position: relative;
  text-indent: 100%;
  width: 4rem;
  height: 2rem;
  transition: left 0.15s ease-out;
}
.switch input {
  left: 10px;
  opacity: 0;
  padding: 0;
  position: absolute;
  top: 9px;
}
.switch input + label {
  margin-left: 0;
  margin-right: 0;
}
.switch label:after {
  background: #FFFFFF;
  content: "";
  display: block;
  height: 1.5rem;
  left: 0.25rem;
  position: absolute;
  top: 0.25rem;
  width: 1.5rem;
  -webkit-transition: left 0.15s ease-out;
  -moz-transition: left 0.15s ease-out;
  -o-transition: translate3d(0, 0, 0);
  transition: left 0.15s ease-out;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.switch input:checked + label {
  background: #ffe004;
}
.switch input:checked + label:after {
  left: 2.25rem;
}
.switch label {
  height: 2rem;
  width: 4rem;
}
.switch label:after {
  height: 1.5rem;
  width: 1.5rem;
}
.switch input:checked + label:after {
  left: 2.25rem;
}
.switch label {
  color: transparent;
  background: #DDDDDD;
}
.switch label:after {
  background: #FFFFFF;
}
.switch input:checked + label {
  background: #ffe004;
}
.switch.large label {
  height: 2.5rem;
  width: 5rem;
}
.switch.large label:after {
  height: 2rem;
  width: 2rem;
}
.switch.large input:checked + label:after {
  left: 2.75rem;
}
.switch.small label {
  height: 1.75rem;
  width: 3.5rem;
}
.switch.small label:after {
  height: 1.25rem;
  width: 1.25rem;
}
.switch.small input:checked + label:after {
  left: 2rem;
}
.switch.tiny label {
  height: 1.5rem;
  width: 3rem;
}
.switch.tiny label:after {
  height: 1rem;
  width: 1rem;
}
.switch.tiny input:checked + label:after {
  left: 1.75rem;
}
.switch.radius label {
  border-radius: 4px;
}
.switch.radius label:after {
  border-radius: 3px;
}
.switch.round {
  border-radius: 1000px;
}
.switch.round label {
  border-radius: 2rem;
}
.switch.round label:after {
  border-radius: 2rem;
}

table {
  background: #fafafa;
  border: solid 1px #DDDDDD;
  margin-bottom: 1.25rem;
  table-layout: auto;
}
table caption {
  background: transparent;
  color: #222222;
  font-size: 1rem;
  font-weight: bold;
}
table thead {
  background: #F5F5F5;
}
table thead tr th,
table thead tr td {
  color: #222222;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.5rem 0.625rem 0.625rem;
}
table tfoot {
  background: #F5F5F5;
}
table tfoot tr th,
table tfoot tr td {
  color: #222222;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.5rem 0.625rem 0.625rem;
}
table tr th,
table tr td {
  color: #222222;
  font-size: 0.875rem;
  padding: 0.5625rem 0.625rem;
  text-align: left;
}
table tr.even, table tr.alt, table tr:nth-of-type(even) {
  background: rgb(239.8, 239.8, 239.8);
}
table thead tr th,
table tfoot tr th,
table tfoot tr td,
table tbody tr th,
table tbody tr td,
table tr td {
  display: table-cell;
  line-height: 1.125rem;
}

.tabs:before, .tabs:after {
  content: " ";
  display: table;
}
.tabs:after {
  clear: both;
}
.tabs {
  margin-bottom: 0 !important;
  margin-left: 0;
}
.tabs dd,
.tabs .tab-title {
  float: left;
  list-style: none;
  margin-bottom: 0 !important;
  position: relative;
}
.tabs dd > a,
.tabs .tab-title > a {
  display: block;
  background-color: #EFEFEF;
  color: #222222;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 1rem;
  padding: 1rem 2rem;
}
.tabs dd > a:hover,
.tabs .tab-title > a:hover {
  background-color: rgb(224.66, 224.66, 224.66);
}
.tabs dd.active > a,
.tabs .tab-title.active > a {
  background-color: #FFFFFF;
  color: #222222;
}
.tabs.radius dd:first-child a,
.tabs.radius .tab:first-child a {
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.tabs.radius dd:last-child a,
.tabs.radius .tab:last-child a {
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.tabs.vertical dd,
.tabs.vertical .tab-title {
  position: inherit;
  float: none;
  display: block;
  top: auto;
}

.tabs-content:before, .tabs-content:after {
  content: " ";
  display: table;
}
.tabs-content:after {
  clear: both;
}
.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%;
}
.tabs-content > .content {
  display: none;
  float: left;
  padding: 0.9375rem 0;
  width: 100%;
}
.tabs-content > .content.active {
  display: block;
  float: none;
}
.tabs-content > .content.contained {
  padding: 0.9375rem;
}
.tabs-content.vertical {
  display: block;
}
.tabs-content.vertical > .content {
  padding: 0 0.9375rem;
}

@media only screen and (min-width:40.0625em) {
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%;
  }
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%;
  }
}
.no-js .tabs-content > .content {
  display: block;
  float: none;
}

/* Image Thumbnails */
.th {
  border: solid 4px #FFFFFF;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
}
.th:hover, .th:focus {
  box-shadow: 0 0 6px 1px rgba(255, 224, 4, 0.5);
}
.th {
  transition: all 200ms ease-out;
}
.th.radius {
  border-radius: 3px;
}

/* Tooltips */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  color: #333333;
  cursor: help;
  font-weight: bold;
}
.has-tip:hover, .has-tip:focus {
  border-bottom: dotted 1px rgb(116.55, 102.1553784861, 0);
  color: #ffe004;
}
.has-tip.tip-left, .has-tip.tip-right {
  float: none !important;
}

.tooltip {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.3;
  max-width: 300px;
  padding: 0.75rem;
  position: absolute;
  width: 100%;
  z-index: 1006;
  left: 50%;
}
.tooltip > .nub {
  border: solid 5px;
  border-color: transparent transparent #333333 transparent;
  display: block;
  height: 0;
  pointer-events: none;
  position: absolute;
  top: -10px;
  width: 0;
  left: 5px;
}
.tooltip > .nub.rtl {
  left: auto;
  right: 5px;
}
.tooltip.radius {
  border-radius: 3px;
}
.tooltip.round {
  border-radius: 1000px;
}
.tooltip.round > .nub {
  left: 2rem;
}
.tooltip.opened {
  border-bottom: dotted 1px rgb(116.55, 102.1553784861, 0) !important;
  color: #ffe004 !important;
}

.tap-to-close {
  color: #777777;
  display: block;
  font-size: 0.625rem;
  font-weight: normal;
}

@media only screen {
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    top: -10px;
  }
  .tooltip.tip-top > .nub {
    border-color: #333333 transparent transparent transparent;
    bottom: -10px;
    top: auto;
  }
  .tooltip.tip-left, .tooltip.tip-right {
    float: none !important;
  }
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #333333;
    left: auto;
    margin-top: -5px;
    right: -10px;
    top: 50%;
  }
  .tooltip.tip-right > .nub {
    border-color: transparent #333333 transparent transparent;
    left: -10px;
    margin-top: -5px;
    right: auto;
    top: 50%;
  }
  .tooltip.tip-override > .nub {
    border-color: transparent transparent #333333 transparent;
  }
  .tooltip.tip-override.tip-left > .nub, .tooltip.tip-override.tip-right > .nub {
    margin-top: 0;
  }
}
meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em;
}

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #fff;
}
.contain-to-grid .top-bar {
  margin-bottom: 0;
}

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0;
}
.fixed.expanded:not(.top-bar) {
  height: auto;
  max-height: 100%;
  overflow-y: auto;
  width: 100%;
}
.fixed.expanded:not(.top-bar) .title-area {
  position: fixed;
  width: 100%;
  z-index: 99;
}
.fixed.expanded:not(.top-bar) .top-bar-section {
  margin-top: 64px;
  z-index: 98;
}

.top-bar {
  background: #fff;
  height: 64px;
  line-height: 64px;
  margin-bottom: 0;
  overflow: hidden;
  position: relative;
}
.top-bar ul {
  list-style: none;
  margin-bottom: 0;
}
.top-bar .row {
  max-width: none;
}
.top-bar form,
.top-bar input,
.top-bar select {
  margin-bottom: 0;
}
.top-bar input,
.top-bar select {
  font-size: 0.75rem;
  height: 1.75rem;
  padding-bottom: 0.35rem;
  padding-top: 0.35rem;
}
.top-bar .button, .top-bar button {
  font-size: 0.75rem;
  margin-bottom: 0;
  padding-bottom: 0.4125rem;
  padding-top: 0.4125rem;
}
@media only screen and (max-width: 40em) {
  .top-bar .button, .top-bar button {
    position: relative;
    top: -1px;
  }
}
.top-bar .title-area {
  margin: 0;
  position: relative;
}
.top-bar .name {
  font-size: 16px;
  height: 64px;
  margin: 0;
}
.top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
  font-size: 1.0625rem;
  line-height: 64px;
  margin: 0;
}
.top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
  color: #828282;
  display: block;
  font-weight: normal;
  padding: 0 21.3333333333px;
  width: 75%;
}
.top-bar .toggle-topbar {
  position: absolute;
  right: 0;
  top: 0;
}
.top-bar .toggle-topbar a {
  color: #828282;
  display: block;
  font-size: 0.8125rem;
  font-weight: bold;
  height: 64px;
  line-height: 64px;
  padding: 0 21.3333333333px;
  position: relative;
  text-transform: uppercase;
}
.top-bar .toggle-topbar.menu-icon {
  margin-top: -16px;
  top: 50%;
}
.top-bar .toggle-topbar.menu-icon a span::after {
  content: "";
  display: block;
  height: 0;
  position: absolute;
  margin-top: -8px;
  top: 50%;
  right: 21.3333333333px;
  box-shadow: 0 0 0 1px #000, 0 7px 0 1px #000, 0 14px 0 1px #000;
  -webkit-box-shadow: 0 0 0 1px #000, 0 7px 0 1px #000, 0 14px 0 1px #000;
  width: 16px;
}
.top-bar .toggle-topbar.menu-icon a span:hover:after {
  box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px "";
  -webkit-box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px "";
}
.top-bar .toggle-topbar.menu-icon a {
  color: #000;
  height: 34px;
  line-height: 33px;
  padding: 0;
  position: relative;
}
.top-bar.expanded {
  background: transparent;
  height: auto;
}
.top-bar.expanded .title-area {
  background: #fff;
}
.top-bar.expanded .toggle-topbar a {
  color: #888888;
}
.top-bar.expanded .toggle-topbar a span::after {
  box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
  .top-bar.expanded .top-bar-section .dropdown {
    clip: initial;
  }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
    padding: 0;
  }
}

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  transition: left 300ms ease-out;
}
.top-bar-section ul {
  display: block;
  font-size: 16px;
  height: auto;
  margin: 0;
  padding: 0;
  width: 100%;
}
.top-bar-section .divider,
.top-bar-section [role=separator] {
  border-top: solid 1px rgb(127.5, 127.5, 127.5);
  clear: both;
  height: 1px;
  width: 100%;
}
.top-bar-section ul li {
  background: #333333;
}
.top-bar-section ul li > a {
  color: #828282;
  display: block;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 0.8125rem;
  font-weight: normal;
  padding-left: 21.3333333333px;
  padding: 12px 0 12px 21.3333333333px;
  text-transform: none;
  width: 100%;
}
.top-bar-section ul li > a.button {
  font-size: 0.8125rem;
  padding-left: 21.3333333333px;
  padding-right: 21.3333333333px;
  background-color: #ffe004;
  border-color: rgb(207.2, 181.609561753, 0);
}
.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
  background-color: rgb(207.2, 181.609561753, 0);
}
.top-bar-section ul li > a.button {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.secondary {
  background-color: #a1d3ff;
  border-color: rgb(77.8, 172.0553191489, 255);
}
.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
  background-color: rgb(77.8, 172.0553191489, 255);
}
.top-bar-section ul li > a.button.secondary {
  color: #333333;
}
.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.success {
  background-color: #43ac6a;
  border-color: rgb(53.6, 137.6, 84.8);
}
.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
  background-color: rgb(53.6, 137.6, 84.8);
}
.top-bar-section ul li > a.button.success {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.alert {
  background-color: #f04124;
  border-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
  background-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
.top-bar-section ul li > a.button.alert {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.warning {
  background-color: #f08a24;
  border-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
  background-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
.top-bar-section ul li > a.button.warning {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.info {
  background-color: #e7e7e7;
  border-color: rgb(184.8, 184.8, 184.8);
}
.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
  background-color: rgb(184.8, 184.8, 184.8);
}
.top-bar-section ul li > a.button.info {
  color: #333333;
}
.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
  color: #333333;
}
.top-bar-section ul li > button {
  font-size: 0.8125rem;
  padding-left: 21.3333333333px;
  padding-right: 21.3333333333px;
  background-color: #ffe004;
  border-color: rgb(207.2, 181.609561753, 0);
}
.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
  background-color: rgb(207.2, 181.609561753, 0);
}
.top-bar-section ul li > button {
  color: #FFFFFF;
}
.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.secondary {
  background-color: #a1d3ff;
  border-color: rgb(77.8, 172.0553191489, 255);
}
.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
  background-color: rgb(77.8, 172.0553191489, 255);
}
.top-bar-section ul li > button.secondary {
  color: #333333;
}
.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.success {
  background-color: #43ac6a;
  border-color: rgb(53.6, 137.6, 84.8);
}
.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
  background-color: rgb(53.6, 137.6, 84.8);
}
.top-bar-section ul li > button.success {
  color: #FFFFFF;
}
.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.alert {
  background-color: #f04124;
  border-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
  background-color: rgb(206.6461538462, 41.5179487179, 14.1538461538);
}
.top-bar-section ul li > button.alert {
  color: #FFFFFF;
}
.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.warning {
  background-color: #f08a24;
  border-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
  background-color: rgb(206.6461538462, 110.4, 14.1538461538);
}
.top-bar-section ul li > button.warning {
  color: #FFFFFF;
}
.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.info {
  background-color: #e7e7e7;
  border-color: rgb(184.8, 184.8, 184.8);
}
.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
  background-color: rgb(184.8, 184.8, 184.8);
}
.top-bar-section ul li > button.info {
  color: #333333;
}
.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
  color: #333333;
}
.top-bar-section ul li:hover:not(.has-form) > a {
  background-color: #555555;
  color: #000;
  background: #fff;
}
.top-bar-section ul li.active > a {
  background: #fff;
  color: #000;
}
.top-bar-section ul li.active > a:hover {
  background: #fff;
  color: #000;
}
.top-bar-section .has-form {
  padding: 21.3333333333px;
}
.top-bar-section .has-dropdown {
  position: relative;
}
.top-bar-section .has-dropdown > a:after {
  border: inset 5px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
  border-left-style: solid;
  margin-right: 21.3333333333px;
  margin-top: -4.5px;
  position: absolute;
  top: 50%;
  right: 0;
}
.top-bar-section .has-dropdown.moved {
  position: static;
}
.top-bar-section .has-dropdown.moved > .dropdown {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto;
  display: block;
  position: absolute !important;
  width: 100%;
}
.top-bar-section .has-dropdown.moved > a:after {
  display: none;
}
.top-bar-section .dropdown {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  display: block;
  padding: 0;
  position: absolute;
  top: 0;
  z-index: 99;
  left: 100%;
}
.top-bar-section .dropdown li {
  height: auto;
  width: 100%;
}
.top-bar-section .dropdown li a {
  font-weight: normal;
  padding: 8px 21.3333333333px;
}
.top-bar-section .dropdown li a.parent-link {
  font-weight: normal;
}
.top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
  margin-bottom: 0;
  margin-top: 0;
  font-size: 1.125rem;
}
.top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
  color: #828282;
  display: block;
}
.top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
  background: none;
}
.top-bar-section .dropdown li.has-form {
  padding: 8px 21.3333333333px;
}
.top-bar-section .dropdown li .button,
.top-bar-section .dropdown li button {
  top: auto;
}
.top-bar-section .dropdown label {
  color: #777777;
  font-size: 0.625rem;
  font-weight: bold;
  margin-bottom: 0;
  padding: 8px 21.3333333333px 2px;
  text-transform: uppercase;
}

.js-generated {
  display: block;
}

@media only screen and (min-width:40.0625em) {
  .top-bar:before, .top-bar:after {
    content: " ";
    display: table;
  }
  .top-bar:after {
    clear: both;
  }
  .top-bar {
    background: #fff;
    overflow: visible;
  }
  .top-bar .toggle-topbar {
    display: none;
  }
  .top-bar .title-area {
    float: left;
  }
  .top-bar .name h1 a,
  .top-bar .name h2 a,
  .top-bar .name h3 a,
  .top-bar .name h4 a,
  .top-bar .name h5 a,
  .top-bar .name h6 a {
    width: auto;
  }
  .top-bar input,
  .top-bar select,
  .top-bar .button,
  .top-bar button {
    font-size: 0.875rem;
    height: 1.75rem;
    position: relative;
    top: 0;
  }
  .top-bar .has-form > .button,
  .top-bar .has-form > button {
    font-size: 0.875rem;
    height: 1.75rem;
    position: relative;
    top: 0;
  }
  .top-bar.expanded {
    background: #fff;
  }
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 62.5rem;
  }
  .top-bar-section {
    transition: none 0 0;
    left: 0 !important;
  }
  .top-bar-section ul {
    display: inline;
    height: auto !important;
    width: auto;
  }
  .top-bar-section ul li {
    float: left;
  }
  .top-bar-section ul li .js-generated {
    display: none;
  }
  .top-bar-section li.hover > a:not(.button) {
    background-color: #555555;
    background: #fff;
    color: #000;
  }
  .top-bar-section li:not(.has-form) a:not(.button) {
    background: #fff;
    line-height: 64px;
    padding: 0 21.3333333333px;
  }
  .top-bar-section li:not(.has-form) a:not(.button):hover {
    background-color: #555555;
    background: #fff;
  }
  .top-bar-section li.active:not(.has-form) a:not(.button) {
    background: #fff;
    color: #000;
    line-height: 64px;
    padding: 0 21.3333333333px;
  }
  .top-bar-section li.active:not(.has-form) a:not(.button):hover {
    background: #fff;
    color: #000;
  }
  .top-bar-section .has-dropdown > a:after {
    border: inset 5px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
    border-top-style: solid;
    margin-top: -2.5px;
    top: 32px;
  }
  .top-bar-section .has-dropdown.moved {
    position: relative;
  }
  .top-bar-section .has-dropdown.moved > .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
  }
  .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
  .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
  .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
    border: none;
    content: "»";
    top: 0.1875rem;
    right: 5px;
  }
  .top-bar-section .dropdown {
    left: 0;
    background: transparent;
    min-width: 100%;
    top: auto;
  }
  .top-bar-section .dropdown li a {
    background: #333333;
    color: #FFFFFF;
    line-height: 64px;
    padding: 12px 21.3333333333px;
    white-space: nowrap;
  }
  .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
    background: #333333;
    color: #FFFFFF;
  }
  .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
    background-color: #555555;
    color: #000;
    background: #222222;
  }
  .top-bar-section .dropdown li label {
    background: #333333;
    white-space: nowrap;
  }
  .top-bar-section .dropdown li .dropdown {
    left: 100%;
    top: 0;
  }
  .top-bar-section > ul > .divider,
  .top-bar-section > ul > [role=separator] {
    border-right: solid 1px white;
    border-bottom: none;
    border-top: none;
    clear: none;
    height: 64px;
    width: 0;
  }
  .top-bar-section .has-form {
    background: #fff;
    height: 64px;
    padding: 0 21.3333333333px;
  }
  .top-bar-section .right li .dropdown {
    left: auto;
    right: 0;
  }
  .top-bar-section .right li .dropdown li .dropdown {
    right: 100%;
  }
  .top-bar-section .left li .dropdown {
    right: auto;
    left: 0;
  }
  .top-bar-section .left li .dropdown li .dropdown {
    left: 100%;
  }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #fff;
    color: #000;
  }
  .no-js .top-bar-section ul li:active > a {
    background: #fff;
    color: #000;
  }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
}
.text-left {
  text-align: left !important;
}

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

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

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

@media only screen and (max-width: 40em) {
  .small-only-text-left {
    text-align: left !important;
  }
  .small-only-text-right {
    text-align: right !important;
  }
  .small-only-text-center {
    text-align: center !important;
  }
  .small-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen {
  .small-text-left {
    text-align: left !important;
  }
  .small-text-right {
    text-align: right !important;
  }
  .small-text-center {
    text-align: center !important;
  }
  .small-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:40.0625em) and (max-width:64em) {
  .medium-only-text-left {
    text-align: left !important;
  }
  .medium-only-text-right {
    text-align: right !important;
  }
  .medium-only-text-center {
    text-align: center !important;
  }
  .medium-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:40.0625em) {
  .medium-text-left {
    text-align: left !important;
  }
  .medium-text-right {
    text-align: right !important;
  }
  .medium-text-center {
    text-align: center !important;
  }
  .medium-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:64.0625em) and (max-width:90em) {
  .large-only-text-left {
    text-align: left !important;
  }
  .large-only-text-right {
    text-align: right !important;
  }
  .large-only-text-center {
    text-align: center !important;
  }
  .large-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:64.0625em) {
  .large-text-left {
    text-align: left !important;
  }
  .large-text-right {
    text-align: right !important;
  }
  .large-text-center {
    text-align: center !important;
  }
  .large-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:90.0625em) and (max-width:120em) {
  .xlarge-only-text-left {
    text-align: left !important;
  }
  .xlarge-only-text-right {
    text-align: right !important;
  }
  .xlarge-only-text-center {
    text-align: center !important;
  }
  .xlarge-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:90.0625em) {
  .xlarge-text-left {
    text-align: left !important;
  }
  .xlarge-text-right {
    text-align: right !important;
  }
  .xlarge-text-center {
    text-align: center !important;
  }
  .xlarge-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:120.0625em) and (max-width:6249999.9375em) {
  .xxlarge-only-text-left {
    text-align: left !important;
  }
  .xxlarge-only-text-right {
    text-align: right !important;
  }
  .xxlarge-only-text-center {
    text-align: center !important;
  }
  .xxlarge-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:120.0625em) {
  .xxlarge-text-left {
    text-align: left !important;
  }
  .xxlarge-text-right {
    text-align: right !important;
  }
  .xxlarge-text-center {
    text-align: center !important;
  }
  .xxlarge-text-justify {
    text-align: justify !important;
  }
}
/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

/* Default Link Styles */
a {
  color: #008cba;
  line-height: inherit;
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(0, 120.4, 159.96);
}
a img {
  border: none;
}

/* Default paragraph styles */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility;
}
p.lead {
  font-size: 1.21875rem;
  line-height: 1.6;
}
p aside {
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.35;
}

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  color: #000;
  font-family: Verdana, Geneva, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  color: rgb(89.25, 89.25, 89.25);
  font-size: 60%;
  line-height: 0;
}

h1 {
  font-size: 2.125rem;
}

h2 {
  font-size: 1.6875rem;
}

h3 {
  font-size: 1.375rem;
}

h4 {
  font-size: 1.125rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

.subheader {
  line-height: 1.4;
  color: rgb(89.25, 89.25, 89.25);
  font-weight: normal;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
}

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem;
}

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 60%;
  line-height: inherit;
}

code {
  background-color: rgb(226.8, 241.8, 255);
  border-color: rgb(178.62, 219.2476595745, 255);
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

/* Lists */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem;
}

ul {
  margin-left: 1.1rem;
}

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}
ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit;
}
ul.square {
  list-style-type: square;
  margin-left: 1.1rem;
}
ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem;
}
ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem;
}

/* Ordered Lists */
ol {
  margin-left: 1.4rem;
}
ol li ul,
ol li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

.no-bullet {
  list-style-type: none;
  margin-left: 0;
}
.no-bullet li ul,
.no-bullet li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
  list-style: none;
}

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}
dl dd {
  margin-bottom: 0.75rem;
}

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #000;
  cursor: help;
}

abbr {
  text-transform: none;
}
abbr[title] {
  border-bottom: 1px dotted #DDDDDD;
}

/* Blockquotes */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD;
}
blockquote cite {
  display: block;
  font-size: 0.8125rem;
  color: rgb(58.65, 58.65, 58.65);
}
blockquote cite:before {
  content: "— ";
}
blockquote cite a,
blockquote cite a:visited {
  color: rgb(58.65, 58.65, 58.65);
}

blockquote,
blockquote p {
  line-height: 1.6;
  color: rgb(89.25, 89.25, 89.25);
}

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem;
}
.vcard li {
  margin: 0;
  display: block;
}
.vcard .fn {
  font-weight: bold;
  font-size: 0.9375rem;
}

.vevent .summary {
  font-weight: bold;
}
.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem;
}

@media only screen and (min-width:40.0625em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
  }
  h1 {
    font-size: 2.75rem;
  }
  h2 {
    font-size: 2.3125rem;
  }
  h3 {
    font-size: 1.6875rem;
  }
  h4 {
    font-size: 1.4375rem;
  }
  h5 {
    font-size: 1.125rem;
  }
  h6 {
    font-size: 1rem;
  }
}
/*
 * Print styles.
 *
 * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
 * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
*/
@media print {
  * {
    background: transparent !important;
    color: #000000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group; /* h5bp.com/t */
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.34in;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.off-canvas-wrap.move-right, .off-canvas-wrap.move-left, .off-canvas-wrap.move-bottom, .off-canvas-wrap.move-top {
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
}

.inner-wrap {
  position: relative;
  width: 100%;
}
.inner-wrap:before, .inner-wrap:after {
  content: " ";
  display: table;
}
.inner-wrap:after {
  clear: both;
}
.inner-wrap {
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}

.tab-bar {
  -webkit-backface-visibility: hidden;
  background: #333333;
  color: #FFFFFF;
  height: 2.8125rem;
  line-height: 2.8125rem;
  position: relative;
}
.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 2.8125rem;
  margin: 0;
}
.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
  font-size: 1.125rem;
}

.left-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-right: solid 1px rgb(25.5, 25.5, 25.5);
  left: 0;
}

.right-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-left: solid 1px rgb(25.5, 25.5, 25.5);
  right: 0;
}

.tab-bar-section {
  height: 2.8125rem;
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  top: 0;
}
.tab-bar-section.left {
  text-align: left;
}
.tab-bar-section.right {
  text-align: right;
}
.tab-bar-section.left {
  left: 0;
  right: 2.8125rem;
}
.tab-bar-section.right {
  left: 2.8125rem;
  right: 0;
}
.tab-bar-section.middle {
  left: 2.8125rem;
  right: 2.8125rem;
}

.tab-bar .menu-icon {
  color: #FFFFFF;
  display: block;
  height: 2.8125rem;
  padding: 0;
  position: relative;
  text-indent: 2.1875rem;
  transform: translate3d(0, 0, 0);
  width: 2.8125rem;
}
.tab-bar .menu-icon span::after {
  content: "";
  display: block;
  height: 0;
  position: absolute;
  top: 50%;
  margin-top: -0.5rem;
  left: 0.90625rem;
  box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
  -webkit-box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
  width: 1rem;
}
.tab-bar .menu-icon span:hover:after {
  box-shadow: 0 0 0 1px rgb(178.5, 178.5, 178.5), 0 7px 0 1px rgb(178.5, 178.5, 178.5), 0 14px 0 1px rgb(178.5, 178.5, 178.5);
  -webkit-box-shadow: 0 0 0 1px rgb(178.5, 178.5, 178.5), 0 7px 0 1px rgb(178.5, 178.5, 178.5), 0 14px 0 1px rgb(178.5, 178.5, 178.5);
}

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
}
.left-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}
.left-off-canvas-menu {
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  top: 0;
}

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
}
.right-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}
.right-off-canvas-menu {
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  top: 0;
}

.top-off-canvas-menu {
  -webkit-backface-visibility: hidden;
}
.top-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}
.top-off-canvas-menu {
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, -100%, 0);
  -moz-transform: translate3d(0, -100%, 0);
  -ms-transform: translate(0, -100%);
  -o-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  height: 18.75rem;
}

.bottom-off-canvas-menu {
  -webkit-backface-visibility: hidden;
}
.bottom-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}
.bottom-off-canvas-menu {
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, 100%, 0);
  -moz-transform: translate3d(0, 100%, 0);
  -ms-transform: translate(0, 100%);
  -o-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  height: 18.75rem;
}

ul.off-canvas-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul.off-canvas-list li label {
  background: #444444;
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
  color: #999999;
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  margin: 0;
  padding: 0.3rem 0.9375rem;
  text-transform: uppercase;
}
ul.off-canvas-list li a {
  border-bottom: 1px solid rgb(38.25, 38.25, 38.25);
  color: rgba(255, 255, 255, 0.7);
  display: block;
  padding: 0.6666666667rem;
  transition: background 300ms ease;
}
ul.off-canvas-list li a:hover {
  background: rgb(35.7, 35.7, 35.7);
}
ul.off-canvas-list li a:active {
  background: rgb(35.7, 35.7, 35.7);
}

.move-right > .inner-wrap {
  -webkit-transform: translate3d(15.625rem, 0, 0);
  -moz-transform: translate3d(15.625rem, 0, 0);
  -ms-transform: translate(15.625rem, 0);
  -o-transform: translate3d(15.625rem, 0, 0);
  transform: translate3d(15.625rem, 0, 0);
}
.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .move-right .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.move-left > .inner-wrap {
  -webkit-transform: translate3d(-15.625rem, 0, 0);
  -moz-transform: translate3d(-15.625rem, 0, 0);
  -ms-transform: translate(-15.625rem, 0);
  -o-transform: translate3d(-15.625rem, 0, 0);
  transform: translate3d(-15.625rem, 0, 0);
}
.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .move-left .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.move-top > .inner-wrap {
  -webkit-transform: translate3d(0, -18.75rem, 0);
  -moz-transform: translate3d(0, -18.75rem, 0);
  -ms-transform: translate(0, -18.75rem);
  -o-transform: translate3d(0, -18.75rem, 0);
  transform: translate3d(0, -18.75rem, 0);
}
.move-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .move-top .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.move-bottom > .inner-wrap {
  -webkit-transform: translate3d(0, 18.75rem, 0);
  -moz-transform: translate3d(0, 18.75rem, 0);
  -ms-transform: translate(0, 18.75rem);
  -o-transform: translate3d(0, 18.75rem, 0);
  transform: translate3d(0, 18.75rem, 0);
}
.move-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .move-bottom .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu,
.offcanvas-overlap .top-off-canvas-menu, .offcanvas-overlap .bottom-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .offcanvas-overlap .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap-left .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .offcanvas-overlap-left .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap-right .left-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .offcanvas-overlap-right .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap-top .bottom-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .offcanvas-overlap-top .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap-bottom .top-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002;
}
@media only screen and (min-width:40.0625em) {
  .offcanvas-overlap-bottom .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.no-csstransforms .left-off-canvas-menu {
  left: -15.625rem;
}
.no-csstransforms .right-off-canvas-menu {
  right: -15.625rem;
}
.no-csstransforms .top-off-canvas-menu {
  top: -18.75rem;
}
.no-csstransforms .bottom-off-canvas-menu {
  bottom: -18.75rem;
}
.no-csstransforms .move-left > .inner-wrap {
  right: 15.625rem;
}
.no-csstransforms .move-right > .inner-wrap {
  left: 15.625rem;
}
.no-csstransforms .move-top > .inner-wrap {
  right: 18.75rem;
}
.no-csstransforms .move-bottom > .inner-wrap {
  left: 18.75rem;
}

.left-submenu {
  -webkit-backface-visibility: hidden;
}
.left-submenu * {
  -webkit-backface-visibility: hidden;
}
.left-submenu {
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.left-submenu .back > a {
  background: #444;
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
  color: #999999;
  font-weight: bold;
  padding: 0.3rem 0.9375rem;
  text-transform: uppercase;
}
.left-submenu .back > a:hover {
  background: rgb(47.6, 47.6, 47.6);
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
}
.left-submenu .back > a {
  margin: 0;
}
.left-submenu .back > a:before {
  content: "«";
  margin-right: 0.5rem;
  display: inline;
}
.left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
  -webkit-transform: translate3d(0%, 0, 0);
  -moz-transform: translate3d(0%, 0, 0);
  -ms-transform: translate(0%, 0);
  -o-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

.right-submenu {
  -webkit-backface-visibility: hidden;
}
.right-submenu * {
  -webkit-backface-visibility: hidden;
}
.right-submenu {
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.right-submenu .back > a {
  background: #444;
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
  color: #999999;
  font-weight: bold;
  padding: 0.3rem 0.9375rem;
  text-transform: uppercase;
}
.right-submenu .back > a:hover {
  background: rgb(47.6, 47.6, 47.6);
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
}
.right-submenu .back > a {
  margin: 0;
}
.right-submenu .back > a:after {
  content: "»";
  margin-left: 0.5rem;
  display: inline;
}
.right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
  -webkit-transform: translate3d(0%, 0, 0);
  -moz-transform: translate3d(0%, 0, 0);
  -ms-transform: translate(0%, 0);
  -o-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

.top-submenu {
  -webkit-backface-visibility: hidden;
}
.top-submenu * {
  -webkit-backface-visibility: hidden;
}
.top-submenu {
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, -100%, 0);
  -moz-transform: translate3d(0, -100%, 0);
  -ms-transform: translate(0, -100%);
  -o-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.top-submenu .back > a {
  background: #444;
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
  color: #999999;
  font-weight: bold;
  padding: 0.3rem 0.9375rem;
  text-transform: uppercase;
}
.top-submenu .back > a:hover {
  background: rgb(47.6, 47.6, 47.6);
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
}
.top-submenu .back > a {
  margin: 0;
}
.top-submenu.move-bottom, .top-submenu.offcanvas-overlap-bottom, .top-submenu.offcanvas-overlap {
  -webkit-transform: translate3d(0, 0%, 0);
  -moz-transform: translate3d(0, 0%, 0);
  -ms-transform: translate(0, 0%);
  -o-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
}

.bottom-submenu {
  -webkit-backface-visibility: hidden;
}
.bottom-submenu * {
  -webkit-backface-visibility: hidden;
}
.bottom-submenu {
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, 100%, 0);
  -moz-transform: translate3d(0, 100%, 0);
  -ms-transform: translate(0, 100%);
  -o-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.bottom-submenu .back > a {
  background: #444;
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
  color: #999999;
  font-weight: bold;
  padding: 0.3rem 0.9375rem;
  text-transform: uppercase;
}
.bottom-submenu .back > a:hover {
  background: rgb(47.6, 47.6, 47.6);
  border-bottom: none;
  border-top: 1px solid rgb(94.18, 94.18, 94.18);
}
.bottom-submenu .back > a {
  margin: 0;
}
.bottom-submenu.move-top, .bottom-submenu.offcanvas-overlap-top, .bottom-submenu.offcanvas-overlap {
  -webkit-transform: translate3d(0, 0%, 0);
  -moz-transform: translate3d(0, 0%, 0);
  -ms-transform: translate(0, 0%);
  -o-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
}

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "»";
  margin-left: 0.5rem;
  display: inline;
}

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "«";
  margin-right: 0.5rem;
  display: inline;
}

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* medium displays */
@media only screen and (min-width:40.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* large displays */
@media only screen and (min-width:64.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* xlarge displays */
@media only screen and (min-width:90.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* xxlarge displays */
@media only screen and (min-width:120.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important;
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important;
}

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important;
}

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important;
}

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important;
}

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important;
}

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important;
  }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important;
  }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important;
  }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important;
  }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important;
  }
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important;
  }
}
@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important;
  }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important;
  }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important;
  }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important;
  }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important;
  }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important;
  }
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important;
  }
}
/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important;
}

.hide-for-touch {
  display: inherit !important;
}

.touch .show-for-touch {
  display: inherit !important;
}

.touch .hide-for-touch {
  display: none !important;
}

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important;
}

.touch table.show-for-touch {
  display: table !important;
}

thead.hide-for-touch {
  display: table-header-group !important;
}

.touch thead.show-for-touch {
  display: table-header-group !important;
}

tbody.hide-for-touch {
  display: table-row-group !important;
}

.touch tbody.show-for-touch {
  display: table-row-group !important;
}

tr.hide-for-touch {
  display: table-row !important;
}

.touch tr.show-for-touch {
  display: table-row !important;
}

td.hide-for-touch {
  display: table-cell !important;
}

.touch td.show-for-touch {
  display: table-cell !important;
}

th.hide-for-touch {
  display: table-cell !important;
}

.touch th.show-for-touch {
  display: table-cell !important;
}

/* Screen reader-specific classes */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}

.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}
.show-on-focus:focus, .show-on-focus:active {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto;
}

/* Print visibility */
.print-only,
.show-for-print {
  display: none !important;
}

@media print {
  .print-only,
  .show-for-print {
    display: block !important;
  }
  .hide-on-print,
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
}
/*@import
  "../bower_components/foundation/scss/foundation/components/accordion",
  "../bower_components/foundation/scss/foundation/components/alert-boxes",
  "../bower_components/foundation/scss/foundation/components/block-grid",
  "../bower_components/foundation/scss/foundation/components/breadcrumbs",
  "../bower_components/foundation/scss/foundation/components/button-groups",
  "../bower_components/foundation/scss/foundation/components/buttons",
  "../bower_components/foundation/scss/foundation/components/clearing",
  "../bower_components/foundation/scss/foundation/components/dropdown",
  "../bower_components/foundation/scss/foundation/components/dropdown-buttons",
  "../bower_components/foundation/scss/foundation/components/flex-video",
  "../bower_components/foundation/scss/foundation/components/forms",
  "../bower_components/foundation/scss/foundation/components/grid",
  "../bower_components/foundation/scss/foundation/components/inline-lists",
  "../bower_components/foundation/scss/foundation/components/joyride",
  "../bower_components/foundation/scss/foundation/components/keystrokes",
  "../bower_components/foundation/scss/foundation/components/labels",
  "../bower_components/foundation/scss/foundation/components/magellan",
  "../bower_components/foundation/scss/foundation/components/orbit",
  "../bower_components/foundation/scss/foundation/components/pagination",
  "../bower_components/foundation/scss/foundation/components/panels",
  "../bower_components/foundation/scss/foundation/components/pricing-tables",
  "../bower_components/foundation/scss/foundation/components/progress-bars",
  "../bower_components/foundation/scss/foundation/components/reveal",
  "../bower_components/foundation/scss/foundation/components/side-nav",
  "../bower_components/foundation/scss/foundation/components/split-buttons",
  "../bower_components/foundation/scss/foundation/components/sub-nav",
  "../bower_components/foundation/scss/foundation/components/switches",
  "../bower_components/foundation/scss/foundation/components/tables",
  "../bower_components/foundation/scss/foundation/components/tabs",
  "../bower_components/foundation/scss/foundation/components/thumbs",
  "../bower_components/foundation/scss/foundation/components/tooltips",
  "../bower_components/foundation/scss/foundation/components/top-bar",
  "../bower_components/foundation/scss/foundation/components/type",
  "../bower_components/foundation/scss/foundation/components/offcanvas",
  "../bower_components/foundation/scss/foundation/components/visibility"; */
.font-h1 {
  font-family: Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
}

/*
REDESIGN.SCSS
Custom framework */
.tooltip {
  z-index: 1006;
}

input.error, textarea.error {
  margin-bottom: 1rem;
}

span.error, small.error {
  background-color: inherit;
  font-style: normal;
  margin-top: -1rem;
  color: #ff0000;
  padding-left: 0;
}

.alert-box a.button:visited {
  text-decoration: none;
  color: #000000;
}

.alert-box a.button {
  text-decoration: none;
}

.user-block--avatar {
  border: none;
}

.user-block--message-icon {
  text-decoration: none;
}

.user-block--message-icon:hover {
  color: white;
}

footer .send-email {
  width: auto;
  padding-right: 10px;
}

/*ul {*/
/*margin-left: 3rem;*/
/*}*/
/* framework END */
.margin-after-header {
  margin-top: 12px;
}

.right-chat, .right-block {
  padding-top: 12px;
}

.right-chat .chat-menu {
  border: 1px solid #ddd;
  border-left: 0;
  width: 20px;
  padding-right: 4px;
  padding-left: 3px;
  margin: 0;
  background-color: white;
}

.chat_window {
  height: 400px;
  overflow-x: auto;
  overflow-y: auto;
  padding: 0 4px;
  background-color: white;
  border: 1px solid #ddd;
}
.chat_window .user-name {
  margin-bottom: 3px;
  font-size: 0.75rem;
}
.chat_window .bubble {
  word-wrap: break-word;
  margin-bottom: 6px;
  font-size: 0.75rem;
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 4px;
  background-color: white;
  border: #ddd solid 1px;
  border-radius: 3px;
}
.chat_window .bubble:after {
  content: "";
  position: absolute;
  top: -7px;
  left: 10px;
  border-style: solid;
  border-width: 0 9px 7px;
  border-color: white transparent;
  display: block;
  width: 0;
  z-index: 1;
}
.chat_window .bubble:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 10px;
  border-style: solid;
  border-width: 0 9px 7px;
  border-color: #ddd transparent;
  display: block;
  width: 0;
  z-index: 0;
}

/* Block Chat END */
/**
 * Private Chat Begin
 * @see http://html-generator.weebly.com/css-speech-bubble-generator.html
 */
.chat-private .users-list, .chat-private .friend-list {
  height: 400px;
  overflow-y: auto;
  overflow-x: visible;
  width: 100%;
  border: #ddd solid 1px;
  border-right: none;
  margin-top: -1px;
}

.chat-private .users-list .click-zone {
  width: 80%;
  height: 37px;
  margin-left: 35px;
  position: absolute;
  cursor: pointer;
}

.user-chat {
  position: relative;
  padding: 7px 8px 0 10px;
}

.current-chat {
  background: #ffe004;
}

.chat_window .noread {
  background: url(/build/images/noread.190e398e.png) repeat-x left top;
}

.chat-private .friend-list {
  border-right: solid 1px;
  border-left: none;
  padding-top: 3px;
  padding-left: 5px;
}

/* Private Chat END */
/*MENU */
.cabinet-bar {
  width: 100%;
  font-size: 1rem;
  display: inline-block;
  height: 100%;
}

.cabinet-bar a {
  width: 100%;
  color: #000000;
}

.cabinet-bar span {
  margin-left: -5px;
  margin-right: 12px;
}

.cabinet-bar > * {
  margin: 0 auto;
  display: block;
  padding: 0.75rem;
  float: left;
}

.cabinet-bar > *:hover, .cabinet-bar .active {
  background: #ffe004;
}

/* Menu END */
/*Для всплывающей подсказки*/
#jquery-stickers {
  z-index: 3;
}

.stick a.close {
  color: #ffffff;
  text-decoration: none;
  padding-left: 10px;
}

#load {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
}
#load.list {
  right: auto;
  top: 15px;
  left: 0;
}

#socketServer {
  position: absolute;
  left: -2000px;
  top: -2000px;
}

#tournamentTree {
  overflow: hidden;
}
#tournamentTree div span {
  width: 150px;
  height: 30px;
  border: 1px solid #ddd;
}

.user-data-about {
  padding: 3px;
  width: 100%;
}
.user-data-about img {
  border: 0;
  margin: 4px;
  vertical-align: middle;
  max-width: 200px;
  max-height: 200px;
}

/* Lists */
.table-list-new td {
  padding: 1px;
}

.games-group-list {
  padding: 3px;
  padding-left: 12px;
  background: #f5f5f5;
  border: 1px solid #ddd;
  font-size: 0.9rem;
  border-top: none;
}

table.table-list {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
}

table.game-params {
  margin-bottom: 0;
  width: 100%;
}

table.game-params td {
  padding: 5px 2px;
}

tr.list-first-line td {
  padding: 1px 5px;
}

tr.list-middle-line td {
  padding: 1px 5px;
}

tr.list-second-line td {
  padding: 1px 5px;
}

tr.list-second-line {
  border-bottom: 2px solid #ddd;
}

#current-list td .button {
  margin-bottom: 0;
  padding: 10px;
  color: #ffffff;
}

.buttonset .o {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-right: 1px solid #4eacff;
  margin: 0;
  height: 30px;
  line-height: 30px;
  padding: 0 12px;
}
.buttonset .o:hover, .buttonset .o.checked, .buttonset .o:active {
  background: #4eacff;
  color: #000000;
}
.buttonset .o.disabled {
  background-color: #a1d3ff;
  border-color: #4eacff;
  color: #333333;
  cursor: default;
  opacity: 0.7;
}
.buttonset .o.disabled:hover {
  color: #333333;
}
.buttonset .o span {
  display: none;
}
.buttonset .first {
  border-radius: 3px 0 0 3px;
}
.buttonset .last {
  border-radius: 0 3px 3px 0;
  border-right: none;
}
.buttonset.vertical .o.checked {
  border-radius: 3px;
}
.buttonset.vertical .o.checked span {
  float: right;
  display: inline-block;
  padding-top: 18px;
}
.buttonset.wide {
  position: absolute;
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 15px;
  padding-right: 5px;
  margin-top: -15px;
  margin-left: -15px;
  z-index: 5;
  border-radius: 3px;
}
.buttonset.wide .o {
  border: none;
  border-bottom: 1px solid #4eacff;
}
.buttonset.vertical.wide .o.checked {
  border-radius: 0;
}
.buttonset.vertical.wide .o.checked span {
  display: none;
}
.buttonset.wide .first, .buttonset.vertical.wide .o.checked.first {
  border-radius: 3px 3px 0 0;
}
.buttonset.wide .last, .buttonset.vertical.wide .o.checked.last {
  border-bottom: none;
  border-radius: 0 0 3px 3px;
}

.progress-stacked {
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  min-width: 100px;
  clear: both;
  height: 27px;
}
.progress-stacked .progress {
  margin: 0;
  padding: 2px 0;
  display: inline-block;
  border: none;
  float: left;
}
.progress-stacked .progress .meter {
  width: 100%;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-size: 0.75rem;
  text-align: center;
}

.progress.warning .meter {
  background-color: #f0ad4e;
}

.rolling-double-cube {
  transform-style: preserve-3d;
  transform-origin: 21px 21px 0;
  animation: double-cube-roll 8s ease-in-out infinite;
  -webkit-animation: double-cube-roll 8s ease-in-out infinite;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: auto;
  display: inline-block;
  width: 60px;
  height: 60px;
}
.rolling-double-cube div {
  position: absolute;
  background: #f5f5f5 url(/build/images/cube-double-face.6176ccdf.png) no-repeat;
  width: 42px;
  height: 42px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  line-height: 42px;
  text-shadow: 0 0 1px #000;
  border-radius: 2px;
}
.rolling-double-cube .face1 {
  transform: translateZ(21px);
}
.rolling-double-cube .face2 {
  transform: rotateY(90deg) translateZ(21px);
}
.rolling-double-cube .face3 {
  transform: rotateY(-90deg) rotateX(90deg) translateZ(21px);
}
.rolling-double-cube .face4 {
  transform: rotateY(180deg) rotateZ(90deg) translateZ(21px);
}
.rolling-double-cube .face5 {
  transform: rotateY(-90deg) rotateZ(90deg) translateZ(21px);
}
.rolling-double-cube .face6 {
  transform: rotateX(-90deg) translateZ(21px);
}

@keyframes double-cube-roll {
  from {
    transform: rotateX(-13deg) rotateY(45deg);
  }
  50% {
    transform: rotateX(780deg) rotateY(-200deg);
  }
  to {
    transform: rotateX(-13deg) rotateY(45deg);
  }
}
@-webkit-keyframes double-cube-roll {
  from {
    transform: rotateX(-13deg) rotateY(45deg);
  }
  50% {
    transform: rotateX(780deg) rotateY(-200deg);
  }
  to {
    transform: rotateX(-13deg) rotateY(45deg);
  }
}
.promo-background {
  -webkit-transition-property: background-position;
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition-property: background-position;
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: ease-in-out;
  -o-transition-property: background-position;
  -o-transition-duration: 1s;
  -o-transition-timing-function: ease-in-out;
  transition-property: background-position;
  transition-duration: 1s;
  transition-timing-function: ease-in-out;
  background-position: 50% 50%, 50% 50%, 50% 50%;
}

.no-shadow {
  box-shadow: none;
}

.stars-review {
  margin-bottom: 10px;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.stars-review span {
  padding: 5px;
  margin-right: -6px;
  color: #ffe004;
  font-size: 20px;
}

.highlight {
  background-image: linear-gradient(to bottom, #ffffee 0%, #ffffcc 100%) !important;
}

.highlight-clicked {
  background-image: linear-gradient(to bottom, #ffffcc 0%, #ffffbb 100%) !important;
}

.winner,
.winner.highlight,
.winner .over {
  background-image: linear-gradient(to bottom, #D9CAF8 0%, #C0A4FA 100%) !important;
}

.over {
  background-image: linear-gradient(to bottom, #f4fff4 0%, #e5ffe5 100%) !important;
}

.highlight .over,
.highlight.over {
  background-image: linear-gradient(to bottom, #ffffaa 0%, #d5ffd5 100%) !important;
}

.extra-round,
.highlight .extra-round {
  background-image: linear-gradient(to bottom, #ffe1d0 0%, #ffebe0 100%) !important;
}

tr.user-score {
  cursor: pointer;
}
tr.user-score .obligated {
  display: none;
}
tr.user-score .played {
  display: none;
}
tr.user-score .points-small {
  max-height: 16px;
  max-width: 16px;
  display: inline-block;
  margin-top: -5px;
}
tr.user-score .points {
  max-height: 20px;
  max-width: 20px;
  margin-top: -5px;
}

.plain-progress {
  display: inline-block;
  position: relative;
  padding: 3px 1px;
}

.plain-progress .meter-full {
  position: absolute;
  width: 100%;
  display: inline-block;
  height: 2px;
  bottom: 0;
  left: 0;
  background: #e7e7e7;
  -webkit-box-shadow: 0 0 1px #777;
  -moz-box-shadow: 0 0 1px #777;
  box-shadow: 0 0 1px #777;
}

.plain-progress .meter {
  position: absolute;
  width: 75%;
  display: inline-block;
  height: 2px;
  bottom: 0;
  left: 0;
  background: #ffe004;
}
.plain-progress .meter.success {
  background: #43ac6a;
}
.plain-progress .meter.alert {
  background: #f04124;
}
.plain-progress .meter.warning {
  background: #f08a24;
}
.plain-progress .meter.info {
  background: #e7e7e7;
}

/*------------------------------------*\
    #BASE STYLE
\*------------------------------------*/
body {
  min-width: 320px;
}
body.site-main {
  background-color: #fafafa;
}

main {
  min-height: 100%;
  margin: 0;
  padding: 0;
}

/**
 * Stick footer
 */
html,
body {
  height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2 {
  font-family: Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
}

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: normal;
  font-style: normal;
  color: #000;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.h1 {
  font-size: 2.125rem;
}

.h2 {
  font-size: 1.6875rem;
}

.h3 {
  font-size: 1.375rem;
}

.h4 {
  font-size: 1.125rem;
}

.h5 {
  font-size: 1.125rem;
}

.h6 {
  font-size: 1rem;
}

.page-wrap {
  min-height: 100%;
  /* equal to footer height */
  margin-bottom: -183px;
}

.page-wrap:after {
  content: "";
  display: block;
}

.site-footer,
.page-wrap:after {
  /* .push must be the same height as footer */
  height: 183px;
}

.site-footer {
  background: #000;
}

table {
  table-layout: auto;
}

.breadcrumbs {
  margin-top: 4px;
  margin-bottom: -15px;
  padding-left: 0;
  display: inline-block;
  background: none;
  border: none;
}

ul.pagination li.current a, ul.pagination li.current button {
  color: #000;
}

/*------------------------------------*\
    #HEADER NAVIGATION BAR
\*------------------------------------*/
/**
 * Fixed navigation bar.
 * Add this class ".nav-bar-fixed" to body tag to fixed top navigation block
 */
.nav-bar-fixed .header-navigation {
  position: fixed;
  z-index: 20;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/**
 * Logotype style
 */
.top-bar .name {
  display: inline-block;
  line-height: 60px;
  margin-right: 0px;
  margin-left: 10px;
}

/**
 * Added separator in right menu
 */
.top-bar-section .right.user,
.top-bar-section .left {
  float: none !important;
}
.top-bar-section .user-block {
  position: relative;
  width: auto;
  display: block;
}
.top-bar-section .user-block--wrap {
  margin: 0 20px;
}
.top-bar-section .registration {
  position: relative;
}
.top-bar-section .registration:before {
  content: "|";
  position: absolute;
  top: 18px;
  right: 0;
}

/**
 * Auth user block
 */
.user {
  position: relative;
}

.header-navigation .user-block--menu-list {
  display: block;
}
.header-navigation .user-block--menu-list .user-block-active-user {
  font-weight: 700 !important;
  color: #000;
}
.header-navigation .user-block--menu-list li {
  background-color: transparent;
  float: none;
}
.header-navigation .user-block--menu-list li:nth-child(1) a.user-block--link {
  color: #000;
  font-weight: 700;
}
.header-navigation .user-block--menu-list li:hover {
  background-color: #3fb37f;
}
.header-navigation .user-block--menu-list li:hover a.user-block--link {
  border-color: transparent;
  background-color: transparent;
  color: #fff;
}
.header-navigation .user-block--menu-list li a.user-block--link {
  display: block;
  font: 0.75rem Verdana, Geneva, sans-serif;
  border-bottom: 1px solid #c6c6c6;
  background-color: transparent;
  padding: 6px 10px;
  line-height: 1.2;
}
.header-navigation .user-block--menu-list li a.user-block--link:hover {
  background-color: transparent;
}
.header-navigation .user-block--menu-list li.last a {
  border: none;
}

/**
 * Currency and avatar
 */
.user-block--avatar {
  margin: 3px 0 0 10px;
  float: right;
  border-radius: 100%;
  border: 1px solid #dadada;
  width: 58px;
  height: 58px;
  overflow: hidden;
  position: relative;
}

.user-block--message-icon {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: #3fb37f;
  font-size: 10px;
  display: block;
  line-height: 20px;
  text-align: center;
  color: #fff;
  top: 5px;
  right: 15px;
}

.user-block--currency,
.user-block--avatar {
  display: inline-block;
  vertical-align: middle;
}
.user-block--currency img,
.user-block--avatar img {
  vertical-align: top;
}

.user-block--currency-chips {
  margin-right: 10px;
  color: #ff0000;
}

.user-block--currency-money {
  color: #6ea622;
}

.user-block--currency-chips,
.user-block--currency-money {
  height: 23px;
  line-height: 22px;
  display: inline-block;
}

/**
 * Descktop wide
 */
@media only screen and (min-width:40.0625em) {
  .collapse .user-block--menu {
    display: none;
  }
  .top-bar-section .user-block {
    position: absolute;
    z-index: 10;
    width: 220px;
    right: 0;
    background-color: #fff;
    font-size: 12px;
  }
  .top-bar-section .user-block--wrap {
    height: 63px;
    margin: 0;
    position: relative;
  }
  .top-bar-section .user-block--wrap:after {
    content: "";
    position: absolute;
    display: block;
    height: 0;
    top: 50%;
    margin-top: -8px;
    right: 21.33333px;
    box-shadow: 0 0px 0 1px #666, 0 7px 0 1px #666, 0 14px 0 1px #666;
    width: 16px;
    right: 10px;
  }
  .user-block--avatar {
    float: none;
  }
  .user-block--message-icon {
    right: 42px;
  }
  .user-block--currency {
    margin-right: 20px;
    margin: 7px 20px 0 0;
    position: relative;
  }
  .user-block--currency:before {
    content: "|";
    position: absolute;
    font-size: 1.25rem;
    color: #c4c4c4;
    right: -24px;
    top: -12px;
  }
  .user-block--currency,
  .user-block--avatar {
    vertical-align: top;
  }
  .user-block--currency img,
  .user-block--avatar img {
    vertical-align: top;
  }
  .user-block--currency-chips {
    margin-bottom: 5px;
    color: #ff0000;
  }
  .user-block--currency-chips,
  .user-block--currency-money {
    height: 23px;
    line-height: 22px;
    display: block;
  }
}
/*------------------------------------*\
  #MENU
\*------------------------------------*/
/**
 * Override font for our menu
 */
.top-bar-section ul li > a {
  font: 1.0625rem Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
}

/**
 * Add bottom border for active item of menu
 */
.top-bar-section .left .active a {
  border-bottom: 2px solid #000;
}
.top-bar-section .left a {
  line-height: 62px !important;
  padding: 0 10px !important;
}
.top-bar-section .left a:hover {
  border-bottom: 2px solid #000;
}

/**
 * Reduce padding for logo and menu items on 768px
 */
@media screen and (max-width: 48em) {
  .title-area .name {
    margin-right: 0;
  }
  .top-bar-section .left a {
    padding: 0 10px !important;
  }
}
/* Custom framework */
.tooltip {
  z-index: 1006;
}

input.error, textarea.error {
  margin-bottom: 1rem;
}

span.error, small.error {
  background-color: inherit;
  font-style: normal;
  margin-top: -1rem;
  color: #ff0000;
  padding-left: 0;
}

label small {
  text-transform: none;
}

#css-tests {
  display: none;
}

.hidden {
  visibility: hidden !important;
}

html.no-svg .svg {
  display: none !important;
}

html.svg .non-svg {
  display: none !important;
}
html.svg .svgicon-fishki,
html.svg .svgicon-money {
  background-image: url(/build/images/sprite.de4610d0.svg);
}
html.svg .svgicon-fishki,
html.svg .svgicon-money {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
}
html.svg .svgicon-fishki.tiny,
html.svg .svgicon-money.tiny {
  -ms-transform: scale(0.5, 0.5); /* IE 9 */
  -webkit-transform: scale(0.5, 0.5); /* Safari */
  transform: scale(0.5, 0.5);
}
html.svg .svgicon-fishki {
  background-position: -10px -65px;
}
html.svg .svgicon-money {
  background-position: -40px -65px;
}

html.no-svg .svgicon-fishki,
html.no-svg .svgicon-money {
  background-image: url(/build/images/sprite.d2828657.png);
}
html.no-svg .svgicon-fishki,
html.no-svg .svgicon-money {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
}
html.no-svg .svgicon-fishki.tiny,
html.no-svg .svgicon-money.tiny {
  -ms-transform: scale(0.5, 0.5); /* IE 9 */
  -webkit-transform: scale(0.5, 0.5); /* Safari */
  transform: scale(0.5, 0.5);
}
html.no-svg .svgicon-fishki {
  background-position: -59px 0px;
}
html.no-svg .svgicon-money {
  background-position: -59px -24px;
}

.svgicon-fishki + mark, .svgicon-chips + mark, mark.chips {
  color: #ff0000;
  background-color: transparent;
}

.svgicon-money + mark, mark.money {
  color: #6ea622;
  background-color: transparent;
}

.emoji {
  font-size: 35px;
  vertical-align: middle;
  padding: 0;
  margin: -4px 0 -8px;
  line-height: 25px;
}

.bubble .emoji {
  font-size: 26px;
}

/**
 * Clear table class
 */
table.blank-table {
  border: none;
  margin: 0;
  padding: 0;
}
table.blank-table thead {
  background-color: transparent;
}
table.blank-table tr:nth-of-type(even), table.blank-table tr.alt, table.blank-table tr.even {
  background-color: transparent;
}
table.blank-table td,
table.blank-table th {
  padding: 0;
}

.red {
  color: #ff0000;
}

.important {
  color: #C66300;
}

.primary {
  color: #ffe004;
}

.font-primary {
  color: #ffe004;
}

.gold {
  color: #C66300;
}

.hint {
  color: gray;
}

.hint.medium, .hint-medium {
  color: #b7b7b7;
}

.hint.tiny, .hint-tiny {
  color: #dddddd;
}

.black {
  color: #000000;
}

.white {
  color: #fff;
}

.font-success {
  color: #43ac6a;
}

.font-yellow {
  color: #ffe004;
}

.font-shadow {
  text-shadow: 1px 1px 1px #333;
}

.font-money {
  color: #6ea622;
}

.font-warning {
  color: #ff6600;
}

.font-alert {
  color: #ff0000 !important;
}

.font-secondary {
  color: #4eacff;
}

img.circle {
  border-radius: 50%;
  max-width: 30px;
  min-width: 30px;
}

img.circle-big {
  border-radius: 50%;
  max-width: 60px;
  min-width: 60px;
}

img.circle-large {
  border-radius: 50%;
  max-width: 120px;
  min-width: 120px;
}

.font-tiny {
  font-size: 0.5rem;
}

.font-small {
  font-size: 0.75rem;
}

.font-normal {
  font-size: 1rem;
}

.font-medium-2 {
  font-size: 1.125rem;
}

.font-medium {
  font-size: 1.25rem;
}

.font-large {
  font-size: 1.5rem;
}

.font-xlarge {
  font-size: 2rem;
}

.font-xxlarge {
  font-size: 2.5rem;
}

.font-huge {
  font-size: 3.5rem;
  vertical-align: middle;
}

.w50 {
  width: 50px !important;
}

.w100 {
  width: 100px !important;
}

.w120 {
  width: 120px !important;
}

.w150 {
  width: 150px !important;
}

.w200 {
  width: 200px !important;
}

.w250 {
  width: 250px !important;
}

.w300 {
  width: 300px !important;
}

.w350 {
  width: 350px !important;
}

.w400 {
  width: 400px !important;
}

.w500 {
  width: 500px !important;
}

.wFull {
  width: 100% !important;
}

select {
  width: auto;
  padding-right: 20px;
}

.no-padding {
  padding: 0 !important;
}

.x-translate-90 {
  -webkit-transform: translateX(-90px);
  -moz-transform: translateX(-90px);
  -ms-transform: translateX(-90px);
  -o-transform: translateX(-90px);
  transform: translateX(-90px);
}

@media only screen and (max-width: 40em) {
  .hide-on-small {
    display: none;
  }
}
a.external {
  background: 0 60% url(/build/images/external.5744c5be.png) no-repeat;
  padding-left: 12px;
} /*icon-newtab*/
.card-mini, .mini {
  margin: 0;
  vertical-align: middle;
  display: inline-block;
  width: 18px;
  height: 25px;
  position: relative;
  background: url(/build/images/mini_1.72d367e3.gif) no-repeat -234px -100px;
}

.mini_card_pref {
  margin: 0;
  vertical-align: middle;
  display: inline-block;
  width: 30px;
  height: 25px;
  background: url(/build/images/mini_pref.8a69afb2.gif) no-repeat;
}

#scrollup {
  display: none;
  opacity: 0.5;
  position: fixed;
  right: 90px;
  bottom: 45px;
  z-index: 3;
  padding: 10px;
  color: #ffffff;
}

@media only screen and (max-width: 40em) {
  #scrollup {
    bottom: -100px;
  }
}
.autocomplete-suggestions {
  border: 1px solid #ddd;
  background: white;
  cursor: default;
  text-align: left;
  max-height: 350px;
  overflow: auto;
  margin: -1px 0 0 0;
}

.autocomplete-suggestions .autocomplete-selected {
  background: #ffe004;
  cursor: pointer;
  color: white;
}

.autocomplete-suggestions div {
  padding: 2px 5px;
  white-space: nowrap;
  overflow: hidden;
  color: #ffe004;
}

.autocomplete-suggestions strong {
  font-weight: normal;
  color: rgb(220.15, 192.9601593625, 0);
}

.doubling-cube {
  background: #f5f5f5 url(/build/images/cube-double-face.6176ccdf.png) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 42px;
  height: 42px;
  font-size: 18px;
  color: #fff;
  text-align: center;
  line-height: 42px;
  text-shadow: 0 0 1px #000;
  border-radius: 1px;
  user-select: none;
}
.doubling-cube.small {
  line-height: 21px;
  width: 21px;
  height: 21px;
  font-size: 10px;
}
.doubling-cube.round {
  border-radius: 3px;
}

.rolling-double-cube {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-origin: 21px 21px 0;
  -moz-transform-origin: 21px 21px 0;
  -ms-transform-origin: 21px 21px 0;
  -o-transform-origin: 21px 21px 0;
  transform-origin: 21px 21px 0;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: auto;
  display: inline-block;
  width: 60px;
  height: 60px;
}
.rolling-double-cube div {
  position: absolute;
  background: url(/build/images/cube-double-face.6176ccdf.png) no-repeat;
  width: 42px;
  height: 42px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  line-height: 42px;
  text-shadow: 0 0 1px #000;
  border-radius: 2px;
}
.rolling-double-cube .face1 {
  -webkit-transform: translateZ(21px);
  -moz-transform: translateZ(21px);
  -ms-transform: translateZ(21px);
  -o-transform: translateZ(21px);
  transform: translateZ(21px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.rolling-double-cube .face2 {
  -webkit-transform: rotateY(90deg) translateZ(21px);
  -moz-transform: rotateY(90deg) translateZ(21px);
  -ms-transform: rotateY(90deg) translateZ(21px);
  -o-transform: rotateY(90deg) translateZ(21px);
  transform: rotateY(90deg) translateZ(21px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.rolling-double-cube .face3 {
  -webkit-transform: rotateY(-90deg) rotateX(90deg) translateZ(21px);
  -moz-transform: rotateY(-90deg) rotateX(90deg) translateZ(21px);
  -ms-transform: rotateY(-90deg) rotateX(90deg) translateZ(21px);
  -o-transform: rotateY(-90deg) rotateX(90deg) translateZ(21px);
  transform: rotateY(-90deg) rotateX(90deg) translateZ(21px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.rolling-double-cube .face4 {
  -webkit-transform: rotateY(180deg) rotateZ(90deg) translateZ(21px);
  -moz-transform: rotateY(180deg) rotateZ(90deg) translateZ(21px);
  -ms-transform: rotateY(180deg) rotateZ(90deg) translateZ(21px);
  -o-transform: rotateY(180deg) rotateZ(90deg) translateZ(21px);
  transform: rotateY(180deg) rotateZ(90deg) translateZ(21px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.rolling-double-cube .face5 {
  -webkit-transform: rotateY(-90deg) rotateZ(90deg) translateZ(21px);
  -moz-transform: rotateY(-90deg) rotateZ(90deg) translateZ(21px);
  -ms-transform: rotateY(-90deg) rotateZ(90deg) translateZ(21px);
  -o-transform: rotateY(-90deg) rotateZ(90deg) translateZ(21px);
  transform: rotateY(-90deg) rotateZ(90deg) translateZ(21px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.rolling-double-cube .face6 {
  -webkit-transform: rotateX(-90deg) translateZ(21px);
  -moz-transform: rotateX(-90deg) translateZ(21px);
  -ms-transform: rotateX(-90deg) translateZ(21px);
  -o-transform: rotateX(-90deg) translateZ(21px);
  transform: rotateX(-90deg) translateZ(21px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.rolling-double-cube.faced0 {
  -webkit-transform: rotateX(-144deg) rotateY(-99deg) scaleX(0.5) scaleY(0.5) scaleZ(0.5);
  -moz-transform: rotateX(-144deg) rotateY(-99deg) scaleX(0.5) scaleY(0.5) scaleZ(0.5);
  -ms-transform: rotateX(-144deg) rotateY(-99deg) scaleX(0.5) scaleY(0.5) scaleZ(0.5);
  -o-transform: rotateX(-144deg) rotateY(-99deg) scaleX(0.5) scaleY(0.5) scaleZ(0.5);
  transform: rotateX(-144deg) rotateY(-99deg) scaleX(0.5) scaleY(0.5) scaleZ(0.5);
}
.rolling-double-cube.faced1 {
  -webkit-transform: translateZ(21px);
  -moz-transform: translateZ(21px);
  -ms-transform: translateZ(21px);
  -o-transform: translateZ(21px);
  transform: translateZ(21px);
}
.rolling-double-cube.faced2 {
  -webkit-transform: rotateY(-90deg);
  -moz-transform: rotateY(-90deg);
  -ms-transform: rotateY(-90deg);
  -o-transform: rotateY(-90deg);
  transform: rotateY(-90deg);
}
.rolling-double-cube.faced3 {
  -webkit-transform: rotateY(90deg) rotateZ(-90deg);
  -moz-transform: rotateY(90deg) rotateZ(-90deg);
  -ms-transform: rotateY(90deg) rotateZ(-90deg);
  -o-transform: rotateY(90deg) rotateZ(-90deg);
  transform: rotateY(90deg) rotateZ(-90deg);
}
.rolling-double-cube.faced4 {
  -webkit-transform: rotateY(180deg) rotateZ(90deg);
  -moz-transform: rotateY(180deg) rotateZ(90deg);
  -ms-transform: rotateY(180deg) rotateZ(90deg);
  -o-transform: rotateY(180deg) rotateZ(90deg);
  transform: rotateY(180deg) rotateZ(90deg);
}
.rolling-double-cube.faced-1, .rolling-double-cube.faced5 {
  -webkit-transform: rotateY(90deg) rotateX(90deg);
  -moz-transform: rotateY(90deg) rotateX(90deg);
  -ms-transform: rotateY(90deg) rotateX(90deg);
  -o-transform: rotateY(90deg) rotateX(90deg);
  transform: rotateY(90deg) rotateX(90deg);
}
.rolling-double-cube.faced6 {
  -webkit-transform: rotateX(90deg);
  -moz-transform: rotateX(90deg);
  -ms-transform: rotateX(90deg);
  -o-transform: rotateX(90deg);
  transform: rotateX(90deg);
}

.game-cube {
  background-image: url(/build/images/sprite.2119908c.png);
  width: 36px;
  height: 37px;
  background-position: 100px 100px;
  display: inline-block;
}
.game-cube.doubles {
  -webkit-transform: scaleX(1.25) scaleY(1.25);
  -moz-transform: scaleX(1.25) scaleY(1.25);
  -ms-transform: scaleX(1.25) scaleY(1.25);
  -o-transform: scaleX(1.25) scaleY(1.25);
  transform: scaleX(1.25) scaleY(1.25);
}
.game-cube.small {
  -webkit-transform: scaleX(0.5) scaleY(0.5);
  -moz-transform: scaleX(0.5) scaleY(0.5);
  -ms-transform: scaleX(0.5) scaleY(0.5);
  -o-transform: scaleX(0.5) scaleY(0.5);
  transform: scaleX(0.5) scaleY(0.5);
  margin: -7px;
}
.game-cube.half-used {
  opacity: 0.9;
}
.game-cube.used {
  opacity: 0.4;
}

.cube-white-1 {
  background-position: 0px -305px;
}

.cube-white-2 {
  background-position: -36px -305px;
}

.cube-white-3 {
  background-position: -72px -305px;
}

.cube-white-4 {
  background-position: -108px -305px;
}

.cube-white-5 {
  background-position: -144px -305px;
}

.cube-white-6 {
  background-position: -180px -305px;
}

.cube-red-1 {
  background-position: 0px -342px;
}

.cube-red-2 {
  background-position: -36px -342px;
}

.cube-red-3 {
  background-position: -72px -342px;
}

.cube-red-4 {
  background-position: -108px -342px;
}

.cube-red-5 {
  background-position: -144px -342px;
}

.cube-red-6 {
  background-position: -180px -342px;
}

.cube-black-1 {
  background-position: 0px -379px;
}

.cube-black-2 {
  background-position: -36px -379px;
}

.cube-black-3 {
  background-position: -72px -379px;
}

.cube-black-4 {
  background-position: -108px -379px;
}

.cube-black-5 {
  background-position: -144px -379px;
}

.cube-black-6 {
  background-position: -180px -379px;
}

/*------------------------------------*\
  #SVG ICONS
\*------------------------------------*/
/**
 * SVG icon in user block in nav bar
 */
html.svg .s {
  background-image: url(/build/images/sprite.de4610d0.svg);
}
html.svg .user-block--currency-chips .s {
  background-position: -10px -65px;
}
html.svg .user-block--currency-money .s {
  background-position: -40px -65px;
}
html.svg .user-block--currency-chips .s,
html.svg .user-block--currency-money .s {
  margin-right: 10px;
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: top;
}
html.svg .user-block--menu-list .s {
  width: 21px;
  height: 21px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
html.svg .s-user-icon {
  background-position: -74px -91px;
}
html.svg .s-message {
  background-position: -74px -121px;
}
html.svg .s-account {
  background-position: -72px -152px;
}
html.svg .s-exit {
  background-position: -72px -183px;
}
html.svg .user-block--menu-item:hover .s-user-icon {
  background-position: -103px -91px;
}
html.svg .user-block--menu-item:hover .s-message {
  background-position: -103px -121px;
}
html.svg .user-block--menu-item:hover .s-account {
  background-position: -101px -152px;
}
html.svg .user-block--menu-item:hover .s-exit {
  background-position: -101px -183px;
}

/**
 * PNG icon fallback
 */
html.no-svg .s {
  background-image: url(/build/images/sprite.d2828657.png);
}
html.no-svg .user-block--currency-chips .s,
html.no-svg .user-block--currency-money .s {
  margin-right: 10px;
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: top;
}
html.no-svg .user-block--currency-chips .s {
  background-position: -59px 0px;
}
html.no-svg .user-block--currency-money .s {
  background-position: -59px -24px;
}
html.no-svg .user-block--menu-list .s {
  width: 21px;
  height: 21px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
html.no-svg .s-user-icon {
  background-position: 0 2px;
}
html.no-svg .s-message {
  background-position: 0px -30px;
}
html.no-svg .s-account {
  background-position: 2px -60px;
}
html.no-svg .s-exit {
  background-position: 4px -91px;
}
html.no-svg .user-block--menu-item:hover .s-user-icon {
  background-position: -25px 2px;
}
html.no-svg .user-block--menu-item:hover .s-message {
  background-position: -24px -30px;
}
html.no-svg .user-block--menu-item:hover .s-account {
  background-position: -23px -60px;
}
html.no-svg .user-block--menu-item:hover .s-exit {
  background-position: -22px -91px;
}

.refill-timer {
  border-radius: 2px;
  padding: 1px 8px;
  position: absolute;
  width: 40px;
  height: 3px;
  top: 9px;
  background-image: linear-gradient(to right, #92ec16 50%, #000000 50%);
  -webkit-box-shadow: 0 1px 2px #000;
  -moz-box-shadow: 0 1px 2px #000;
  box-shadow: 0 1px 2px #000;
}

/**
 * Games icons
 */
#block-games {
  margin-bottom: 45px;
}

/* Create games link buttons */
.g-circle,
.g-circle-inner {
  border-radius: 50%;
}

.g-circle:hover {
  fill: #FFE004;
}
.g-circle:hover svg path {
  fill: #FFE004;
}
.g-circle:hover .g-circle-inner {
  border-color: #FFE004;
}

.g-circle {
  border: 28px solid #000;
  background-color: #000;
  width: 170px;
  height: 170px;
  position: relative;
  margin: auto;
}

.g-circle-inner {
  background-color: #000;
  width: 142px;
  height: 142px;
  position: absolute;
  top: -14px;
  left: -14px;
  border: 2px solid #fff;
  text-align: center;
}

html.svg .g-icon-nardy svg,
html.svg .g-icon-tysacha svg,
html.svg .g-icon-trynka svg,
html.svg .g-icon-kozel svg,
html.svg .g-icon-perf svg,
html.svg .g-icon-shashki svg {
  margin-top: 20px;
}
html.svg .g-icon-durak svg,
html.svg .g-icon-shahmaty svg {
  margin-top: 15px;
}

.g-title {
  text-align: center;
  margin-bottom: 10px;
  margin-top: 30px;
  height: 61px;
}
.g-title a {
  color: #000;
}
.g-title a:hover {
  text-decoration: underline;
}
.g-title h1, .g-title h2, .g-title h5 {
  font-size: 2.3125rem;
  font-family: Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
  margin-bottom: 0;
  line-height: 1;
}
.g-title span,
.g-title .show-desc {
  font: normal 10px Verdana, serif;
}

/**
 * Hide icons on mobile device
 */
@media only screen and (max-width: 40em) {
  .g-title {
    margin-top: 10px;
  }
  .g-circle {
    border: none;
    width: 130px;
    height: 130px;
  }
  .g-circle-inner {
    border: none;
    width: 130px;
    height: 130px;
    top: 0;
    left: 0;
  }
}
/**
 * Icons in footer
 */
footer .s {
  width: 32px;
  height: 32px;
  display: inline-block;
  border-radius: 100%;
}

.s-svg-fb {
  background-position: -48px -240px;
}

.s-svg-vk {
  background-position: -11px -240px;
}

.s-svg-twitter {
  background-position: -85px -240px;
}

.s-svg-g {
  background-position: -122px -240px;
}

.send-email {
  border: 1px solid #828282;
  padding-left: 10px;
  font-size: 13px;
  line-height: 33px;
  width: 155px;
  display: inline-block;
  margin-top: 20px;
  color: #fff;
}
.send-email:hover {
  color: #fff;
}
.send-email .s.s-message {
  vertical-align: middle;
  background-position: -70px -117px;
}

.change-language {
  padding-left: 10px;
  font-size: 13px;
  line-height: 33px;
  width: 80px;
  display: inline-block;
  text-transform: uppercase;
  margin-top: 10px;
  color: #fff;
}
.change-language:hover, .change-language:active {
  color: wheat;
}
.change-language img {
  vertical-align: middle;
  max-width: 24px;
  margin-right: 4px;
}
.change-language img:hover {
  opacity: 1;
}

.menu-change-language img {
  vertical-align: middle;
  max-width: 24px;
  margin-right: 4px;
}
.menu-change-language img:hover {
  opacity: 1;
}

img[src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="] {
  width: 300px;
  height: 300px;
}

img.mini2 {
  width: auto;
  height: auto;
}

img.mini2[src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="] {
  width: 20px;
  height: 20px;
}

/*------------------------------------*\
  #PAGE BLOCKS
\*------------------------------------*/
/*------------------------------------*\
  #YELLOW PLAY BUTTON
\*------------------------------------*/
.block-play-button--yellow {
  text-align: center;
  background-color: #1b1b1b;
  border-bottom: 1px solid #5d5201;
  padding: 20px 0 10px 0;
  height: 100px;
  opacity: 0;
  position: fixed;
  transition: opacity 0.25s ease-in-out;
}
.block-play-button--yellow.detached {
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
  opacity: 1;
}

/*------------------------------------*\
  #BLOCK BENEFITS
\*------------------------------------*/
.block-benefits {
  background-color: #000;
  padding-top: 30px;
}
.block-benefits .tabs-content {
  color: #fff;
}

/**
 * Hide second and third item
 */
@media only screen and (max-width: 40em) {
  .block-benefits .tab-title:nth-child(2), .block-benefits .tab-title:nth-child(3) {
    display: none;
  }
}
/*------------------------------------*\
  #GAMES DESCRIPTION BLOCK
\*------------------------------------*/
#game-descriptions {
  font-size: 12px;
  line-height: 1.4;
  position: relative;
}
#game-descriptions div {
  padding: 30px 0 0;
  display: none;
}
#game-descriptions .show-desc {
  display: block;
}

/*------------------------------------*\
  #GREEN PLAY BUTTON
\*------------------------------------*/
.block-play-button {
  background: #fff url(/build/images/bg-play.a04a9a87.jpg) no-repeat center center;
  height: 400px;
  color: #fff;
  text-shadow: 1px 1px 1px #000;
}
.block-play-button .play-button-title {
  font-size: 4.125rem;
  font-weight: 700;
  color: inherit;
  margin-top: 90px;
  text-transform: uppercase;
}
.block-play-button .play-desc {
  line-height: 1;
  font-size: 1.25rem;
}
.block-play-button .play-desc b {
  font-size: 1.5625rem;
  text-transform: uppercase;
}
.block-play-button .begin-game-button {
  margin-top: 30px;
  text-transform: uppercase;
  background-image: url(/build/images/play-button.ff96087f.png);
  display: block;
  width: 522px;
  font-size: 2.1875rem;
  color: #fff;
  padding: 10px 30px;
  line-height: 54px;
  text-align: center;
  background-repeat: no-repeat;
  margin-left: 20px;
  font-weight: 700;
}
@media only screen and (max-width: 40em) {
  .block-play-button {
    text-align: center;
  }
  .block-play-button .play-button-title {
    margin-top: 20px;
    font-size: 2.5rem;
  }
  .block-play-button .begin-game-button {
    background-image: none;
    width: 80%;
    padding: 10px 20px;
    margin: 20px auto;
    background-color: #3fb37f;
    border: 1px solid #fff;
    font-size: 1.375rem;
  }
}

/*------------------------------------*\
  #USER COMMENTS
\*------------------------------------*/
.section-title {
  font: 1.875rem Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
  color: #000;
  margin: 30px 0 40px 0;
}

.block-comments {
  padding-bottom: 60px;
}

.block-comment--item {
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}

.block-comment--avatar {
  float: left;
  margin-right: 10px;
  position: relative;
}

.block-comment--achievement img {
  border: 1px solid red;
}
.block-comment--achievement:before {
  content: "";
  position: absolute;
  bottom: -5px;
  right: -7px;
  width: 20px;
  height: 20px;
  background: transparent url(/build/images/avatar-pro.a2636664.png) no-repeat 0 0;
}

.block-comment--body {
  overflow: hidden;
  color: #000;
}
.block-comment--body .name {
  font-size: 1.0625rem;
  margin: 0 0 5px 0;
  color: #000;
  font-weight: 700;
}
.block-comment--body p {
  line-height: 1.2;
  font-size: 1rem;
  font-style: italic;
  color: #484848;
}

@font-face {
  font-family: "icomoon";
  src: url(/build/fonts/icomoon.d90ce4bb.eot);
  src: url(/build/fonts/icomoon.d90ce4bb.eot?#iefixkuyf1y) format("embedded-opentype"), url(/build/fonts/icomoon.077176eb.woff) format("woff"), url(/build/fonts/icomoon.81a1de23.ttf) format("truetype"), url(/build/images/icomoon.f4d7aaa7.svg#/css/fonts/icomoon) format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-], [class*=" icon-"] {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-drink:before {
  content: "\e7cc";
}

.icon-coffee:before {
  content: "\e7cd";
}

.icon-mug:before {
  content: "\e7ce";
}

.icon-icecream:before {
  content: "\e7cf";
}

.icon-cake:before {
  content: "\e7d0";
}

.icon-watch:before {
  content: "\e7d1";
}

.icon-chronometer:before {
  content: "\e7d2";
}

.icon-alarmclock:before {
  content: "\e7d3";
}

.icon-time:before {
  content: "\e7d4";
}

.icon-gamepad:before {
  content: "\e7d5";
}

.icon-sale:before {
  content: "\e7d6";
}

.icon-medal:before {
  content: "\e7d7";
}

.icon-medal2:before {
  content: "\e7d8";
}

.icon-batman:before {
  content: "\e7d9";
}

.icon-skeletor:before {
  content: "\e7da";
}

.icon-bag:before {
  content: "\e7db";
}

.icon-moneybag:before {
  content: "\e7dc";
}

.icon-stats:before {
  content: "\e7dd";
}

.icon-stats2:before {
  content: "\e7de";
}

.icon-discout:before {
  content: "\e7df";
}

.icon-dollar:before {
  content: "\e7e0";
}

.icon-dollar2:before {
  content: "\e7e1";
}

.icon-coins:before {
  content: "\e7e2";
}

.icon-pig:before {
  content: "\e7e3";
}

.icon-bookmark:before {
  content: "\e7e4";
}

.icon-envelope:before {
  content: "\e7e5";
}

.icon-badge:before {
  content: "\e7e6";
}

.icon-badge2:before {
  content: "\e7e7";
}

.icon-ticket:before {
  content: "\e7e8";
}

.icon-uniE606:before {
  content: "\e606";
}

.icon-uniE605:before {
  content: "\e605";
}

.icon-facebook:before, .icon-facebook:hover:before {
  content: "\e611";
}

.icon-googleplus:before, .icon-googleplus:hover:before {
  content: "\e7c6";
}

.icon-mailru:before, .icon-mailru:hover:before {
  content: "\e7c7";
}

.icon-ok:before, .icon-ok:hover:before {
  content: "\e7c8";
}

.icon-twitter:before, .icon-twitter:hover:before {
  content: "\e7c9";
}

.icon-vkcom:before, .icon-vkcom:hover:before {
  content: "\e7ca";
}

.icon-yandex:before, .icon-yandex:hover:before {
  content: "\e7cb";
}

.icon-envelope-o:before {
  content: "\f003";
}

.icon-th-large:before {
  content: "\f009";
}

.icon-th:before {
  content: "\f00a";
}

.icon-check:before {
  content: "\f00c";
}

.icon-power-off:before {
  content: "\f011";
}

.icon-signal:before {
  content: "\f012";
}

.icon-gear:before {
  content: "\f013";
}

.icon-trash-o:before {
  content: "\f014";
}

.icon-clock-o:before {
  content: "\f017";
}

.icon-inbox:before {
  content: "\f01c";
}

.icon-refresh:before {
  content: "\f021";
}

.icon-flag:before {
  content: "\f024";
}

.icon-plus-circle:before {
  content: "\f055";
}

.icon-minus-circle:before {
  content: "\f056";
}

.icon-times-circle:before {
  content: "\f057";
}

.icon-check-circle:before {
  content: "\f058";
}

.icon-question-circle:before {
  content: "\f059";
}

.icon-info-circle:before {
  content: "\f05a";
}

.icon-crosshairs:before {
  content: "\f05b";
}

.icon-check-circle-o:before {
  content: "\f05d";
}

.icon-ban:before {
  content: "\f05e";
}

.icon-exclamation-circle:before {
  content: "\f06a";
}

.icon-random:before {
  content: "\f074";
}

.icon-comment:before {
  content: "\f075";
}

.icon-chevron-up:before {
  content: "\f077";
}

.icon-chevron-down:before {
  content: "\f078";
}

.icon-bar-chart-o:before {
  content: "\f080";
}

.icon-key:before {
  content: "\f084";
}

.icon-gears:before {
  content: "\f085";
}

.icon-comments:before {
  content: "\f086";
}

.icon-external-link:before {
  content: "\f08e";
}

.icon-trophy:before {
  content: "\f091";
}

.icon-certificate:before {
  content: "\f0a3";
}

.icon-cut:before {
  content: "\f0c4";
}

.icon-paperclip:before {
  content: "\f0c6";
}

.icon-save:before {
  content: "\f0c7";
}

.icon-square:before {
  content: "\f0c8";
}

.icon-navicon:before {
  content: "\f0c9";
}

.icon-money:before {
  content: "\f0d6";
}

.icon-caret-down:before {
  content: "\f0d7";
}

.icon-unsorted:before {
  content: "\f0dc";
}

.icon-sort-down:before {
  content: "\f0dd";
}

.icon-sort-up:before {
  content: "\f0de";
}

.icon-envelope2:before {
  content: "\f0e0";
}

.icon-rotate-left:before {
  content: "\f0e2";
}

.icon-dashboard:before {
  content: "\f0e4";
}

.icon-comment-o:before {
  content: "\f0e5";
}

.icon-comments-o:before {
  content: "\f0e6";
}

.icon-flash:before {
  content: "\f0e7";
}

.icon-user-md:before {
  content: "\f0f0";
}

.icon-laptop:before {
  content: "\f109";
}

.icon-tablet:before {
  content: "\f10a";
}

.icon-mobile-phone:before {
  content: "\f10b";
}

.icon-circle-o:before {
  content: "\f10c";
}

.icon-quote-left:before {
  content: "\f10d";
}

.icon-quote-right:before {
  content: "\f10e";
}

.icon-spinner:before {
  content: "\f110";
}

.icon-circle:before {
  content: "\f111";
}

.icon-gamepad2:before {
  content: "\f11b";
}

.icon-flag-o:before {
  content: "\f11d";
}

.icon-flag-checkered:before {
  content: "\f11e";
}

.icon-location-arrow:before {
  content: "\f124";
}

.icon-question:before {
  content: "\f128";
}

.icon-info:before {
  content: "\f129";
}

.icon-exclamation:before {
  content: "\f12a";
}

.icon-puzzle-piece:before {
  content: "\f12e";
}

.icon-shield:before {
  content: "\f132";
}

.icon-fire-extinguisher:before {
  content: "\f134";
}

.icon-rocket:before {
  content: "\f135";
}

.icon-anchor:before {
  content: "\f13d";
}

.icon-bullseye:before {
  content: "\f140";
}

.icon-ellipsis-h:before {
  content: "\f141";
}

.icon-ellipsis-v:before {
  content: "\f142";
}

.icon-level-down:before {
  content: "\f149";
}

.icon-check-square:before {
  content: "\f14a";
}

.icon-pencil-square:before {
  content: "\f14b";
}

.icon-external-link-square:before {
  content: "\f14c";
}

.icon-share-square:before {
  content: "\f14d";
}

.icon-compass:before {
  content: "\f14e";
}

.icon-sort-amount-asc:before {
  content: "\f160";
}

.icon-sort-amount-desc:before {
  content: "\f161";
}

.icon-thumbs-up:before {
  content: "\f164";
}

.icon-thumbs-down:before {
  content: "\f165";
}

.icon-long-arrow-down:before {
  content: "\f175";
}

.icon-female:before {
  content: "\f182";
}

.icon-male:before {
  content: "\f183";
}

.icon-sun-o:before {
  content: "\f185";
}

.icon-moon-o:before {
  content: "\f186";
}

.icon-dot-circle-o:before {
  content: "\f192";
}

.icon-institution:before {
  content: "\f19c";
}

.icon-mortar-board:before {
  content: "\f19d";
}

.icon-child:before {
  content: "\f1ae";
}

.icon-paw:before {
  content: "\f1b0";
}

.icon-cube:before {
  content: "\f1b2";
}

.icon-cubes:before {
  content: "\f1b3";
}

.icon-recycle:before {
  content: "\f1b8";
}

.icon-tree:before {
  content: "\f1bb";
}

.icon-database:before {
  content: "\f1c0";
}

.icon-life-bouy:before {
  content: "\f1cd";
}

.icon-wechat:before {
  content: "\f1d7";
}

.icon-send:before {
  content: "\f1d8";
}

.icon-send-o:before {
  content: "\f1d9";
}

.icon-history:before {
  content: "\f1da";
}

.icon-circle-thin:before {
  content: "\f1db";
}

.icon-sliders:before {
  content: "\f1de";
}

.icon-share-alt:before {
  content: "\f1e0";
}

.icon-bomb:before {
  content: "\f1e2";
}

.icon-home2:before {
  content: "\e60e";
}

.icon-home3:before {
  content: "\e612";
}

.icon-home22:before {
  content: "\e604";
}

.icon-office:before {
  content: "\e607";
}

.icon-newspaper:before {
  content: "\e613";
}

.icon-pencil2:before {
  content: "\e614";
}

.icon-pencil3:before {
  content: "\e615";
}

.icon-quill:before {
  content: "\e616";
}

.icon-pen:before {
  content: "\e617";
}

.icon-blog:before {
  content: "\e608";
}

.icon-droplet:before {
  content: "\e618";
}

.icon-paint-format:before {
  content: "\e619";
}

.icon-image:before {
  content: "\e61a";
}

.icon-image2:before {
  content: "\e61b";
}

.icon-images:before {
  content: "\e61c";
}

.icon-camera2:before {
  content: "\e61d";
}

.icon-music2:before {
  content: "\e61e";
}

.icon-headphones2:before {
  content: "\e61f";
}

.icon-play2:before {
  content: "\e620";
}

.icon-film2:before {
  content: "\e621";
}

.icon-camera22:before {
  content: "\e609";
}

.icon-dice:before {
  content: "\e60a";
}

.icon-pacman:before {
  content: "\e622";
}

.icon-spades:before {
  content: "\e623";
}

.icon-clubs:before {
  content: "\e624";
}

.icon-diamonds:before {
  content: "\e625";
}

.icon-pawn:before {
  content: "\e626";
}

.icon-bullhorn2:before {
  content: "\e627";
}

.icon-connection:before {
  content: "\e628";
}

.icon-podcast:before {
  content: "\e629";
}

.icon-feed:before {
  content: "\e62a";
}

.icon-book2:before {
  content: "\e62b";
}

.icon-books:before {
  content: "\e62c";
}

.icon-library:before {
  content: "\e62d";
}

.icon-file2:before {
  content: "\e62e";
}

.icon-profile:before {
  content: "\e62f";
}

.icon-file3:before {
  content: "\e630";
}

.icon-file4:before {
  content: "\e631";
}

.icon-file5:before {
  content: "\e632";
}

.icon-copy2:before {
  content: "\e633";
}

.icon-copy3:before {
  content: "\e634";
}

.icon-copy4:before {
  content: "\e635";
}

.icon-paste2:before {
  content: "\e636";
}

.icon-paste3:before {
  content: "\e637";
}

.icon-paste4:before {
  content: "\e638";
}

.icon-stack:before {
  content: "\e639";
}

.icon-folder2:before {
  content: "\e63a";
}

.icon-folder-open2:before {
  content: "\e63b";
}

.icon-tag2:before {
  content: "\e63c";
}

.icon-tags2:before {
  content: "\e63d";
}

.icon-barcode2:before {
  content: "\e63e";
}

.icon-qrcode2:before {
  content: "\e63f";
}

.icon-ticket2:before {
  content: "\e640";
}

.icon-cart:before {
  content: "\e641";
}

.icon-cart2:before {
  content: "\e642";
}

.icon-cart3:before {
  content: "\e643";
}

.icon-coin:before {
  content: "\e644";
}

.icon-credit:before {
  content: "\e645";
}

.icon-calculate:before {
  content: "\e646";
}

.icon-support:before {
  content: "\e647";
}

.icon-phone2:before {
  content: "\e648";
}

.icon-phone-hang-up:before {
  content: "\e649";
}

.icon-address-book:before {
  content: "\e64a";
}

.icon-notebook:before {
  content: "\e64b";
}

.icon-envelope22:before {
  content: "\e64c";
}

.icon-pushpin:before {
  content: "\e64d";
}

.icon-location:before {
  content: "\e64e";
}

.icon-location2:before {
  content: "\e64f";
}

.icon-compass2:before {
  content: "\e650";
}

.icon-map:before {
  content: "\e651";
}

.icon-map2:before {
  content: "\e652";
}

.icon-history2:before {
  content: "\e653";
}

.icon-clock:before {
  content: "\e654";
}

.icon-clock2:before {
  content: "\e655";
}

.icon-alarm:before {
  content: "\e656";
}

.icon-alarm2:before {
  content: "\e657";
}

.icon-bell2:before {
  content: "\e658";
}

.icon-stopwatch:before {
  content: "\e659";
}

.icon-calendar2:before {
  content: "\e65a";
}

.icon-calendar3:before {
  content: "\e65b";
}

.icon-print2:before {
  content: "\e65c";
}

.icon-keyboard:before {
  content: "\e65d";
}

.icon-screen:before {
  content: "\e65e";
}

.icon-laptop2:before {
  content: "\e65f";
}

.icon-mobile:before {
  content: "\e660";
}

.icon-mobile2:before {
  content: "\e661";
}

.icon-tablet2:before {
  content: "\e662";
}

.icon-tv:before {
  content: "\e663";
}

.icon-cabinet:before {
  content: "\e664";
}

.icon-drawer:before {
  content: "\e665";
}

.icon-drawer2:before {
  content: "\e666";
}

.icon-drawer3:before {
  content: "\e667";
}

.icon-box-add:before {
  content: "\e668";
}

.icon-box-remove:before {
  content: "\e669";
}

.icon-download2:before {
  content: "\e66a";
}

.icon-upload2:before {
  content: "\e66b";
}

.icon-disk:before {
  content: "\e66c";
}

.icon-storage:before {
  content: "\e66d";
}

.icon-undo:before {
  content: "\e66e";
}

.icon-redo:before {
  content: "\e66f";
}

.icon-flip:before {
  content: "\e670";
}

.icon-flip2:before {
  content: "\e671";
}

.icon-undo2:before {
  content: "\e672";
}

.icon-redo2:before {
  content: "\e673";
}

.icon-forward2:before {
  content: "\e674";
}

.icon-reply:before {
  content: "\e675";
}

.icon-bubble:before {
  content: "\e676";
}

.icon-bubbles:before {
  content: "\e677";
}

.icon-bubbles2:before {
  content: "\e678";
}

.icon-bubble2:before {
  content: "\e679";
}

.icon-bubbles3:before {
  content: "\e67a";
}

.icon-bubbles4:before {
  content: "\e67b";
}

.icon-user2:before {
  content: "\e67c";
}

.icon-users:before {
  content: "\e67d";
}

.icon-user3:before {
  content: "\e67e";
}

.icon-users2:before {
  content: "\e67f";
}

.icon-user4:before {
  content: "\e680";
}

.icon-user5:before {
  content: "\e681";
}

.icon-quotes-left:before {
  content: "\e682";
}

.icon-busy:before {
  content: "\e683";
}

.icon-spinner2:before {
  content: "\e684";
}

.icon-spinner3:before {
  content: "\e685";
}

.icon-spinner4:before {
  content: "\e686";
}

.icon-spinner5:before {
  content: "\e687";
}

.icon-spinner6:before {
  content: "\e688";
}

.icon-spinner7:before {
  content: "\e689";
}

.icon-binoculars:before {
  content: "\e68a";
}

.icon-search2:before {
  content: "\e68b";
}

.icon-zoomin:before {
  content: "\e68c";
}

.icon-zoomout:before {
  content: "\e68d";
}

.icon-expand2:before {
  content: "\e68e";
}

.icon-contract:before {
  content: "\e68f";
}

.icon-expand3:before {
  content: "\e690";
}

.icon-contract2:before {
  content: "\e691";
}

.icon-key2:before {
  content: "\e692";
}

.icon-key3:before {
  content: "\e693";
}

.icon-lock2:before {
  content: "\e694";
}

.icon-lock3:before {
  content: "\e695";
}

.icon-unlocked:before {
  content: "\e696";
}

.icon-wrench2:before {
  content: "\e697";
}

.icon-settings:before {
  content: "\e698";
}

.icon-equalizer:before {
  content: "\e699";
}

.icon-cog:before {
  content: "\e69a";
}

.icon-cogs:before {
  content: "\e69b";
}

.icon-cog2:before {
  content: "\e69c";
}

.icon-hammer:before {
  content: "\e69d";
}

.icon-wand:before {
  content: "\e69e";
}

.icon-aid:before {
  content: "\e69f";
}

.icon-bug2:before {
  content: "\e6a0";
}

.icon-pie:before {
  content: "\e6a1";
}

.icon-stats3:before {
  content: "\e6a2";
}

.icon-bars:before {
  content: "\e6a3";
}

.icon-bars2:before {
  content: "\e6a4";
}

.icon-gift2:before {
  content: "\e6a5";
}

.icon-trophy2:before {
  content: "\e6a6";
}

.icon-glass2:before {
  content: "\e6a7";
}

.icon-mug2:before {
  content: "\e6a8";
}

.icon-food:before {
  content: "\e6a9";
}

.icon-leaf2:before {
  content: "\e6aa";
}

.icon-rocket2:before {
  content: "\e6ab";
}

.icon-meter:before {
  content: "\e6ac";
}

.icon-meter2:before {
  content: "\e6ad";
}

.icon-dashboard2:before {
  content: "\e6ae";
}

.icon-hammer2:before {
  content: "\e6af";
}

.icon-fire2:before {
  content: "\e6b0";
}

.icon-lab:before {
  content: "\e6b1";
}

.icon-magnet2:before {
  content: "\e6b2";
}

.icon-remove:before {
  content: "\e6b3";
}

.icon-remove2:before {
  content: "\e6b4";
}

.icon-briefcase2:before {
  content: "\e6b5";
}

.icon-airplane:before {
  content: "\e6b6";
}

.icon-truck2:before {
  content: "\e6b7";
}

.icon-road2:before {
  content: "\e6b8";
}

.icon-accessibility:before {
  content: "\e6b9";
}

.icon-target:before {
  content: "\e6ba";
}

.icon-shield2:before {
  content: "\e6bb";
}

.icon-lightning:before {
  content: "\e6bc";
}

.icon-switch:before {
  content: "\e6bd";
}

.icon-powercord:before {
  content: "\e6be";
}

.icon-signup:before {
  content: "\e6bf";
}

.icon-list2:before {
  content: "\e6c0";
}

.icon-list3:before {
  content: "\e6c1";
}

.icon-numbered-list:before {
  content: "\e6c2";
}

.icon-menu:before {
  content: "\e6c3";
}

.icon-menu2:before {
  content: "\e6c4";
}

.icon-tree2:before {
  content: "\e6c5";
}

.icon-cloud2:before {
  content: "\e6c6";
}

.icon-cloud-download2:before {
  content: "\e6c7";
}

.icon-cloud-upload2:before {
  content: "\e6c8";
}

.icon-download3:before {
  content: "\e6c9";
}

.icon-upload3:before {
  content: "\e6ca";
}

.icon-download4:before {
  content: "\e6cb";
}

.icon-upload4:before {
  content: "\e6cc";
}

.icon-globe2:before {
  content: "\e6cd";
}

.icon-earth:before {
  content: "\e6ce";
}

.icon-link:before {
  content: "\e6cf";
}

.icon-flag2:before {
  content: "\e6d0";
}

.icon-attachment:before {
  content: "\e6d1";
}

.icon-eye2:before {
  content: "\e6d2";
}

.icon-eye-blocked:before {
  content: "\e6d3";
}

.icon-eye3:before {
  content: "\e6d4";
}

.icon-bookmark2:before {
  content: "\e6d5";
}

.icon-bookmarks:before {
  content: "\e6d6";
}

.icon-brightness-medium:before {
  content: "\e6d7";
}

.icon-brightness-contrast:before {
  content: "\e6d8";
}

.icon-contrast:before {
  content: "\e6d9";
}

.icon-star2:before {
  content: "\e6da";
}

.icon-star3:before {
  content: "\e6db";
}

.icon-star4:before {
  content: "\e6dc";
}

.icon-heart2:before {
  content: "\e6dd";
}

.icon-heart3:before {
  content: "\e6de";
}

.icon-heart-broken:before {
  content: "\e6df";
}

.icon-thumbs-up2:before {
  content: "\e6e0";
}

.icon-thumbs-up3:before {
  content: "\e6e1";
}

.icon-happy:before {
  content: "\e6e2";
}

.icon-happy2:before {
  content: "\e6e3";
}

.icon-smiley:before {
  content: "\e6e4";
}

.icon-smiley2:before {
  content: "\e6e5";
}

.icon-tongue:before {
  content: "\e6e6";
}

.icon-tongue2:before {
  content: "\e6e7";
}

.icon-sad:before {
  content: "\e6e8";
}

.icon-sad2:before {
  content: "\e6e9";
}

.icon-wink:before {
  content: "\e6ea";
}

.icon-wink2:before {
  content: "\e6eb";
}

.icon-grin:before {
  content: "\e6ec";
}

.icon-grin2:before {
  content: "\e6ed";
}

.icon-cool:before {
  content: "\e6ee";
}

.icon-cool2:before {
  content: "\e6ef";
}

.icon-angry:before {
  content: "\e6f0";
}

.icon-angry2:before {
  content: "\e6f1";
}

.icon-evil:before {
  content: "\e6f2";
}

.icon-evil2:before {
  content: "\e6f3";
}

.icon-shocked:before {
  content: "\e6f4";
}

.icon-shocked2:before {
  content: "\e6f5";
}

.icon-confused:before {
  content: "\e6f6";
}

.icon-confused2:before {
  content: "\e6f7";
}

.icon-neutral:before {
  content: "\e6f8";
}

.icon-neutral2:before {
  content: "\e6f9";
}

.icon-wondering:before {
  content: "\e6fa";
}

.icon-wondering2:before {
  content: "\e6fb";
}

.icon-point-up:before {
  content: "\e6fc";
}

.icon-point-right:before {
  content: "\e6fd";
}

.icon-point-down:before {
  content: "\e6fe";
}

.icon-point-left:before {
  content: "\e6ff";
}

.icon-warning2:before {
  content: "\e700";
}

.icon-notification:before {
  content: "\e701";
}

.icon-question2:before {
  content: "\e702";
}

.icon-info2:before {
  content: "\e703";
}

.icon-info3:before {
  content: "\e704";
}

.icon-blocked:before {
  content: "\e705";
}

.icon-cancel-circle:before {
  content: "\e706";
}

.icon-checkmark-circle:before {
  content: "\e707";
}

.icon-spam:before {
  content: "\e708";
}

.icon-close:before {
  content: "\e709";
}

.icon-checkmark:before {
  content: "\e70a";
}

.icon-checkmark2:before {
  content: "\e70b";
}

.icon-spell-check:before {
  content: "\e70c";
}

.icon-minus2:before {
  content: "\e70d";
}

.icon-plus2:before {
  content: "\e70e";
}

.icon-enter:before {
  content: "\e70f";
}

.icon-exit:before {
  content: "\e710";
}

.icon-play3:before {
  content: "\e711";
}

.icon-pause2:before {
  content: "\e712";
}

.icon-stop2:before {
  content: "\e713";
}

.icon-backward2:before {
  content: "\e714";
}

.icon-forward3:before {
  content: "\e715";
}

.icon-play4:before {
  content: "\e716";
}

.icon-pause3:before {
  content: "\e717";
}

.icon-stop3:before {
  content: "\e718";
}

.icon-backward3:before {
  content: "\e719";
}

.icon-forward4:before {
  content: "\e71a";
}

.icon-first:before {
  content: "\e71b";
}

.icon-last:before {
  content: "\e71c";
}

.icon-previous:before {
  content: "\e71d";
}

.icon-next:before {
  content: "\e71e";
}

.icon-eject2:before {
  content: "\e71f";
}

.icon-volume-high:before {
  content: "\e720";
}

.icon-volume-medium:before {
  content: "\e721";
}

.icon-volume-low:before {
  content: "\e722";
}

.icon-volume-mute2:before {
  content: "\e60b";
}

.icon-volume-mute22:before {
  content: "\e60c";
}

.icon-volume-increase:before {
  content: "\e723";
}

.icon-volume-decrease:before {
  content: "\e724";
}

.icon-loop:before {
  content: "\e725";
}

.icon-loop2:before {
  content: "\e726";
}

.icon-loop3:before {
  content: "\e727";
}

.icon-shuffle:before {
  content: "\e728";
}

.icon-arrow-up-left:before {
  content: "\e729";
}

.icon-arrow-up2:before {
  content: "\e72a";
}

.icon-arrow-up-right:before {
  content: "\e72b";
}

.icon-arrow-right2:before {
  content: "\e600";
}

.icon-arrow-down-right:before {
  content: "\e601";
}

.icon-arrow-down2:before {
  content: "\e60d";
}

.icon-arrow-down-left:before {
  content: "\e72c";
}

.icon-arrow-left2:before {
  content: "\e72d";
}

.icon-arrow-up-left2:before {
  content: "\e72e";
}

.icon-arrow-up3:before {
  content: "\e72f";
}

.icon-arrow-up-right2:before {
  content: "\e730";
}

.icon-arrow-right3:before {
  content: "\e731";
}

.icon-arrow-down-right2:before {
  content: "\e732";
}

.icon-arrow-down3:before {
  content: "\e733";
}

.icon-arrow-down-left2:before {
  content: "\e734";
}

.icon-arrow-left22:before {
  content: "\e602";
}

.icon-arrow-up-left3:before {
  content: "\e603";
}

.icon-arrow-up22:before {
  content: "\e60f";
}

.icon-arrow-up-right3:before {
  content: "\e735";
}

.icon-arrow-right4:before {
  content: "\e736";
}

.icon-arrow-down-right3:before {
  content: "\e737";
}

.icon-arrow-down4:before {
  content: "\e738";
}

.icon-arrow-down-left3:before {
  content: "\e739";
}

.icon-arrow-left3:before {
  content: "\e73a";
}

.icon-tab:before {
  content: "\e73b";
}

.icon-checkbox-checked:before {
  content: "\e73c";
}

.icon-checkbox-unchecked:before {
  content: "\e73d";
}

.icon-checkbox-partial:before {
  content: "\e73e";
}

.icon-radio-checked:before {
  content: "\e610";
}

.icon-radio-unchecked:before {
  content: "\e73f";
}

.icon-crop2:before {
  content: "\e740";
}

.icon-scissors:before {
  content: "\e741";
}

.icon-filter2:before {
  content: "\e742";
}

.icon-filter3:before {
  content: "\e743";
}

.icon-font2:before {
  content: "\e744";
}

.icon-text-height2:before {
  content: "\e745";
}

.icon-text-width2:before {
  content: "\e746";
}

.icon-bold2:before {
  content: "\e747";
}

.icon-underline2:before {
  content: "\e748";
}

.icon-italic2:before {
  content: "\e749";
}

.icon-strikethrough2:before {
  content: "\e74a";
}

.icon-omega:before {
  content: "\e74b";
}

.icon-sigma:before {
  content: "\e74c";
}

.icon-table2:before {
  content: "\e74d";
}

.icon-table3:before {
  content: "\e74e";
}

.icon-insert-template:before {
  content: "\e74f";
}

.icon-pilcrow:before {
  content: "\e750";
}

.icon-lefttoright:before {
  content: "\e751";
}

.icon-righttoleft:before {
  content: "\e752";
}

.icon-paragraph-left:before {
  content: "\e753";
}

.icon-paragraph-center:before {
  content: "\e754";
}

.icon-paragraph-right:before {
  content: "\e755";
}

.icon-paragraph-justify:before {
  content: "\e756";
}

.icon-paragraph-left2:before {
  content: "\e757";
}

.icon-paragraph-center2:before {
  content: "\e758";
}

.icon-paragraph-right2:before {
  content: "\e759";
}

.icon-paragraph-justify2:before {
  content: "\e75a";
}

.icon-indent-increase:before {
  content: "\e75b";
}

.icon-indent-decrease:before {
  content: "\e75c";
}

.icon-newtab:before {
  content: "\e75d";
}

.icon-embed:before {
  content: "\e75e";
}

.icon-code2:before {
  content: "\e75f";
}

.icon-console:before {
  content: "\e760";
}

.icon-share:before {
  content: "\e761";
}

.icon-mail:before {
  content: "\e762";
}

.icon-mail2:before {
  content: "\e763";
}

.icon-mail3:before {
  content: "\e764";
}

.icon-mail4:before {
  content: "\e765";
}

.icon-google2:before {
  content: "\e766";
}

.icon-googleplus2:before {
  content: "\e767";
}

.icon-googleplus22:before {
  content: "\e768";
}

.icon-googleplus3:before {
  content: "\e769";
}

.icon-googleplus4:before {
  content: "\e76a";
}

.icon-google-drive:before {
  content: "\e76b";
}

.icon-facebook2:before {
  content: "\e76c";
}

.icon-facebook3:before {
  content: "\e76d";
}

.icon-facebook4:before {
  content: "\e76e";
}

.icon-instagram2:before {
  content: "\e76f";
}

.icon-twitter2:before {
  content: "\e770";
}

.icon-twitter3:before {
  content: "\e771";
}

.icon-twitter4:before {
  content: "\e772";
}

.icon-feed2:before {
  content: "\e773";
}

.icon-feed3:before {
  content: "\e774";
}

.icon-feed4:before {
  content: "\e775";
}

.icon-youtube2:before {
  content: "\e776";
}

.icon-youtube3:before {
  content: "\e777";
}

.icon-vimeo:before {
  content: "\e778";
}

.icon-vimeo2:before {
  content: "\e779";
}

.icon-vimeo3:before {
  content: "\e77a";
}

.icon-lanyrd:before {
  content: "\e77b";
}

.icon-flickr2:before {
  content: "\e77c";
}

.icon-flickr3:before {
  content: "\e77d";
}

.icon-flickr4:before {
  content: "\e77e";
}

.icon-flickr5:before {
  content: "\e77f";
}

.icon-picassa:before {
  content: "\e780";
}

.icon-picassa2:before {
  content: "\e781";
}

.icon-dribbble2:before {
  content: "\e782";
}

.icon-dribbble3:before {
  content: "\e783";
}

.icon-dribbble4:before {
  content: "\e784";
}

.icon-forrst:before {
  content: "\e785";
}

.icon-forrst2:before {
  content: "\e786";
}

.icon-deviantart2:before {
  content: "\e787";
}

.icon-deviantart3:before {
  content: "\e788";
}

.icon-steam2:before {
  content: "\e789";
}

.icon-steam3:before {
  content: "\e78a";
}

.icon-github2:before {
  content: "\e78b";
}

.icon-github3:before {
  content: "\e78c";
}

.icon-github4:before {
  content: "\e78d";
}

.icon-github5:before {
  content: "\e78e";
}

.icon-github6:before {
  content: "\e78f";
}

.icon-wordpress2:before {
  content: "\e790";
}

.icon-wordpress3:before {
  content: "\e791";
}

.icon-joomla2:before {
  content: "\e792";
}

.icon-blogger:before {
  content: "\e793";
}

.icon-blogger2:before {
  content: "\e794";
}

.icon-tumblr2:before {
  content: "\e795";
}

.icon-tumblr3:before {
  content: "\e796";
}

.icon-yahoo2:before {
  content: "\e797";
}

.icon-tux:before {
  content: "\e798";
}

.icon-apple2:before {
  content: "\e799";
}

.icon-finder:before {
  content: "\e79a";
}

.icon-android2:before {
  content: "\e79b";
}

.icon-windows2:before {
  content: "\e79c";
}

.icon-windows8:before {
  content: "\e79d";
}

.icon-soundcloud2:before {
  content: "\e79e";
}

.icon-soundcloud3:before {
  content: "\e79f";
}

.icon-skype2:before {
  content: "\e7a0";
}

.icon-reddit2:before {
  content: "\e7a1";
}

.icon-linkedin2:before {
  content: "\e7a2";
}

.icon-lastfm:before {
  content: "\e7a3";
}

.icon-lastfm2:before {
  content: "\e7a4";
}

.icon-delicious2:before {
  content: "\e7a5";
}

.icon-stumbleupon2:before {
  content: "\e7a6";
}

.icon-stumbleupon3:before {
  content: "\e7a7";
}

.icon-stackoverflow:before {
  content: "\e7a8";
}

.icon-pinterest2:before {
  content: "\e7a9";
}

.icon-pinterest3:before {
  content: "\e7aa";
}

.icon-xing2:before {
  content: "\e7ab";
}

.icon-xing3:before {
  content: "\e7ac";
}

.icon-flattr:before {
  content: "\e7ad";
}

.icon-foursquare2:before {
  content: "\e7ae";
}

.icon-foursquare3:before {
  content: "\e7af";
}

.icon-paypal:before {
  content: "\e7b0";
}

.icon-paypal2:before {
  content: "\e7b1";
}

.icon-paypal3:before {
  content: "\e7b2";
}

.icon-yelp:before {
  content: "\e7b3";
}

.icon-libreoffice:before {
  content: "\e7b4";
}

.icon-file-pdf:before {
  content: "\e7b5";
}

.icon-file-openoffice:before {
  content: "\e7b6";
}

.icon-file-word:before {
  content: "\e7b7";
}

.icon-file-excel:before {
  content: "\e7b8";
}

.icon-file-zip:before {
  content: "\e7b9";
}

.icon-file-powerpoint:before {
  content: "\e7ba";
}

.icon-file-xml:before {
  content: "\e7bb";
}

.icon-file-css:before {
  content: "\e7bc";
}

.icon-html52:before {
  content: "\e7bd";
}

.icon-html53:before {
  content: "\e7be";
}

.icon-css32:before {
  content: "\e7bf";
}

.icon-chrome:before {
  content: "\e7c0";
}

.icon-firefox:before {
  content: "\e7c1";
}

.icon-IE:before {
  content: "\e7c2";
}

.icon-opera:before {
  content: "\e7c3";
}

.icon-safari:before {
  content: "\e7c4";
}

.icon-icomoon:before {
  content: "\e7c5";
}

.icon-facebook:before, .icon-facebook:hover:before {
  content: "\e611";
}

.icon-googleplus:before, .icon-googleplus:hover:before {
  content: "\e7c6";
}

.icon-mailru:before, .icon-mailru:hover:before {
  content: "\e7c7";
}

.icon-ok:before, .icon-ok:hover:before {
  content: "\e7c8";
}

.icon-twitter:before, .icon-twitter:hover:before {
  content: "\e7c9";
}

.icon-vkcom:before, .icon-vkcom:hover:before {
  content: "\e7ca";
}

.icon-yandex:before, .icon-yandex:hover:before {
  content: "\e7cb";
}

.icon-yandex, .icon-yandex:hover {
  background-color: #ed1c24;
  color: #fff;
}
.icon-twitter, .icon-twitter:hover {
  background-color: #fff;
  color: #00aced;
}
.icon-facebook, .icon-facebook:hover {
  background-color: #fff;
  color: #3b5998;
}
.icon-vkcom, .icon-vkcom:hover {
  background-color: #fff;
  color: #45678e;
}
.icon-vkcom2,
.icon-mailru2 {
  display: inline-block;
  height: 32px;
  width: 32px;
  border-radius: 100%;
}

.icon-vkcom2 {
  background-image: url(/build/images/vkcom.157d9ece.png);
}

.icon-mailru, .icon-mailru:hover {
  background-image: url(/build/images/mailru.b86337f0.png);
}
.icon-mailru2 {
  background-image: url(/build/images/mailru.b86337f0.png);
}

.icon-googleplus, .icon-googleplus:hover {
  background-color: #fff;
  color: #d14836;
}
.icon-ok, .icon-ok:hover {
  background-color: #fff;
  color: #ed812b;
}
.ic-dice {
  margin: 1px;
  width: 15px;
  height: 15px;
  display: inline-block;
  background-image: url(/build/images/kosti_1_small.0a6e03fe.png);
}
.ic-dice.dice1 {
  background-position: 0 0;
}
.ic-dice.dice2 {
  background-position: -15px 0;
}
.ic-dice.dice3 {
  background-position: -30px 0;
}
.ic-dice.dice4 {
  background-position: -45px 0;
}
.ic-dice.dice5 {
  background-position: -60px 0;
}
.ic-dice.dice6 {
  background-position: -75px 0;
}

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

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

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

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

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

/*
 *  Core Owl Carousel CSS File
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

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

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

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

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

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

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

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

.owl-carousel .owl-refresh .owl-item {
  display: none;
}

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

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

.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}

.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

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

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

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

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

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

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

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: scale 100ms ease;
  -moz-transition: scale 100ms ease;
  -ms-transition: scale 100ms ease;
  -o-transition: scale 100ms ease;
  transition: scale 100ms ease;
}

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

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

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

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
}

.forum {
  font: 300 0.875rem "Open Sans", sans-serif;
  padding: 20px 0;
}
.forum a {
  color: #222;
}

/*------------------------------------*\
  #BOARDS
\*------------------------------------*/
.forum__board {
  border-bottom: 1px solid #eee;
  overflow: hidden;
  padding: 15px 0;
  line-height: 14px;
}
.forum__board a {
  color: #222;
}
.forum__board a:hover {
  color: #888888;
}

.forum__title {
  font: 300 1.25rem "Open Sans", sans-serif;
  display: inline-block;
  margin: 0;
  margin-bottom: 15px;
}

.forum__last-post-info {
  display: inline-block;
  float: right;
  text-align: right;
  color: #ccc;
}

.forum__from-user {
  font-size: 0.75rem;
  font-style: italic;
}

.forum__post-date {
  font-size: 0.75rem;
  font-style: italic;
}

.forum__icon-board {
  padding: 0 10px 0 0;
}

/*------------------------------------*\
  #TOPIC LIST
\*------------------------------------*/
.forum__topic-list {
  margin: 20px 0 0;
}

.forum__topic {
  padding: 10px 0;
  border-top: 1px solid #eee;
  position: relative;
  overflow: visible;
}
.forum__topic .forum__last-post-info {
  margin-right: 20px;
}

.forum__topic-title {
  font: 300 0.875rem "Open Sans", sans-serif;
  line-height: 28px;
  display: inline-block;
  margin: 0;
}
.forum__topic-title a {
  color: #888888;
  display: block;
}
.forum__topic-title a:hover {
  color: #222;
}

.forum .theme_answer .text a {
  color: #008cba;
  text-decoration: none;
  line-height: inherit;
}

.forum .theme_answer .text a:hover, .forum .theme_answer .text a:focus {
  color: #007ba0;
}

.forum__icon-topic {
  padding: 0 5px 0 0;
  font-size: 0.625rem;
  width: 25px;
  text-align: center;
}

.forum__board--last-active .forum__topic {
  margin-left: 35px;
}

.forum__post-menu {
  position: absolute;
  right: 5px;
  top: 18px;
  display: block;
  margin-top: -8px;
  margin-right: -7px;
  padding: 8px 8px 5px 8px;
}
.forum__post-menu div {
  border-radius: 100%;
  background-color: rgb(191.25, 191.25, 191.25);
  width: 3px;
  height: 3px;
  margin-bottom: 2px;
}
.forum__post-menu:hover div {
  background-color: rgb(114.75, 114.75, 114.75);
}

/*------------------------------------*\
  #POST
\*------------------------------------*/
.topic__starter-head {
  position: relative;
}

.topic__starter-title {
  font: 300 1.25rem "Open Sans", sans-serif;
  margin-bottom: 0;
}

.topic__starter-avatar {
  border-radius: 100%;
  width: 50px;
  height: 50px;
  overflow: hidden;
  position: absolute;
}
.topic__starter-avatar img {
  width: 56px;
}

.forum blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 2.3rem;
  border-left: 5px solid #999999;
  background-color: #F0F0F0;
}

.forum blockquote:before {
  content: "\e682";
  font-family: "icomoon";
  margin-left: -32px;
  margin-right: 15px;
  color: #999999;
}

/*------------------------------------*\
  #ANSWER
\*------------------------------------*/
.forum p {
  padding-top: 0;
  margin-top: 0;
}

.forum .answer-menu {
  border: 1px solid #DDDDDD;
  margin-top: -12px;
  border-radius: 5px;
  position: absolute;
  right: 16px;
  background-color: #ffffff;
  padding: 7px;
  font-size: 14pt;
}

.forum .theme_answer .text {
  font-size: 14pt;
}

.forum .theme_answer .date-time {
  position: absolute;
  right: 16px;
  bottom: -15px;
}

.forum .theme_answer .not-read {
  background: url(/build/images/noread.190e398e.png) repeat-x left top;
}

.forum .theme_answer .separator {
  border-top: 1px grey dotted;
  margin-top: 20px;
  color: grey;
  font-size: 10px;
  text-align: right;
}

/*------------------------------------*\
  #CUSTOM STYLE FOR CAROUSEL
\*------------------------------------*/
.block-slider {
  overflow: hidden;
}

.demo-slide {
  position: relative;
  color: #fff;
  padding: 20px 10px;
  height: 400px;
  text-shadow: 1px 1px 1px #000;
}

.demo-slide--title {
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  font-family: Verdana, Geneva, sans-serif;
}

.demo-one-bg {
  background: url(/build/images/bg-slider.0adcf677.jpg);
  background-size: cover;
  background-position: center center;
}

.button.demo-slide--button {
  color: #fff;
}
.button.demo-slide--button:hover {
  color: #fff;
}

@media only screen and (max-width: 40em) {
  .demo-slide {
    text-align: center;
  }
  .demo-slide--button {
    padding: 35px;
    font-size: 0.8125rem;
    background-color: #cb0000;
    border: 1px solid #fff;
  }
}
@media only screen and (min-width:40.0625em) {
  .owl-theme .owl-controls {
    position: relative;
    margin-top: -22px;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    z-index: 100;
  }
  .block-slider {
    position: relative;
  }
  .slide-item-inner {
    margin: auto;
  }
  .demo-slide {
    width: 800px;
    padding: 70px 10px;
    margin: auto;
  }
  .demo-slide--title {
    font-size: 4.125rem;
    color: inherit;
    margin-top: 0;
    text-transform: uppercase;
  }
  .demo-slide--title span {
    display: block;
  }
  .demo-slide--title-second {
    margin-left: 90px;
  }
  .demo-slide--desc {
    font-size: 1.25rem;
    margin-left: 90px;
    text-transform: uppercase;
  }
  .demo-slide--button {
    font-size: 2.1875rem;
    text-transform: uppercase;
    font-weight: bold;
    background-color: #cb0000;
    border: 1px solid #fff;
    position: absolute;
    right: 20px;
    top: 70px;
  }
}
@media only screen and (min-width:40.0625em) and (max-width:64em) {
  .demo-slide {
    width: auto;
  }
}
/**
 * Style for comment carousel
 */
.block-comments .owl-carousel .owl-controls {
  margin-top: 10px;
  position: static;
}

/*------------------------------------*\
  #CUSTOM TABS
\*------------------------------------*/
/**
 * Styling tabs in benefits block
 */
.block-benefits .tab-title {
  display: table-cell;
  float: none;
  width: 1%;
  text-align: center;
  border-right: 5px solid #000;
}
.block-benefits .tabs li {
  position: relative;
}
.block-benefits .tabs li:last-child {
  border: none;
}
.block-benefits .tabs a {
  font: normal 1.25rem Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
  border: 1px solid #535353;
  background-color: #3e3e3e;
  color: #fff;
}
.block-benefits .tabs a:hover {
  background-color: #ffe004;
  color: #000;
}
.block-benefits .tabs .active a {
  background-color: #ffe004;
}
.block-benefits .tabs .active:before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 15px solid #ffe004;
  bottom: -19px;
  margin-left: -25px;
  left: 50%;
  z-index: 10;
}

/**
 * Styling tab content in benefits block
 */
.block-benefits-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
}
.block-benefits-bar > * {
  display: block;
  float: left;
  font-size: 1rem;
  margin: 0 auto;
  padding: 1.25rem;
  text-align: center;
  width: 25%;
}
.block-benefits-bar > * i, .block-benefits-bar > * img {
  display: block;
  margin: 0 auto;
}
.block-benefits-bar > * i + label, .block-benefits-bar > * img + label {
  margin-top: 0.0625rem;
}
.block-benefits-bar > * i {
  font-size: 1.875rem;
  vertical-align: middle;
}
.block-benefits-bar > * img {
  height: 1.875rem;
  width: 1.875rem;
}
.block-benefits-bar.label-right > * i, .block-benefits-bar.label-right > * img {
  display: inline-block;
  margin: 0 0.0625rem 0 0;
}
.block-benefits-bar.label-right > * i + label, .block-benefits-bar.label-right > * img + label {
  margin-top: 0;
}
.block-benefits-bar.label-right > * label {
  display: inline-block;
}
.block-benefits-bar.vertical.label-right > * {
  text-align: left;
}
.block-benefits-bar.vertical, .block-benefits-bar.small-vertical {
  height: 100%;
  width: auto;
}
.block-benefits-bar.vertical .item, .block-benefits-bar.small-vertical .item {
  float: none;
  margin: auto;
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.medium-vertical {
    height: 100%;
    width: auto;
  }
  .block-benefits-bar.medium-vertical .item {
    float: none;
    margin: auto;
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.large-vertical {
    height: 100%;
    width: auto;
  }
  .block-benefits-bar.large-vertical .item {
    float: none;
    margin: auto;
    width: auto;
  }
}
.block-benefits-bar > * {
  font-size: 1rem;
  padding: 1.25rem;
}
.block-benefits-bar > * i + label, .block-benefits-bar > * img + label {
  margin-top: 0.0625rem;
  font-size: 1rem;
}
.block-benefits-bar > * i {
  font-size: 1.875rem;
}
.block-benefits-bar > * img {
  height: 1.875rem;
  width: 1.875rem;
}
.block-benefits-bar {
  background: transparent;
}
.block-benefits-bar > * label {
  color: #FFFFFF;
}
.block-benefits-bar > * i {
  color: #FFFFFF;
}
.block-benefits-bar > a:hover {
  background: #ffe004;
}
.block-benefits-bar > a:hover label {
  color: #FFFFFF;
}
.block-benefits-bar > a:hover i {
  color: #FFFFFF;
}
.block-benefits-bar > a.active {
  background: #ffe004;
}
.block-benefits-bar > a.active label {
  color: #FFFFFF;
}
.block-benefits-bar > a.active i {
  color: #FFFFFF;
}
.block-benefits-bar .item.disabled {
  cursor: not-allowed;
  opacity: 0.7;
  pointer-events: none;
}
.block-benefits-bar .item.disabled > * {
  opacity: 0.7;
  cursor: not-allowed;
}
.block-benefits-bar.two-up .item {
  width: 50%;
}
.block-benefits-bar.two-up.vertical .item, .block-benefits-bar.two-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.two-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.two-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar.three-up .item {
  width: 33.3333%;
}
.block-benefits-bar.three-up.vertical .item, .block-benefits-bar.three-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.three-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.three-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar.four-up .item {
  width: 25%;
}
.block-benefits-bar.four-up.vertical .item, .block-benefits-bar.four-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.four-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.four-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar.five-up .item {
  width: 20%;
}
.block-benefits-bar.five-up.vertical .item, .block-benefits-bar.five-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.five-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.five-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar.six-up .item {
  width: 16.66667%;
}
.block-benefits-bar.six-up.vertical .item, .block-benefits-bar.six-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.six-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.six-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar.seven-up .item {
  width: 14.28571%;
}
.block-benefits-bar.seven-up.vertical .item, .block-benefits-bar.seven-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.seven-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.seven-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar.eight-up .item {
  width: 12.5%;
}
.block-benefits-bar.eight-up.vertical .item, .block-benefits-bar.eight-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.0625em) {
  .block-benefits-bar.eight-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.0625em) {
  .block-benefits-bar.eight-up.large-vertical .item {
    width: auto;
  }
}
.block-benefits-bar .item {
  text-align: left;
  width: 50%;
}
.block-benefits-bar .item:hover {
  background-color: transparent;
}
.block-benefits-bar .item label {
  font: normal 1.25rem Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
  cursor: default;
}
.block-benefits-bar .item a {
  display: inline-block;
  text-align: left;
}
.block-benefits-bar .item a:hover label {
  color: #ffe004;
  text-decoration: underline;
}
.block-benefits-bar .item span:hover {
  background-color: transparent;
}
@media only screen and (max-width: 40em) {
  .block-benefits-bar .item {
    width: auto;
  }
}

/*------------------------------------*\
    #FOOTER
\*------------------------------------*/
footer {
  background-color: #0d0d0d;
  color: #828282;
  padding: 30px 0 40px 0;
}
footer p {
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 12px;
}

/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
.button, .button:hover, .button:focus {
  color: #000;
}

/**
 * Extra small transparent button
 */
.button.link {
  padding: 0.125rem 0.325rem;
  background-color: transparent;
  color: #008cba;
  margin-bottom: 0;
}
.button.link:hover {
  background-color: transparent;
  color: rgb(0, 120.4, 159.96);
}

/**
 * Extra small transparent button
 */
.xs-button {
  padding: 0.2rem 0.325rem;
  margin-bottom: 0;
  font-size: 0.75rem;
}
/**
 * Blue button
 */
.button-blue,
.info {
  background-color: #008cba;
}

/* 3d buttons */
.button.s3d {
  border-radius: 3px;
  color: #000;
  font: 600 20px sans-serif, "Open Sans";
  text-shadow: 0 1px 0 #fff;
  border-top: 1px solid rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  background: #ffe053;
  background: linear-gradient(to bottom, #ffe053 0%, #ff9d04 100%);
}
.button.s3d:focus, .button.s3d:active {
  color: #000;
}
.button.s3d:hover {
  color: #000;
  background: linear-gradient(to bottom, #ff9d04 0%, #ffe053 100%);
}
.button.s3d.no-margin {
  margin-bottom: 0;
}
.button.s3d.large {
  font: 600 24px sans-serif, "Open Sans";
}
.button.s3d.small {
  font: 600 16px sans-serif, "Open Sans";
}
.button.s3d.tiny {
  font: 600 12px sans-serif, "Open Sans";
}
.button.s3d.xs {
  font: 600 12px sans-serif, "Open Sans";
  padding: 0.25rem 0.8rem;
}
.button.s3d.success {
  background: #bef641;
  background: linear-gradient(to bottom, #bef641 0%, #51dd03 100%);
}
.button.s3d.success:hover {
  color: #000;
  background: linear-gradient(to bottom, #51dd03 0%, #bef641 100%);
}
.button.s3d.alert {
  background: #fa757d;
  background: linear-gradient(to bottom, #fa757d 0%, #eb0d11 100%);
  color: #fff;
  text-shadow: 0 1px 0 #000;
}
.button.s3d.alert:hover, .button.s3d.alert:visited, .button.s3d.alert:active {
  background: linear-gradient(to bottom, #eb0d11 0%, #fa757d 100%);
  color: #fff;
  text-shadow: 0 1px 0 #000;
}
.button.s3d.secondary {
  background: #d1f4f4;
  background: linear-gradient(to bottom, #d1f4f4 0%, #77dad9 100%);
}
.button.s3d.secondary:hover {
  background: linear-gradient(to bottom, #77dad9 0%, #d1f4f4 100%);
}
.button.s3d.gray {
  background: #f6f6f6;
  background: linear-gradient(to bottom, #f6f6f6 0%, #C6C6c6 100%);
}
.button.s3d.gray:hover {
  background: linear-gradient(to bottom, #C6C6c6 0%, #f6f6f6 100%);
}
.button.s3d.disabled, .button.s3d.disabled.secondary, .button.s3d.disabled.alert, .button.s3d.disabled.success {
  color: #000000;
  text-shadow: 0 1px 0 #fff;
  border-top: none;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  background: linear-gradient(to bottom, #e0e0e0 0%, #C6C6c6 100%);
}
.button.s3d.disabled:hover, .button.s3d.disabled.secondary:hover, .button.s3d.disabled.alert:hover, .button.s3d.disabled.success:hover {
  background: linear-gradient(to bottom, #e0e0e0 0%, #C6C6c6 100%);
}

/*------------------------------------*\
  #ICONS FONT ADDITIONAL FEATURES
\*------------------------------------*/
/**
 * Icon font sizes
 */
.ico-lg {
  font-size: 1.33333em;
}

.ico-x2, .ico-circle {
  font-size: 2em;
}

.ico-x3 {
  font-size: 3em;
}

.ico-x4 {
  font-size: 4em;
}

.ico-x5 {
  font-size: 5em;
}

/* Circle for icon size */
.ico-circle {
  border-radius: 100%;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  background-color: trasparent;
  line-height: 0;
}
.ico-circle:hover {
  opacity: 0.8;
}

.ico-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.ico-stack-1x, .ico-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.ico-inverse {
  color: #fff;
}

[class^=icon-], [class*=" icon-"] {
  vertical-align: middle;
}

*:not(.button) > .icon-close {
  color: #ff0000;
}

*:not(.button) > .icon-close:hover {
  color: #cf280e;
}

/**
 * Spin animation
 */
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.ico-spin {
  -webkit-animation: spin 2s infinite linear;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block;
}

/**
 * Rotate icon
 */
.ico-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

.ico-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

.ico-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg);
}

.ico-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.ico-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -moz-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  -o-transform: scale(1, -1);
  transform: scale(1, -1);
}

/*------------------------------------*\
  #CUSTOM MODAL WINDOW
\*------------------------------------*/
/**
 * Style for login modal window
 */
.loginModal {
  border-radius: 3px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
}
@media only screen and (max-width: 40em) {
  .loginModal {
    min-height: 100vh;
  }
}
.loginModal .column, .loginModal .columns {
  min-width: 0;
}
.loginModal > :first-child {
  margin-top: 0;
}
.loginModal > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width:40.0625em) {
  .loginModal {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 50%;
  }
}
.loginModal {
  background-color: #FFFFFF;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
@media only screen and (min-width:40.0625em) {
  .loginModal {
    top: 6.25rem;
  }
}
.loginModal .close-reveal-modal {
  position: absolute;
  right: 15px;
  top: 10px;
  color: #fff;
  font-size: 30px;
}
.loginModal .forgot-pass-link {
  font-size: 11px;
  display: inline-block;
  line-height: 35px;
}
.loginModal .enter-title {
  color: #000;
  font-size: 12px;
}
.loginModal .auth-icon {
  font-size: 2rem;
  vertical-align: middle;
}

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

.loginModal-title {
  margin: 0;
  background-color: #333;
  font-size: 18px;
  color: #fff;
  padding: 15px;
}

.loginModal-social-auth {
  padding: 15px;
  background-color: #f6f6f6;
  margin-bottom: 1em;
}

/**
 * Style for login page
 */
.loginModal-page {
  display: block;
  position: static;
  visibility: visible;
  margin: 0 auto 60px;
}

/*------------------------------------*\
  #PANEL BLOCK STYLE
\*------------------------------------*/
.panel-block {
  border-style: solid;
  border-width: 1px;
  border-color: rgb(215.6025, 215.6025, 215.6025);
  margin-bottom: 1.25rem;
  padding: 0;
  background: white;
  color: #333333;
}
.panel-block > :first-child {
  margin-top: 0;
}
.panel-block > :last-child {
  margin-bottom: 0;
}
.panel-block h1, .panel-block h2, .panel-block h3, .panel-block h4, .panel-block h5, .panel-block h6, .panel-block p, .panel-block li, .panel-block dl {
  color: #333333;
}
.panel-block h1, .panel-block h2, .panel-block h3, .panel-block h4, .panel-block h5, .panel-block h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}
.panel-block h1.subheader, .panel-block h2.subheader, .panel-block h3.subheader, .panel-block h4.subheader, .panel-block h5.subheader, .panel-block h6.subheader {
  line-height: 1.4;
}
.panel-block {
  border-color: #ddd;
  border-radius: 4px;
}
.panel-block.alert .panel-block-heading {
  background-color: #f04124;
  color: #fff;
}
.panel-block.secondary .panel-block-heading {
  background-color: #a1d3ff;
  color: #000;
}
.panel-block.success .panel-block-heading {
  background-color: #43ac6a;
  color: #fff;
}

.panel-block-heading {
  padding: 10px;
  background-color: #ffe004;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
  border-color: transparent;
  border-bottom: 1px solid #ddd;
  color: #222;
  font-size: 0.875rem;
  font-weight: 700;
}

.panel-block-body {
  padding: 10px;
  font-size: 0.75rem;
}
.panel-block-body p {
  font-size: 0.75rem;
}

/*------------------------------------*\
    #ALERT BOX WITH CUSTOM COLORS
\*------------------------------------*/
.alert-box {
  color: #222;
}
.alert-box a {
  color: rgb(55, 48.2071713147, 0);
  text-decoration: underline;
}
.alert-box a:hover {
  color: rgb(157, 137.609561753, 0);
}
.alert-box a:visited {
  color: rgb(208, 182.3107569721, 0);
}
.alert-box a:focus, .alert-box a:active {
  color: black;
}
.alert-box a.close {
  color: #000 !important;
  text-decoration: none;
}
.alert-box.success a {
  color: rgb(170.0794979079, 221.9205020921, 189.3347280335);
}
.alert-box.success a:hover {
  color: rgb(45.5543933054, 116.9456066946, 72.0711297071);
}
.alert-box.secondary a {
  color: rgb(8, 139.3829787234, 255);
}
.alert-box.secondary a:hover {
  color: rgb(0, 72.0744680851, 135.5);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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TFosbUJDcmNtQjtFRHNjbkIsZ0JBcGVhO0VBcWViO0VBQ0E7RUFDQTtBRDFhTjs7QUM2YUU7RUFBVSxlQWpHVztBRHhVdkI7O0FDNGFJO0VBQU07RUFBaUI7QUR2YTNCOztBQ3lhSTtFQUFNO0FEcmFWOztBQzBhTTs7Ozs7Ozs7O0VBRVM7QURoYWY7O0FDcWFJO0VBQVE7QURqYVo7O0FDa2FJO0VBQVM7QUQ5WmI7O0FDd0hFO0VBQW9CO0VBQWM7QURuSHBDO0FDb0hFO0VBQVU7QURqSFo7O0FDMFpJO0VBQ0U7QUR2Wk47O0FDMlpJO0VBQWE7QUR2WmpCOztBQzZaSTtFQUFlO0VBQXFDO0FEeFp4RDs7QUMyWkk7RUFDRTtFQUNBO0FEeFpOOztBQ2dhSTtFQUFXO0VBQWM7QUQzWjdCOztBQzhaSTtFQUFTO0FEMVpiOztBRzRFSTtFQTlKQTtFQUNBLGtCQTFEUTtFQTJEUjtBSHNGSjtBQytFRTtFQUFvQjtFQUFjO0FEM0VwQztBQzRFRTtFQUFVO0FEekVaO0FHbUVTOztFQTVITDtFQUNBO0FINkRKO0FHaUVRO0VBQU07RUFBZTtBSDdEN0I7QUdnRU07RUE3TEY7RUFDQTtFQUNBO0FIZ0lKO0FDMERFO0VBQW9CO0VBQWM7QUR0RHBDO0FDdURFO0VBQVU7QURwRFo7QUdxRFE7RUFoTEo7RUFDQTtFQUNBO0FIOEhKO0FDOENFO0VBQW9CO0VBQWM7QUQxQ3BDO0FDMkNFO0VBQVU7QUR4Q1o7O0FHNkNJOztFQWhJQTtFQUNBO0VBS0E7RUFXdUMsV0ZnTnpCO0FEdElsQjs7QUcwQ007Ozs7RUFDRSxZRjRGZTtBRGhJdkI7QUdzQ007Ozs7RUFDRSxXRndGVTtBRHpIbEI7O0FHcUNJO0VBckdBO0lBcERBO0lBeUJVO0lBQXFEO0VIa0dqRTtFR3BFRTtJQXZEQTtJQTBCVTtJQUEwRDtFSHNHdEU7RUc1RUU7SUFwREE7SUF5QlU7SUFBcUQ7RUg0R2pFO0VHOUVFO0lBdkRBO0lBMEJVO0lBQTBEO0VIZ0h0RTtFR3RGRTtJQXBEQTtJQXlCVTtJQUFxRDtFSHNIakU7RUd4RkU7SUF2REE7SUEwQlU7SUFBMEQ7RUgwSHRF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YXRFO0VHellFO0lBcERBO0lBeUJVO0lBQXFEO0VIeWFqRTtFRzNZRTtJQXZEQTtJQTBCVTtJQUEwRDtFSDZhdEU7RUduWkU7SUFwREE7SUF5QlU7SUFBcUQ7RUhtYmpFO0VHclpFO0lBdkRBO0lBMEJVO0lBQTBEO0VIdWJ0RTtFRzdaRTtJQXBEQTtJQXlCVTtJQUFxRDtFSDZiakU7RUcvWkU7SUF2REE7SUEwQlU7SUFBMEQ7RUhpY3RFO0VHdmFFO0lBcERBO0lBeUJVO0lBQXFEO0VIdWNqRTtFR3phRTtJQXZEQTtJQTBCVTtJQUEwRDtFSDJjdEU7RUd6YUE7O0lBNURFO0lBWUE7SUFDQTtJQWdCdUMsV0ZnTnpCO0VEK1BoQjtFRzNhRTtJQS9DQTtFSDZkRjtFRzlhRTtJQS9DQTtFSGdlRjtFR2piRTtJQS9DQTtFSG1lRjtFR3BiRTtJQS9DQTtFSHNlRjtFR3ZiRTtJQS9DQTtFSHllRjtFRzFiRTtJQS9DQTtFSDRlRjtFRzdiRTtJQS9DQTtFSCtlRjtFR2hjRTtJQS9DQTtFSGtmRjtFR25jRTtJQS9DQTtFSHFmRjtFR3RjRTtJQS9DQTtFSHdmRjtFR3pjRTtJQS9DQTtFSDJmRjtFRzVjRTtJQS9DQTtFSDhmRjtFRzNjRTtJQTNCWTtFSHllZDtFRzljRTtJQTNCWTtFSDRlZDtFR2pkRTtJQTNCWTtFSCtlZDtFR3BkRTtJQTNCWTtFSGtmZDtFR3ZkRTtJQTNCWTtFSHFmZDtFRzFkRTtJQTNCWTtFSHdmZDtFRzdkRTtJQTNCWTtFSDJmZDtFR2hlRTtJQTNCWTtFSDhmZDtFR25lRTtJQTNCWTtFSGlnQmQ7RUd0ZUU7SUEzQlk7RUhvZ0JkO0VHemVFO0lBM0JZO0VIdWdCZDtFRzVlRTtJQTNCWTtFSDBnQmQ7RUc1ZUE7SUFDRSxXRm9LYztJRW5LZDtJQUNBO0lBQ0E7SUFDQTtFSDhlRjtFRzNlQTs7SUE1Q0U7SUFDQTtJQUNBO0VIMmhCRjtFRzllQTs7SUFFRSxXRndKYztJRXZKZDtJQUNBO0VIZ2ZGO0VHNWVBOztJQUVFO0VIOGVGO0VHMWVBOztJQUVFLFdGMEljO0VEa1doQjtFR3plQTs7SUFFRSxZRnNJ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MUJGO0VHdHlCRTtJQS9DQTtFSHcxQkY7RUd6eUJFO0lBL0NBO0VIMjFCRjtFRzV5QkU7SUEvQ0E7RUg4MUJGO0VHL3lCRTtJQS9DQTtFSGkyQkY7RUdsekJFO0lBL0NBO0VIbzJCRjtFR3J6QkU7SUEvQ0E7RUh1MkJGO0VHeHpCRTtJQS9DQTtFSDAyQkY7RUczekJFO0lBL0NBO0VINjJCRjtFRzF6QkU7SUEzQlk7RUh3MUJkO0VHN3pCRTtJQTNCWTtFSDIxQmQ7RUdoMEJFO0lBM0JZO0VIODFCZDtFR24wQkU7SUEzQlk7RUhpMkJkO0VHdDBCRTtJQTNCWTtFSG8yQmQ7RUd6MEJFO0lBM0JZO0VIdTJCZDtFRzUwQkU7SUEzQlk7RUgwMkJkO0VHLzBCRTtJQTNCWTtFSDYyQmQ7RUdsMUJFO0lBM0JZO0VIZzNCZDtFR3IxQkU7SUEzQlk7RUhtM0JkO0VHeDFCRTtJQTNCWTtFSHMzQmQ7RUczMUJFO0lBM0JZO0VIeTNCZDtFRzMxQkE7SUFDRSxXRm9LYztJRW5LZDtJQUNBO0lBQ0E7SUFDQTtFSDYxQkY7RUcxMUJBOztJQTVDRTtJQUNBO0lBQ0E7RUgwNEJGO0VHNzFCQTs7SUFFRSxXRndKYztJRXZKZDtJQUNBO0VIKzFCRjtFRzMxQkE7O0lBRUU7RUg2MUJGO0VHejFCQTs7SUFFRSxXRjBJYztFRGl0QmhCO0VHeDFCQTs7SUFFRSxZRnNJbUI7RURvdEJyQjtFR3IxQkk7O0lBeEdGO0lBQ0E7RUhpOEJGO0VHdjFCSTtJQUFNO0lBQWU7RUgyMUJ6QjtFR3gxQkk7O0lBdkdGO0lBQ0E7SUFnQnVDLFdGZ056QjtFRG91QmhCO0VHcnlCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSDY3QmpFO0VHdnlCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSGk4QnRFO0VHL3lCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSHU4QmpFO0VHanpCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSDI4QnRFO0VHenpCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSGk5QmpFO0VHM3pCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSHE5QnRFO0VHbjBCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSDI5QmpFO0VHcjBCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSCs5QnRFO0VHNzBCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSHErQmpFO0VHLzBCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSHkrQnRFO0VHdjFCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSCsrQmpFO0VHejFCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSG0vQnRFO0VHajJCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSHkvQmpFO0VHbjJCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSDYvQnRFO0VHMzJCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSG1nQ2pFO0VHNzJCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSHVnQ3RFO0VHcjNCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSDZnQ2pFO0VHdjNCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSGloQ3RFO0VHLzNCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSHVoQ2pFO0VHajRCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSDJoQ3RFO0VHejRCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSGlpQ2pFO0VHMzRCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSHFpQ3RFO0VHbjVCTTtJQTVLSjtJQXlCVTtJQUFxRDtFSDJpQ2pFO0VHcjVCTTtJQS9LSjtJQTBCVTtJQUEwRDtFSCtpQ3RFO0FBQ0Y7QUNwOEJFO0VBQW9CO0VBQWM7QUR3OEJwQztBQ3Y4QkU7RUFBVTtBRDA4Qlo7QUlwakNJO0VBRUU7RUFDQTtBSnFqQ047QUlwakNNO0VBQ0U7RUFDQTtBSnNqQ1I7QUlyakNRO0VBQWUsdUNBM0hnQjtFQTJIbUMsY0hzS3pEO0FEbTVCakI7QUl4akNRO0VBQ0UsbUJId0pPO0VHdkpQLGNIbUtPO0VHbEtQO0VBQ0Esd0NGNUZhO0VFNkZiLGVBOUh1QjtFQStIdkIsYUFySXFCO0FKK3JDL0I7QUl6akNVO0VBQVUsdUNBcElrQjtBSmdzQ3RDO0FJempDUTtFQUNFO0VBQ0Esa0JBbElrQjtBSjZyQzVCO0FJMWpDVTtFQUNFLG1CSHNJSztFR3JJTDtBSjRqQ1o7O0FLdm1DSTtFQXpERixtQkEzQm1CO0VBNEJuQixpQkEzQm1CO0VBNEJuQjtFQUNBLG9CQXRDZ0I7RUF1Q2hCLG1CSE51QjtFR092QixzQkE3Qm9CO0VBOEJwQjtFQUNBO0VKc0VBLGtDQVBtQjtFSWxEbkIseUJIVGtCO0VHVWxCO0VBSTBCLGNKZ05YO0FEczhCakI7QUtubkNNO0VBN0JKLGNBbERxQjtFQW1EckIsbUJBOUN1QjtFQStDdkIsY0p3TmU7RUl2TmYsbUJBcERzQjtFQXFEdEI7RUFDQTtFQUNBLFlBdERvQjtFQXVEcEIsa0JBckRvQjtFQXNEcEI7RUFDQSxRQTVEZ0I7QUwrc0NsQjtBS2xwQ0U7RUFDVSxZQTFEZ0I7QUw4c0M1QjtBS2hvQ007RUpsRkYsa0JBeVRZO0FENDVCaEI7QUtsb0NNO0VKbkZGLHFCQTBUYTtBRDg1QmpCO0FLbm9DTTtFQTdDSix5QkhMa0I7RUdNbEI7RUFJMEIsY0pnTlg7QURnK0JqQjtBS3ZvQ007RUE5Q0oseUJITmdCO0VHT2hCO0VBSTBCLGNKZ05YO0FEcStCakI7QUszb0NNO0VBL0NKLHlCSFJvQjtFR1NwQjtFQUcwQixvQ0F6REw7QUxvdkN2QjtBSy9vQ007RUFoREoseUJKOE9jO0VJN09kO0VBSTBCLGNKZ05YO0FEKytCakI7QUtucENNO0VBakRKLHlCSEplO0VHS2Y7RUFHMEIsb0NBekRMO0FMOHZDdkI7QUt2cENNO0VBQWdCO0FMMHBDdEI7O0FNNXFDSTtFQWpFQTtFQUNBO0VBSUU7QU44dUNOO0FDaGpDRTtFQUFvQjtFQUFjO0FEb2pDcEM7QUNuakNFO0VBQVU7QURzakNaO0FNanZDSTtFQUNFO0VBQ0EsV0wrUlk7RUs5Ulo7RUFFRTtBTmt2Q1I7O0FNNXJDTTtFQWhERjtJQUNFO0lBSUE7RU42dUNKO0VNM3VDSTtJQUFvQjtFTjh1Q3hCO0VNN3VDSTtJQUFnQztFTmd2Q3BDO0VNeHZDRTtJQUNFO0lBSUE7RU51dkNKO0VNcnZDSTtJQUFvQjtFTnd2Q3hCO0VNdnZDSTtJQUFnQztFTjB2Q3BDO0VNbHdDRTtJQUNFO0lBSUE7RU5pd0NKO0VNL3ZDSTtJQUFvQjtFTmt3Q3hCO0VNandDSTtJQUFnQztFTm93Q3BDO0VNNXdDRTtJQUNFO0lBSUE7RU4yd0NKO0VNendDSTtJQUFvQjtFTjR3Q3hCO0VNM3dDSTtJQUFnQztFTjh3Q3BDO0VNdHhDRTtJQUNFO0lBSUE7RU5xeENKO0VNbnhDSTtJQUFvQjtFTnN4Q3hCO0VNcnhDSTtJQUFnQztFTnd4Q3BDO0VNaHlDRTtJQUNFO0lBSUE7RU4reENKO0VNN3hDSTtJQUFvQjtFTmd5Q3hCO0VNL3hDSTtJQUFnQztFTmt5Q3BDO0VNMXlDRTtJQUNFO0lBSUE7RU55eUNKO0VNdnlDSTtJQUFvQjtFTjB5Q3hCO0VNenlDSTtJQUFnQztFTjR5Q3BDO0VNcHpDRTtJQUNFO0lBSUE7RU5tekNKO0VNanpDSTtJQUFvQjtFTm96Q3hCO0VNbnpDSTtJQUFnQztFTnN6Q3BDO0VNOXpDRTtJQUNFO0lBSUE7RU42ekNKO0VNM3pDSTtJQUFvQjtFTjh6Q3hCO0VNN3pDSTtJQUFnQztFTmcwQ3BDO0VNeDBDRTtJQUNFO0lBSUE7RU51MENKO0VNcjBDSTtJQUFvQjtFTncwQ3hCO0VNdjBDSTtJQUFnQztFTjAwQ3BDO0VNbDFDRTtJQUNFO0lBSUE7RU5pMUNKO0VNLzBDSTtJQUFvQjtFTmsxQ3hCO0VNajFDSTtJQUFnQztFTm8xQ3BDO0VNNTFDRTtJQUNFO0lBSUE7RU4yMUNKO0VNejFDSTtJQUFvQjtFTjQxQ3hCO0VNMzFDSTtJQUFnQztFTjgxQ3BDO0FBQ0Y7QU1uekNNO0VBcERGO0lBQ0U7SUFJQTtFTnUyQ0o7RU1yMkNJO0lBQW9CO0VOdzJDeEI7RU12MkNJO0lBQWdDO0VOMDJDcEM7RU1sM0NFO0lBQ0U7SUFJQTtFTmkzQ0o7RU0vMkNJO0lBQW9CO0VOazNDeEI7RU1qM0NJO0lBQWdDO0VObzNDcEM7RU01M0NFO0lBQ0U7SUFJQTtFTjIzQ0o7RU16M0NJO0lBQW9CO0VONDNDeEI7RU0zM0NJO0lBQWdDO0VOODNDcEM7RU10NENFO0lBQ0U7SUFJQTtFTnE0Q0o7RU1uNENJO0lBQW9CO0VOczRDeEI7RU1yNENJO0lBQWdDO0VOdzRDcEM7RU1oNUNFO0lBQ0U7SUFJQTtFTis0Q0o7RU03NENJO0lBQW9CO0VOZzVDeEI7RU0vNENJO0lBQWdDO0VOazVDcEM7RU0xNUNFO0lBQ0U7SUFJQTtFTnk1Q0o7RU12NUNJO0lBQW9CO0VOMDVDeEI7RU16NUNJO0lBQWdDO0VONDVDcEM7RU1wNkNFO0lBQ0U7SUFJQTtFTm02Q0o7RU1qNkNJO0lBQW9CO0VObzZDeEI7RU1uNkNJO0lBQWdDO0VOczZDcEM7RU05NkNFO0lBQ0U7SUFJQTtFTjY2Q0o7RU0zNkNJO0lBQW9CO0VOODZDeEI7RU03NkNJO0lBQWdDO0VOZzdDcEM7RU14N0NFO0lBQ0U7SUFJQTtFTnU3Q0o7RU1yN0NJO0lBQW9CO0VOdzdDeEI7RU12N0NJO0lBQWdDO0VOMDdDcEM7RU1sOENFO0lBQ0U7SUFJQTtFTmk4Q0o7RU0vN0NJO0lBQW9CO0VOazhDeEI7RU1qOENJO0lBQWdDO0VObzhDcEM7RU01OENFO0lBQ0U7SUFJQTtFTjI4Q0o7RU16OENJO0lBQW9CO0VONDhDeEI7RU0zOENJO0lBQWdDO0VOODhDcEM7RU10OUNFO0lBQ0U7SUFJQTtFTnE5Q0o7RU1uOUNJO0lBQW9CO0VOczlDeEI7RU1yOUNJO0lBQWdDO0VOdzlDcEM7QUFDRjtBTXo2Q007RUF4REY7SUFDRTtJQUlBO0VOaStDSjtFTS85Q0k7SUFBb0I7RU5rK0N4QjtFTWorQ0k7SUFBZ0M7RU5vK0NwQztFTTUrQ0U7SUFDRTtJQUlBO0VOMitDSjtFTXorQ0k7SUFBb0I7RU40K0N4QjtFTTMrQ0k7SUFBZ0M7RU44K0NwQztFTXQvQ0U7SUFDRTtJQUlBO0VOcS9DSjtFTW4vQ0k7SUFBb0I7RU5zL0N4QjtFTXIvQ0k7SUFBZ0M7RU53L0NwQztFTWhnREU7SUFDRTtJQUlBO0VOKy9DSjtFTTcvQ0k7SUFBb0I7RU5nZ0R4QjtFTS8vQ0k7SUFBZ0M7RU5rZ0RwQztFTTFnREU7SUFDRTtJQUlBO0VOeWdESjtFTXZnREk7SUFBb0I7RU4wZ0R4QjtFTXpnREk7SUFBZ0M7RU40Z0RwQztFTXBoREU7SUFDRTtJQUlBO0VObWhESjtFTWpoREk7SUFBb0I7RU5vaER4QjtFTW5oREk7SUFBZ0M7RU5zaERwQztFTTloREU7SUFDRTtJQUlBO0VONmhESjtFTTNoREk7SUFBb0I7RU44aER4QjtFTTdoREk7SUFBZ0M7RU5naURwQztFTXhpREU7SUFDRTtJQUlBO0VOdWlESjtFTXJpREk7SUFBb0I7RU53aUR4QjtFTXZpREk7SUFBZ0M7RU4waURwQztFTWxqREU7SUFDRTtJQUlBO0VOaWpESjtFTS9pREk7SUFBb0I7RU5rakR4QjtFTWpqREk7SUFBZ0M7RU5vakRwQztFTTVqREU7SUFDRTtJQUlBO0VOMmpESjtFTXpqREk7SUFBb0I7RU40akR4QjtFTTNqREk7SUFBZ0M7RU44akRwQztFTXRrREU7SUFDRTtJQUlBO0VOcWtESjtFTW5rREk7SUFBb0I7RU5za0R4QjtFTXJrREk7SUFBZ0M7RU53a0RwQztFTWhsREU7SUFDRTtJQUlBO0VOK2tESjtFTTdrREk7SUFBb0I7RU5nbER4QjtFTS9rREk7SUFBZ0M7RU5rbERwQztBQUNGO0FPamlESTtFQTFFRixtQkF4Qm1CO0VBeUJuQixpQkExQmtCO0VBMkJsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFDQXBDYztFQXVDZCx3Q0ExQ1M7RUEyQ1QsOENBakNtQjtFTllqQixrQkF5VFk7QUR5MENoQjtBT3ppRE07RUE3REosY0wwSHFCO0VLekhyQixXTm9SZ0I7RU1uUmhCLG9CQXJDZ0I7RUFzQ2hCLHNCQXZDa0I7RUF3Q2xCO0VBQ0EseUJBcENxQjtBUDZvRHZCO0FPdm1ERTtFQUF1QiwwQkFyQ047QVArb0RuQjtBT3htREU7RUFDRSxjTGdIbUI7QUYwL0N2QjtBT3RtREU7RUFDRSxjTmtPYTtFTWpPYixlTitVbUI7QUR5eEN2QjtBT3ZtREk7RUFDRSxjTitOVztFTTlOWCxlTjRVaUI7QUQ2eEN2QjtBT3RtREk7RUFDcUI7QVB3bUR6QjtBT3BtREU7RUFDRSxjTitNYTtBRHU1Q2pCO0FPcm1ESTtFQUFJLGNOOE1TO0FEMDVDakI7QU90bURJOztFQUlFLGNOd01XO0VNdk1YLG1CTjRUa0I7RU0zVGxCO0FQc21ETjtBT2xtREU7RUFDRSxjTmdNYTtFTS9MYjtFQUNBO0VBQ0E7RUFDQSxRQXZFbUI7QVAycUR2QjtBT2ptREU7RUFDRTtFQUNBO0FQbW1ESjs7QU9ybERJO0FBQ0E7RUFDRTtBUHdsRE47O0FRaGdESTtFQTdJQTtFQUNBO0VBQ0E7RUFDQSxtQkExQ2tCO0VBMkNsQixlQTVDa0I7RUE2Q2xCLGVQOFVtQjtFTzdVbkIsd0NOL0JtQjtFTWdDbkIsbUJOL0JxQjtFTWdDckI7RUFDQTtFQUNBO0VBQ0Esa0JBekRnQjtFQTBEaEI7RUFFYSxxQkF4RUE7RUF1RmI7RUFFbUMsZUFoRnJCO0VBcUlkLHlCTi9GZ0I7RU1nR2hCLDBDQVJpQjtBUnFsRHJCO0FRNWtESTtFQUNVLDhDQWRHO0FSNGxEakI7QVF4aERJO0VBbkRBO0FSOGtESjtBUTVrREk7RUFFRTtBUjZrRE47QVE5aERJO0VQdEZGLDJDQVBtQjtBRDhuRHJCO0FRMWhETTtFQWhFRix5Qk45RmtCO0VNK0ZsQiw0Q0F2SHdCO0FSb3RENUI7QVE1bERJO0VBQ1UsZ0RBekhjO0FSdXRENUI7QVFqaURNO0VBMURGO0FSOGxESjtBUTVsREk7RUFFRTtBUjZsRE47QVF0aURNO0VBakVGLHlCTjNGZ0I7RU00RmhCLG9DQXBIc0I7QVI4dEQxQjtBUXptREk7RUFDVSx3Q0F0SFk7QVJpdUQxQjtBUTdpRE07RUEzREY7QVIybURKO0FRem1ESTtFQUVFO0FSMG1ETjtBUWxqRE07RUFsRUYseUJONUZjO0VNNkZkLCtEQWpIb0I7QVJ3dUR4QjtBUXRuREk7RUFDVSxtRUFuSFU7QVIydUR4QjtBUXpqRE07RUE1REY7QVJ3bkRKO0FRdG5ESTtFQUVFO0FSdW5ETjtBUTlqRE07RUFuRUYseUJQd0pZO0VPdkpaLHVEQTlHc0I7QVJrdkQxQjtBUW5vREk7RUFDVSwyREFoSFk7QVJxdkQxQjtBUXJrRE07RUE3REY7QVJxb0RKO0FRbm9ESTtFQUVFO0FSb29ETjtBUTFrRE07RUFwRUYseUJOMUZhO0VNMkZiLHNDQTNHbUI7QVI0dkR2QjtBUWhwREk7RUFDVSwwQ0E3R1M7QVIrdkR2QjtBUWpsRE07RUE5REY7QVJrcERKO0FRaHBESTtFQUVFO0FSaXBETjtBUXJsRE07RUE3SEY7RUFLbUMsa0JBbEZyQjtBUm15RGxCO0FReGxETTtFQTlIRjtFQUltQyxvQkFuRnJCO0FSeXlEbEI7QVEzbERNO0VBL0hGO0VBR21DLG9CQW5GckI7QVI4eURsQjtBUTlsRE07RUE5R0Ysa0JBN0dTO0VBOEdULG1CQTlHUztFQStHVDtBUitzREo7QVFqbURNO0VBQWdCO0VBQWtCO0FScW1EeEM7QVFwbURNO0VBQWdCO0VBQW1CO0FSd21EekM7QVF0bURNO0VQNU1GLGtCQXlUWTtBRDQvQ2hCO0FReG1ETTtFUDdNRixxQkEwVGE7QUQ4L0NqQjtBUXptRE07RUFqRkYseUJOL0ZnQjtFTWdHaEIsMENBMUhjO0FSdXpEbEI7QVE1ckRJO0VBQ1UsOENBNUhJO0FSMHpEbEI7QVFobkRNO0VBM0VGO0FSOHJESjtBUTVyREk7RUFFRTtBUjZyRE47QVF0bkRNO0VBakVGO0VBQ0EsZVA0T21CO0VPM09uQixZQXBIc0I7QVI4eUQxQjtBUXpyREk7RUFDVSx5Qk5uSE07QUY4eURwQjtBUTduRFE7RUFsRkoseUJOOUZrQjtFTStGbEIsNENBdkh3QjtBUnkwRDVCO0FRanRESTtFQUNVLGdEQXpIYztBUjQwRDVCO0FRcG9EUTtFQTVFSjtBUm10REo7QVFqdERJO0VBRUU7QVJrdEROO0FRMW9EUTtFQWxFSjtFQUNBLGVQNE9tQjtFTzNPbkIsWUFwSHNCO0FSbTBEMUI7QVE5c0RJO0VBQ1UseUJObEhRO0FGazBEdEI7QVFqcERRO0VBbkZKLHlCTjNGZ0I7RU00RmhCLG9DQXBIc0I7QVIyMUQxQjtBUXR1REk7RUFDVSx3Q0F0SFk7QVI4MUQxQjtBUXhwRFE7RUE3RUo7QVJ3dURKO0FRdHVESTtFQUVFO0FSdXVETjtBUTlwRFE7RUFuRUo7RUFDQSxlUDRPbUI7RU8zT25CLFlBcEhzQjtBUncxRDFCO0FRbnVESTtFQUNVLHlCTi9HTTtBRm8xRHBCO0FRcnFEUTtFQXBGSix5Qk41RmM7RU02RmQsK0RBakhvQjtBUjYyRHhCO0FRM3ZESTtFQUNVLG1FQW5IVTtBUmczRHhCO0FRNXFEUTtFQTlFSjtBUjZ2REo7QVEzdkRJO0VBRUU7QVI0dkROO0FRbHJEUTtFQXBFSjtFQUNBLGVQNE9tQjtFTzNPbkIsWUFwSHNCO0FSNjJEMUI7QVF4dkRJO0VBQ1UseUJOaEhJO0FGMDJEbEI7QVF6ckRRO0VBckZKLHlCUHdKWTtFT3ZKWix1REE5R3NCO0FSKzNEMUI7QVFoeERJO0VBQ1UsMkRBaEhZO0FSazREMUI7QVFoc0RRO0VBL0VKO0FSa3hESjtBUWh4REk7RUFFRTtBUml4RE47QVF0c0RRO0VBckVKO0VBQ0EsZVA0T21CO0VPM09uQixZQXBIc0I7QVJrNEQxQjtBUTd3REk7RUFDVSx5QlBvSUU7QUQyb0RoQjtBUTdzRFE7RUF0RkoseUJOMUZhO0VNMkZiLHNDQTNHbUI7QVJpNUR2QjtBUXJ5REk7RUFDVSwwQ0E3R1M7QVJvNUR2QjtBUXB0RFE7RUFoRko7QVJ1eURKO0FRcnlESTtFQUVFO0FSc3lETjtBUTF0RFE7RUF0RUo7RUFDQSxlUDRPbUI7RU8zT25CLFlBcEhzQjtBUnU1RDFCO0FRbHlESTtFQUNVLHlCTjlHRztBRms1RGpCOztBUTd0REk7RUFBMEI7RUFBVTtBUmt1RHhDOztBUWh1REk7RUFDRTtJQXBLVyxxQkFxS21DO0VSbXVEbEQ7QUFDRjtBU3IwREk7RUF2SUE7RUFDQTtFQUNBO0FUKzhESjtBQzV2REU7RUFBb0I7RUFBYztBRGd3RHBDO0FDL3ZERTtFQUFVO0FEa3dEWjtBU3o4REU7RUFDRTtFQUNBO0FUMjhESjtBU3Y4REk7RUFDRTtBVHk4RE47QVNyMURRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcTJESjtBU3AyREk7RUFBa0I7QVR1MkR0QjtBU3o5REU7RUFDRTtFQUNBO0FUMjlESjtBU3Y5REk7RUFDRTtBVHk5RE47QVNyMkRRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcTNESjtBU3AzREk7RUFBa0I7QVR1M0R0QjtBU3orREU7RUFDRTtFQUNBO0FUMitESjtBU3YrREk7RUFDRTtBVHkrRE47QVNyM0RRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcTRESjtBU3A0REk7RUFBa0I7QVR1NER0QjtBU3ovREU7RUFDRTtFQUNBO0FUMi9ESjtBU3YvREk7RUFDRTtBVHkvRE47QVNyNERRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcTVESjtBU3A1REk7RUFBa0I7QVR1NUR0QjtBU3pnRUU7RUFDRTtFQUNBO0FUMmdFSjtBU3ZnRUk7RUFDRTtBVHlnRU47QVNyNURRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcTZESjtBU3A2REk7RUFBa0I7QVR1NkR0QjtBU3poRUU7RUFDRTtFQUNBO0FUMmhFSjtBU3ZoRUk7RUFDRTtBVHloRU47QVNyNkRRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcTdESjtBU3A3REk7RUFBa0I7QVR1N0R0QjtBU3ppRUU7RUFDRTtFQUNBO0FUMmlFSjtBU3ZpRUk7RUFDRTtBVHlpRU47QVNyN0RRO0VBbkdKLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7RUF3RnRCO0FUcThESjtBU3A4REk7RUFBa0I7QVR1OER0QjtBU3pqRUU7RUFDRTtFQUNBO0FUMmpFSjtBU3ZqRUk7RUFDRTtBVHlqRU47QVNsOERNO0VBdEdGLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7QVQ0aUUxQjtBU3JrRUU7RUFDRTtFQUNBO0FUdWtFSjtBU25rRUk7RUFDRTtBVHFrRU47QVMzOERRO0VBekdKLFdScVJjO0FEa3lEbEI7QVNoakVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGtqRU47QVNoakVJO0VBQ0k7QVRrakVSO0FTOWlFTTtFQUNFO0FUZ2pFUjtBUzM5RFE7RUFoRk4sY0FwQnlCO0VBcUJ6QixTQXBCd0I7RUFtR3lDO0FUZytEbkU7QVNqbUVFO0VBQ0U7RUFDQTtBVG1tRUo7QVMvbEVJO0VBQ0U7QVRpbUVOO0FTbitEUTtFQTdHSixXUnFSYztFUTVQaEIscUJBMUJ5QjtFQTJCekIsY0F6QndCO0FUb2xFMUI7QVN0K0RVO0VBdklSO0lBQ0U7SUFDQTtFVGduRUY7RVM1bUVFO0lBQ0U7RVQ4bUVKO0VTaC9ETTtJQTdHSixXUnFSYztFRDIwRGhCO0VTemxFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVQybEVKO0VTemxFRTtJQUNJO0VUMmxFTjtFU3ZsRUk7SUFDRTtFVHlsRU47RVNoZ0VNO0lBcEZOLGNBcEJ5QjtJQXFCekIsU0FwQndCO0lBMkdkO0VUaWdFVjtBQUNGO0FTM29FRTtFQUNFO0VBQ0E7QVQ2b0VKO0FTem9FSTtFQUNFO0FUMm9FTjtBU3BnRU07RUF0SEYsV1JxUmM7RVE1UGhCLHFCQTFCeUI7RUEyQnpCLGNBekJ3QjtBVDhuRTFCO0FTcGtFSTs7OztFUnZGQSxnQlEwRjRCO0FUdWtFaEM7QVN0a0VJO0VSakZBLHNDQStTWTtFQTlTWixtQ0E4U1k7RUE3U1osOEJBNlNZO0VBNVNaLDJCQTRTWTtBRDgyRGhCO0FTamtFSTtFUjVGQSx1Q0ErU1k7RUE5U1osb0NBOFNZO0VBN1NaLCtCQTZTWTtFQTVTWiw0QkE0U1k7QURvM0RoQjtBU3pxRUU7RUFDRTtFQUNBO0FUMnFFSjtBU3ZxRUk7RUFDRTtBVHlxRU47QVNqaUVNO0VBdkhGLFdScVJjO0FEczREbEI7QVNwcEVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHNwRU47QVNwcEVJO0VBQ0k7QVRzcEVSO0FTbHBFTTtFQUNFO0FUb3BFUjtBU2pqRU07RUE5RkosY0FwQnlCO0VBcUJ6QixTQXBCd0I7QVRzcUUxQjtBU2puRUk7Ozs7RVJ2RkEsZ0JRMEY0QjtBVG9uRWhDO0FTbm5FSTtFUjVFQSw0QkEwU1k7RUF6U1osNkJBeVNZO0VBeFNaLDJCQXdTWTtFQXZTWiw0QkF1U1k7QUQyNURoQjtBUzltRUk7RVJ2RkEsK0JBMFNZO0VBelNaLGdDQXlTWTtFQXhTWiw4QkF3U1k7RUF2U1osK0JBdVNZO0FEaTZEaEI7QVNya0VRO0VBakpOO0lBQ0U7SUFDQTtFVHl0RUY7RVNydEVFO0lBQ0U7RVR1dEVKO0VTOWtFSTtJQXhIRixXUnFSYztJUTVQaEIscUJBMUJ5QjtJQTJCekIsY0F6QndCO0VUMHNFeEI7RVNocEVFOzs7O0lSdkZBLGdCUTBGNEI7RVRtcEU5QjtFU2xwRUU7SVJqRkEsc0NBK1NZO0lBOVNaLG1DQThTWTtJQTdTWiw4QkE2U1k7SUE1U1osMkJBNFNZO0VEMDdEZDtFUzdvRUU7SVI1RkEsdUNBK1NZO0lBOVNaLG9DQThTWTtJQTdTWiwrQkE2U1k7SUE1U1osNEJBNFNZO0VEZzhEZDtBQUNGO0FTbG1FUTtFQXBKTjtJQUNFO0lBQ0E7RVR5dkVGO0VTcnZFRTtJQUNFO0VUdXZFSjtFUzltRUk7SUF4SEYsV1JxUmM7RURvOURoQjtFU2x1RUU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VUb3VFSjtFU2x1RUU7SUFDSTtFVG91RU47RVNodUVJO0lBQ0U7RVRrdUVOO0VTOW5FSTtJQS9GSixjQXBCeUI7SUFxQnpCLFNBcEJ3QjtFVG92RXhCO0VTL3JFRTs7OztJUnZGQSxnQlEwRjRCO0VUa3NFOUI7RVNqc0VFO0lSNUVBLDRCQTBTWTtJQXpTWiw2QkF5U1k7SUF4U1osMkJBd1NZO0lBdlNaLDRCQXVTWTtFRHkrRGQ7RVM1ckVFO0lSdkZBLCtCQTBTWTtJQXpTWixnQ0F5U1k7SUF4U1osOEJBd1NZO0lBdlNaLCtCQXVTWTtFRCsrRGQ7QUFDRjtBU3J5RUU7RUFDRTtFQUNBO0FUdXlFSjtBU255RUk7RUFDRTtBVHF5RU47QVNucEVNO0VBaklGLFdScVJjO0VRNVBoQixxQkExQnlCO0VBMkJ6QixjQXpCd0I7QVR3eEUxQjtBUzl0RUk7Ozs7RVJ2RkEsZ0JRMEY0QjtBVGl1RWhDO0FTaHVFSTtFUmpGQSx5Q0FnVGE7RUEvU2Isc0NBK1NhO0VBOVNiLGlDQThTYTtFQTdTYiw4QkE2U2E7QUR1Z0VqQjtBUzN0RUk7RVI1RkEsMENBZ1RhO0VBL1NiLHVDQStTYTtFQTlTYixrQ0E4U2E7RUE3U2IsK0JBNlNhO0FENmdFakI7QVNuMEVFO0VBQ0U7RUFDQTtBVHEwRUo7QVNqMEVJO0VBQ0U7QVRtMEVOO0FTaHJFTTtFQWxJRixXUnFSYztBRGdpRWxCO0FTOXlFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRnekVOO0FTOXlFSTtFQUNJO0FUZ3pFUjtBUzV5RU07RUFDRTtBVDh5RVI7QVNoc0VNO0VBekdKLGNBcEJ5QjtFQXFCekIsU0FwQndCO0FUZzBFMUI7QVMzd0VJOzs7O0VSdkZBLGdCUTBGNEI7QVQ4d0VoQztBUzd3RUk7RVI1RUEsNkJPbkNTO0VQb0NULDhCT3BDUztFUHFDVCw0Qk9yQ1M7RVBzQ1QsNkJPdENTO0FSazRFYjtBU3h3RUk7RVJ2RkEsZ0NPbkNTO0VQb0NULGlDT3BDUztFUHFDVCwrQk9yQ1M7RVBzQ1QsZ0NPdENTO0FSdzRFYjtBU3B0RVE7RUE1Sk47SUFDRTtJQUNBO0VUbTNFRjtFUy8yRUU7SUFDRTtFVGkzRUo7RVM3dEVJO0lBbklGLFdScVJjO0lRNVBoQixxQkExQnlCO0lBMkJ6QixjQXpCd0I7RVRvMkV4QjtFUzF5RUU7Ozs7SVJ2RkEsZ0JRMEY0QjtFVDZ5RTlCO0VTNXlFRTtJUmpGQSx5Q0FnVGE7SUEvU2Isc0NBK1NhO0lBOVNiLGlDQThTYTtJQTdTYiw4QkE2U2E7RURtbEVmO0VTdnlFRTtJUjVGQSwwQ0FnVGE7SUEvU2IsdUNBK1NhO0lBOVNiLGtDQThTYTtJQTdTYiwrQkE2U2E7RUR5bEVmO0FBQ0Y7QVNqdkVRO0VBL0pOO0lBQ0U7SUFDQTtFVG01RUY7RVMvNEVFO0lBQ0U7RVRpNUVKO0VTN3ZFSTtJQW5JRixXUnFSYztFRDhtRWhCO0VTNTNFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVQ4M0VKO0VTNTNFRTtJQUNJO0VUODNFTjtFUzEzRUk7SUFDRTtFVDQzRU47RVM3d0VJO0lBMUdKLGNBcEJ5QjtJQXFCekIsU0FwQndCO0VUODRFeEI7RVN6MUVFOzs7O0lSdkZBLGdCUTBGNEI7RVQ0MUU5QjtFUzMxRUU7SVI1RUEsNkJPbkNTO0lQb0NULDhCT3BDUztJUHFDVCw0Qk9yQ1M7SVBzQ1QsNkJPdENTO0VSZzlFWDtFU3QxRUU7SVJ2RkEsZ0NPbkNTO0lQb0NULGlDT3BDUztJUHFDVCwrQk9yQ1M7SVBzQ1QsZ0NPdENTO0VSczlFWDtBQUNGOztBQ3p2RUU7RUFBb0I7RUFBYztBRDh2RXBDO0FDN3ZFRTtFQUFVO0FEZ3dFWjtBU2h5RU07RUFoTEY7RUFDQSxzQkFqQnlCO0FUbytFN0I7QVNsOUVJO0VBQVE7QVRxOUVaOztBVTE4RUk7QVRrTUY7RUFBb0I7RUFBYztBRDh3RXBDO0FDN3dFRTtFQUFVO0FEZ3hFWjtBVWw5RUk7RUFFRTtFQUNBO0VBQ0E7QVZtOUVOO0FVajlFTTtFQUNFLFdUaVNVO0VTaFNWO0FWbTlFUjtBVWg5RU07RUFDRTtBVms5RVI7O0FVOThFSTtFQUNFLG1CVG1QVztFU2xQWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpOUVOO0FVLzhFTTtFQUFrQjtBVms5RXhCOztBVS84RUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWazlFTjs7QVUvOEVJO0VBQ0UsY1R3Tlc7RVN2Tlg7RUFDQTtFQUNBO0VBQ0E7QVZrOUVOOztBVS84RUk7RUFDRTtFQUNBO0FWazlFTjtBVWg5RU07RUFDRTtFQUNBO0VBQ0E7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBU0Y7RUFDQTtBVnk4RVI7O0FVcjhFSTtFQUNFLG1CVDRMVztFUzNMWDtFQUNBLGNUa0xXO0VTakxYLGtCQTNGdUI7RUE0RnZCO0VBQ0E7RUFDQSx1QkE3RnFCO0VBOEZyQjtFQUNBO0VBQ0E7RUFDQTtBVnc4RU47O0FVcjhFSTtFQUNFLGNUc0tXO0VTcktYO0VBQ0EsZUFoSGdCO0VBaUhoQjtFQUNBO0VBQ0E7RUFDQTtBVnc4RU47QVV0OEVNO0VBQ1UsY1Q2SkM7QUQyeUVqQjs7QVVyOEVJO0VBQTBDO0FWeThFOUM7QVV4OEVNO0VBQWlCO0FWMjhFdkI7O0FVdjhFSTtFQUNFO0FWMDhFTjtBVXo4RU07RUFDRTtBVjI4RVI7O0FVdDhF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RlU7RWJ0YU4sZ0Jhc2FnQztFYjVaaEMseUNBZ1RhO0VBL1NiLHNDQStTYTtFQTlTYixpQ0E4U2E7RUE3U2IsOEJBNlNhO0FEMjlGakI7QWM1MkZVOzs7O0ViemFOLGdCYTRhK0I7RWJsYS9CLHlDQWdUYTtFQS9TYixzQ0ErU2E7RUE5U2IsaUNBOFNhO0VBN1NiLDhCQTZTYTtBRHErRmpCO0FjbDNGVTtFYjdhTixnQmE2YWlDO0VibmFqQywwQ0FnVGE7RUEvU2IsdUNBK1NhO0VBOVNiLGtDQThTYTtFQTdTYiwrQkE2U2E7QUQ0K0ZqQjs7QWNwM0ZJO0VBQ0U7RUFDQTtFQUNBO0FkdTNGTjs7QWNwM0ZJO0FBQ0E7RUFDRTtBZHUzRk47O0FjcDNGSTtBQUNBO0VBQ0U7QWR1M0ZOOztBY24zRkk7RUFDRSxjYjlMVztBRG9qR2pCOztBY24zRkk7RUFDRyxjYmxNVTtBRHdqR2pCOztBY24zRkk7RUFDRyxjYnRNVTtBRDRqR2pCOztBY24zRkk7RUFDRyxjYjFNVTtBRGdrR2pCOztBY2wzRkk7QUFDQTtFQS9LRjtFQUNBO0VBQ0Esc0JaMlBpQjtFWTFQakI7QWRxaUdGO0FjbGlHRTtFQUNFO0Fkb2lHSjtBYzUzRkk7RUFuS0Y7RUFHQTtFQUVBO0VBRUUsbUJBNVRpQjtFQTZUakIsaUJBNVRpQjtFQTZUakIscUJBaFVpQjtFQWtVbkIsY2JqRGU7RWFrRGYsb0JBelVrQjtFQTBVbEIsbUJBdlVnQjtFQXdVaEI7RUFDQTtFYmpVRSxnQmFrVWM7QWQ2aEdsQjtBYzVoR0U7RWJuVUUsa0JBeVRZO0FEeWlHaEI7QWM5aEdFO0VBQ0UsMENaK05xQjtFWTlOckIscUJBMVV1QjtBZDAyRzNCO0FjN2hHRTtFQUNFLHlCYnRFYTtFYXVFYixlYmdEbUI7QUQrK0Z2QjtBY3I1Rkk7RUFFRTtBZHM1Rk47QWNyNUZNO0VBQ0U7QWR1NUZSOztBY241Rkk7QUFDQTs7OztFQUlFO0FkczVGTjs7QWNuNUZJOztFQUVFO0VBQ0E7RUFDQSxrQkE5ZlM7RUErZlQ7RUFDQTtBZHM1Rk47O0FjbjVGSTtBQUNBO0VBQ0U7QWRzNUZOOztBY241Rkk7QUFTQTtBQUNBO0VBL1FGO0VBQ0Esa0JBck9nQjtFQXNPaEIsZ0JBdk9pQjtBZHE0R25CO0FjM3BHRTtFQUNFLGlCYjRDZTtFYTNDZjtFQUNBO0VBQ0Esb0JBek9hO0FkczRHakI7O0FjbjVGSTtBQUdFO0VBL09KO0VBQ0Esa0JBdlA4QjtFQXdQOUIsa0JBdFArQjtFQXVQL0IsbUJadFF1QjtFWXVRdkIsbUJBOVNhO0VBK1NiLGdCQTVQd0I7RUE2UHhCLHFDQTlQNEI7RUFrUTVCLG1CWjdQZ0I7RVk4UDJCLGNibkM1QjtBRG9xR2pCO0FjMTVGTTtFQUEwQjtBZDY1RmhDOztBYzE1Rkk7RUFyUEY7RUFDQSxrQkF2UDhCO0VBd1A5QixrQkF0UCtCO0VBdVAvQixtQlp0UXVCO0VZdVF2QixtQkE5U2E7RUErU2IsZ0JBNVB3QjtFQTZQeEIscUNBOVA0QjtFQWtRNUIsbUJaN1BnQjtFWThQMkIsY2JuQzVCO0FEbXJHakI7O0FjajZGTTs7O0VBR0U7QWRvNkZSO0FjajZGTTs7RUFFRSxtQkE1aUJPO0FkKzhHZjtBY2g2Rk07O0VBNVErQyxjWjVPbkM7QUY0NUdsQjtBYy81Rk07RUExUUo7RUFDQSxrQkF2UDhCO0VBd1A5QixrQkF0UCtCO0VBdVAvQixtQlp0UXVCO0VZdVF2QixtQkE5U2E7RUErU2IsZ0JBNVB3QjtFQTZQeEIscUNBOVA0QjtFQWtRNUIsbUJaN1BnQjtFWThQMkIsY2JuQzVCO0FENHNHakI7QWNyNkZRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQkF6akJtQjtBZGcrRzdCO0FjbjZGTTtFQUNFO0FkcTZGUjs7QWNqNkZJOzs7RUFHRTtBZG82Rk47O0FjbDZGSTtFQTVTaUQsY1o1T25DO0FGODdHbEI7O0FleHFHSTtFQWxURjtFQUNBO0VBQ0E7QWY4OUdGO0FlNTlHRTtFQUNFO0VBQ0E7RUFDQSxlQTdCaUI7RUE4QmpCO0VBQ0EsZ0JBdkJvQjtFQXdCcEI7RUFDQTtBZjg5R0o7QWU1OUdJO0VBQ0U7RUFDQTtBZjg5R047QWU1OUdNO0VBQ0U7QWY4OUdSO0FlMTlHSTtFQUNFLG1CQXpDZTtFQTBDZjtBZjQ5R047QWV6OUdJO0VBQ0UsZ0JBNUNrQjtFQTZDbEIsZUE5Q2lCO0FmeWdIdkI7QWVyOUdJO0VBQ0U7RUFDQTtBZnU5R047QWVyOUdNO0VBQ0U7QWZ1OUdSO0FlbjlHSTtFQUFRO0FmczlHWjtBZW45R0U7RUFDRTtBZnE5R0o7QWVsOUdFO0VBQ0U7RUFDQTtBZm85R0o7QWVsOUdJO0VBQ0U7RUFDQTtFQUNBO0FmbzlHTjtBZS84R0k7RUFERjtJQUVJO0lBQ0E7RWZrOUdKO0VlaDlHSTtJQUNFO0lBQ0E7SUFDQTtFZms5R047QUFDRjtBZTk4R0k7RUFERjtJQUVJO0lBQ0E7RWZpOUdKO0VlLzhHSTtJQUNFO0lBQ0E7SUFDQTtFZmk5R047QUFDRjtBZXA4R0U7RUFDRSxlQXZIaUI7RUF3SGpCLGdCQWhIb0I7QWZzakh4QjtBZWw4R007RUFDRTtFQUNBLGVBOUhhO0Fma2tIckI7QWVoOEdJO0VBQ0UsbUJBL0hlO0FmaWtIckI7QWUvN0dJO0VBQ0UsZ0JBaklrQjtFQWtJbEIsZUFuSWlCO0Fmb2tIdkI7QWVqd0dJO0VBN0tBLG1CZGtJYTtBRCt5R2pCO0FlOTZHTTtFQUFRLGNkK0dHO0FEazBHakI7QWUvNkdNO0VBQUksY2Q2R087QURxMEdqQjtBZS82R0k7RUFFRSxtQmJ0SGM7QUZzaUhwQjtBZTk2R007RUFBUSxjZHNHRztBRDIwR2pCO0FlLzZHTTtFQUFJLGNkb0dPO0FEODBHakI7QWUvNkdRO0VBRUYsbUJiL0hjO0FGK2lIcEI7QWU5NkdNO0VBQVEsY2Q2Rkc7QURvMUdqQjtBZS82R007RUFBSSxjZDJGTztBRHUxR2pCO0FlOTZHSTtFQUNFLG1CZHFOa0I7RWNwTmxCLFlBN0tzQjtFQThLdEI7QWZnN0dOO0FlLzZHTTtFQUNFLFlBaExvQjtFQWlMcEIsbUJkZ05nQjtBRGl1R3hCO0FlMTRHSTtFQUFRO0FmNjRHWjtBZTU0R0k7RUFBMkM7QWYrNEcvQztBZTc0R007RUFERjtJQUVJO0VmZzVHTjtBQUNGO0FlNzRHTTtFQURGO0lBRUk7RWZnNUdOO0FBQ0Y7QWU1NEdJO0VBQVE7QWYrNEdaO0FlOTRHSTtFQUEyQztBZmk1Ry9DO0FlLzRHTTtFQURGO0lBRUk7RWZrNUdOO0FBQ0Y7QWUvNEdNO0VBREY7SUFFSTtFZms1R047QUFDRjtBZTk0R0k7RUFBUTtBZmk1R1o7QWVoNUdJO0VBQTJDO0FmbTVHL0M7QWVqNUdNO0VBREY7SUFFSTtFZm81R047QUFDRjtBZWo1R007RUFERjtJQUVJO0VmbzVHTjtBQUNGO0FlaDVHSTtFQUFRO0FmbTVHWjtBZWw1R0k7RUFBMkM7QWZxNUcvQztBZW41R007RUFERjtJQUVJO0VmczVHTjtBQUNGO0FlbjVHTTtFQURGO0lBRUk7RWZzNUdOO0FBQ0Y7QWVsNUdJO0VBQVE7QWZxNUdaO0FlcDVHSTtFQUEyQztBZnU1Ry9DO0FlcjVHTTtFQURGO0lBRUk7RWZ3NUdOO0FBQ0Y7QWVyNUdNO0VBREY7SUFFSTtFZnc1R047QUFDRjtBZXA1R0k7RUFBUTtBZnU1R1o7QWV0NUdJO0VBQTJDO0FmeTVHL0M7QWV2NUdNO0VBREY7SUFFUTtFZjA1R1Y7QUFDRjtBZXY1R007RUFERjtJQUVLO0VmMDVHUDtBQUNGO0FldDVHSTtFQUFRO0FmeTVHWjtBZXg1R0k7RUFBMkM7QWYyNUcvQztBZXo1R007RUFERjtJQUVRO0VmNDVHVjtBQUNGO0FlejVHTTtFQURGO0lBRUs7RWY0NUdQO0FBQ0Y7O0FldDRHTTtFQUFRO0FmMDRHZDtBZXo0R007RUFBMkM7QWY0NEdqRDtBZTE0R1E7RUFERjtJQUVJO0VmNjRHUjtBQUNGO0FlMTRHUTtFQURGO0lBRUk7RWY2NEdSO0FBQ0Y7QWV6NEdNO0VBQVE7QWY0NEdkO0FlMzRHTTtFQUEyQztBZjg0R2pEO0FlNTRHUTtFQURGO0lBRUk7RWYrNEdSO0FBQ0Y7QWU1NEdRO0VBREY7SUFFSTtFZis0R1I7QUFDRjtBZTM0R007RUFBUTtBZjg0R2Q7QWU3NEdNO0VBQTJDO0FmZzVHakQ7QWU5NEdRO0VBREY7SUFFSTtFZmk1R1I7QUFDRjtBZTk0R1E7RUFERjtJQUVJO0VmaTVHUjtBQUNGO0FlNzRHTTtFQUFRO0FmZzVHZDtBZS80R007RUFBMkM7QWZrNUdqRDtBZWg1R1E7RUFERjtJQUVJO0VmbTVHUjtBQUNGO0FlaDVHUTtFQURGO0lBRUk7RWZtNUdSO0FBQ0Y7QWUvNEdNO0VBQVE7QWZrNUdkO0FlajVHTTtFQUEyQztBZm81R2pEO0FlbDVHUTtFQURGO0lBRUk7RWZxNUdSO0FBQ0Y7QWVsNUdRO0VBREY7SUFFSTtFZnE1R1I7QUFDRjtBZWo1R007RUFBUTtBZm81R2Q7QWVuNUdNO0VBQTJDO0FmczVHakQ7QWVwNUdRO0VBREY7SUFFUTtFZnU1R1o7QUFDRjtBZXA1R1E7RUFERjtJQUVLO0VmdTVHVDtBQUNGO0FlbjVHTTtFQUFRO0FmczVHZDtBZXI1R007RUFBMkM7QWZ3NUdqRDtBZXQ1R1E7RUFERjtJQUVRO0VmeTVHWjtBQUNGO0FldDVHUTtFQURGO0lBRUs7RWZ5NUdUO0FBQ0Y7O0FnQjN5SEk7RUFuQkY7RUFDQSxhQXZCdUI7RUF3QnZCLHdCQXRCMEI7RUF1QjFCLHNCQXRCaUM7RUF1QmpDLGVBekI0QjtFQTBCNUIsZ0JBbEJxQjtFQW1CckIsVUF0Qm9CO0FoQncxSHRCO0FnQmgwSEU7RUFDRSxjQW5Ca0I7RUFvQmxCLFdmdVNjO0VldFNkO0VBQ0EscUJBOUJvQztBaEJnMkh4QztBZ0JqMEhJO0VBQU0sY0FwQnFCO0FoQncxSC9COztBaUJyMEhJO0FBQ0E7RUFBZ0I7QWpCeTBIcEI7O0FpQnYwSEk7QUFDQTtFQUNFLG1CaEI0UFc7RWdCM1BYLGNoQjJPVztFZ0IxT1g7RUFDQTtFQUNBLG1CZkhtQjtFZUluQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjAwSE47O0FpQnYwSEk7RUFDRTtFQUNBO0VBQ0E7QWpCMDBITjs7QWlCdjBISTtFQUNFLGdDQXhEZ0I7RUF5RGhCO0FqQjAwSE47QWlCeDBITTtFQUFVO0FqQjIwSGhCO0FpQnowSE07RUFBb0I7QWpCNDBIMUI7O0FpQnowSEk7QUFFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVQXJFc0I7QWpCZzVIOUI7QWlCejBIUTtFQUNFLHFCaEJzTk87RWdCck5QO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCMjBIVjtBaUJ6MEhRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjIwSFY7QWlCeDBIUTtFQUFVO0FqQjIwSGxCO0FpQjEwSFE7RUFBUztBakI2MEhqQjs7QWlCejBISTtBQUNBOzs7Ozs7RUFNRSxjaEIwS1c7RWdCektYLGlCaEI0TWE7RWdCM01iO0VBQ0E7QWpCNDBITjs7QWlCMTBISTtFQUNFLG1CQXRHa0I7RUF1R2xCO0VBQ0E7QWpCNjBITjs7QWlCMTBISTtFQUNFLHlCQWxIZTtFQW1IZjtFQUNBLFdBdEdxQjtFQXVHckI7RUFDQSxXQXpHb0I7RUEwR3BCO0FqQjYwSE47O0FpQjMwSEk7RUFDRSxtQmhCbUtXO0VnQmxLWDtFQUNBO0VBQ0E7QWpCODBITjs7QWlCMzBISTtFQUNFO0VBQ0EsZUEvR21CO0VBZ0huQixtQmY5Rm1CO0VlK0ZuQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjgwSE47QWlCNTBITTtFQUNVO0FqQjgwSGhCOztBaUIzMEhJO0VBQ0UsOEJBeEhlO0VBeUhmLGVoQmdRaUI7RWdCL1BqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakI4MEhOOztBaUIzMEhJO0VBQ0UseUJoQnFIVztFZ0JwSFg7RUFDQTtFQUNBO0VBQ0E7QWpCODBITjs7QWlCMzBISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakI4MEhOOztBaUIxMEhJO0FBQ0E7RUFDRTtJQUFxQixZQWhMQztJQWdMa0M7RWpCKzBINUQ7RWlCNzBIUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCKzBIVjtFaUI3MEhRO0lBQ0U7SUFDQTtJQUE0QztJQUM1QztJQUNBO0lBQ0E7SUFDQSxTQTNMa0I7RWpCMmdJNUI7RWlCOTBIUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFNBcE1rQjtFakJvaEk1QjtBQUNGO0FrQmovSEk7O0VBakJGLDZDQWRhO0VBZWI7RUFHMEIsY2pCd1FYO0VpQnJRZixtQkFwQnVCO0VBcUJ2QixpQkFwQnVCO0VBcUJ2QixzREFqQ2U7RUFrQ2Ysa0JBakNvQjtFQWtDcEI7RUFDQSwyQkE3QmtCO0VqQmVoQixrQkF5VFk7QUR3dEhoQjs7QW1CejlISTtFQS9ERjtFQUNBLHdDakJ1QnFCO0VpQnRCckIsbUJqQnVCdUI7RWlCdEJ2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFTZSwrQkFoQ0Q7RUFpQ0csb0JBN0JDO0VBNkNoQix5QmpCSWdCO0VpQkRVLGNsQitOYjtBRG95SGpCO0FtQnArSE07RWxCN0RGLGtCQXlUWTtBRDJ1SGhCO0FtQnQrSE07RWxCOURGLHFCa0I4RGdEO0FuQnkrSHBEO0FtQnYrSE07RUFyQ0YseUJqQk9jO0VpQkpZLGNsQitOYjtBRDh5SGpCO0FtQjErSE07RUF0Q0YseUJsQjJQWTtFa0J4UGMsY2xCK05iO0FEa3pIakI7QW1CNytITTtFQXZDRix5QmpCUWdCO0VpQkxVLGNsQitOYjtBRHN6SGpCO0FtQmgvSE07RUF4Q0YseUJqQktrQjtFaUJEVixjbEI4T0s7QUQweUhqQjtBbUJuL0hNO0VBekNGLHlCakJTYTtFaUJMTCxjbEI4T0s7QUQ4eUhqQjs7QW9CNWtJSTtFQUNFLG1CbkI2UVc7RW1CNVFYO0VBQ0EscUJsQm9wQmE7RWtCbnBCYjtBcEIra0lOO0FvQjdrSU07RUFDRTtBcEIra0lSO0FvQjlrSVE7RUFBSztBcEJpbEliO0FvQmhsSVE7RUFDRTtBcEJrbElWOztBcUJ6aklJO0VBQ0U7SUFDRTtJQUNBO0VyQjRqSU47RXFCMWpJSTtJQUNJO0lBQ0E7RXJCNGpJUjtBQUNGO0FxQnhqSUk7RUFDRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VyQjBqSVI7RXFCeGpJSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VyQjBqSVI7QUFDRjtBcUJ2aklJO0FBQ0E7RUFDRTtBckJ5aklOO0FxQnZqSU07RUFFRTtFQUNBO0FyQndqSVI7QXFCcmpJUTs7RUFDb0I7QXJCd2pJNUI7QXFCcmpJUTtFQUFpQjtBckJ3akl6QjtBcUJyaklNO0VBQW1CO0FyQndqSXpCO0FxQnJqSVE7RUFBSztB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QXZCbStJakM7QXVCOTVJTTtFdEJqRUYsa0JBeVRZO0FEeXFJaEI7O0F3QjMzSUk7QUFDQTtFQTNFRix5QkFuRG1CO0VBb0RuQjtFQUNBLHNCQWxEMEI7QXhCNC9JNUI7QXdCeDhJRTtFQUNFO0VBQ0E7QXhCMDhJSjtBd0JsNElNO0VBakVKLHlCdkJtT2U7RXVCbE9mLGN2QndOZTtFdUJ2TmYsd0N0QjNCcUI7RXNCNEJyQixlQXhEaUI7RUF5RGpCLG1CdEI1QnVCO0VzQjZCdkIsMEJBOURvQjtFQStEcEIsa0JBOURrQjtBeEJvZ0pwQjtBd0IxNElNO0VBckRKLHlCdkJ5TWU7RXVCeE1mLGN2QnFOZTtFdUJwTmYsd0N0QnhDcUI7RXNCeUNyQixlQTVEaUI7RUE2RGpCLG1CdEJ6Q3VCO0VzQjBDdkIsMEJBbEVvQjtFQW1FcEIsa0JBbEVrQjtBeEJvZ0pwQjtBd0JsNUlNO0VBekNKLHlCdkJ5TGU7RXVCeExmLGlDQTNEeUI7RUE0RHpCLGN2Qm1NZTtFdUJsTWYsa0JBaEVxQjtFQWlFckIsbUJ0QnREdUI7RXNCdUR2QixnQkFoRXVCO0VBaUV2QixrQkFyRW1CO0VBc0VuQixrQkFyRWlCO0F4Qm1nSm5CO0F3QjM1SU07RUE1QkoseUJ2QjJLZTtFdUIxS2YsaUNBakV5QjtFQWtFekIsY3ZCeUxlO0V1QnhMZixtQkFyRXFCO0VBc0VyQixtQnRCcEV1QjtFc0JxRXZCLGtCQXpFbUI7RUEwRW5CLGtCQXpFaUI7QXhCbWdKbkI7QXdCbjZJTTtFQWhCSix5QnZCOEplO0V1QjdKZiwwQkF6RWtCO0VBMEVsQixrQkEzRWdCO0F4QmlnSmxCOztBeUJoZ0pJO0FBQ0E7RUF2QkYseUJ4QitQZTtFd0I5UGY7RUFDQSxpQkF6Qm9CO0VBMEJwQix1QkFmMkI7RUFnQjNCLGlCQWpCaUI7QXpCNGlKbkI7QXlCcGdKTTtFQWhCSixtQnZCbUJrQjtFdUJsQmxCO0VBQ0E7RUFDQTtFQUNBO0F6QnVoSkY7QXlCeGdKUTtFQW5CTixtQnZCb0JvQjtFdUJuQnBCO0VBQ0E7RUFDQTtFQUNBO0F6QjhoSkY7QXlCOWdKUTtFQXBCTixtQnZCdUJrQjtFdUJ0QmxCO0VBQ0E7RUFDQTtFQUNBO0F6QnFpSkY7QXlCcGhKUTtFQXJCTixtQnZCc0JnQjtFdUJyQmhCO0VBQ0E7RUFDQTtFQUNBO0F6QjRpSkY7QXlCemhKTTtFQXZCSixtQnZCb0JvQjtFdUJuQnBCO0VBQ0E7RUFDQTtFQUNBO0F6Qm1qSkY7QXlCL2hKTTtFQXhCSixtQnZCdUJrQjtFdUJ0QmxCO0VBQ0E7RUFDQTtFQUNBO0F6QjBqSkY7QXlCcmlKTTtFQXpCSixtQnZCc0JnQjtFdUJyQmhCO0VBQ0E7RUFDQTtFQUNBO0F6QmlrSkY7QXlCMWlKTTtFeEJ2Q0Ysa0JBeVRZO0FEMnhJaEI7QXlCNWlKUTtFeEJ4Q0osa0J3QndDNkI7QXpCK2lKakM7QXlCNWlKTTtFeEIzQ0YscUJ3QjJDNEI7QXpCK2lKaEM7QXlCOWlKUTtFeEI1Q0osb0J3QjRDNkI7QXpCaWpKakM7O0EwQjcvSUk7RUE1RUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU1FO0VBQ0EsWUE5Q3NCO0VBK0N0QixXQWhEcUI7RUF3REwsbUJ6QnNOSDtBRDIySWpCO0EwQnRnSk07RUEvRUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVFO0VBQ0EsZUE5QitCO0VBK0IvQixXQWhDOEI7QTFCdW5KbEM7QTBCOWdKUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExQmdoSlY7QTBCOWdKUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJnaEpWO0EwQjdnSk07RUE1RWMsbUJ6QnNOSDtFQTlQYixrQkF5VFk7QUQ0MEloQjtBMEIvZ0pRO0VBMUNZLG1CeEI3Q0E7RUQvQmhCLGtCQXlUWTtBRGcxSWhCO0EwQnRqSkU7RUFDRSwwQ0EzRWlDO0ExQm1vSnJDO0EwQnBoSk07RUFoRmMsbUJ6QnNOSDtFQTlQYixxQkEwVGE7QURzMUlqQjtBMEJ0aEpRO0VBOUNZLG1CeEI3Q0E7RUQvQmhCLHFCQTBUYTtBRDAxSWpCO0EwQmprSkU7RUFDRSwwQ0EzRWlDO0ExQjhvSnJDO0EwQjNoSk07RUFwRmMsbUJ6QnNOSDtFeUJsTmIsbUJ6QmdWb0I7RXlC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QUNBLHVCQTFHb0I7RUEyR3BCLHNCQXpHNkI7RUEwRzdCO0E3QjYxSlI7QTZCdDBKTTtFQUFXO0E3QnkwSmpCO0E2QnoxSkk7RUFBYTtBN0I0MUpqQjtBNkJ4MEpNO0U1QjdJRix1Q0ErU1k7RUE5U1osb0NBOFNZO0VBN1NaLCtCQTZTWTtFQTVTWiw0QkE0U1k7QUQ0cUpoQjtBNkI3MEpNO0U1QjlJRiwwQzRCOEkyRDtFNUI3STNELHVDNEI2STJEO0U1QjVJM0Qsa0M0QjRJMkQ7RTVCM0kzRCwrQjRCMkkyRDtBN0JtMUovRDtBNkJqMUpRO0VBQWE7QTdCbzFKckI7QTZCbjFKUTtFQUFZO0E3QnMxSnBCO0E2QnIxSlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCdTFKVjs7QThCajZKSTtFQTlERjtFQUNBLDJCQTNDb0I7RUE0Q3BCO0VBQ0Esb0JBNUN5QjtFQTZDekI7QTlCbStKRjtBOEJqK0pFO0VBQ0U7QTlCbStKSjtBOEJoK0pFOzs7RUFHRSxjN0JnT2E7RTZCL05iLFc3QnlRYztFNkJ4UWQsd0M1QnhCbUI7RTRCeUJuQixtQkFyRGdCO0VBc0RoQixtQjVCekJxQjtFNEIwQnJCO0VBQ0E7QTlCaytKSjtBOEJoK0pJOzs7RUFDRSxjN0J1Tlc7RTZCdE5YLHVCNUI4N0JZO0U0Qjc3QloscUJBMURvQjtBOUI4aEsxQjtBOEJsK0pNOzs7RUFDRSxrQ0ExRG1CO0E5QmdpSzNCO0E4QmwrSkk7OztFN0J6REEsa0I2Qk5vQjtFQWlFbEIsbUI1QjVCYztFNEI2QmQsVzVCNDdCaUI7RTRCMzdCakIsZTVCNjdCa0I7RTRCNTdCbEIsbUI1QjVDbUI7RTRCNkNuQix1QjVCZzdCWTtBRnNqSWxCO0E4QnArSk07OztFQUNFLDBDNUJxN0JrQjtBRm1qSTFCOztBK0J0M0pNO0VBeEtKO0VBQ0EscUJBdEJxQjtFQXVCckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Ca2lLRjtBK0IvaEtFO0VBQ0UsbUI5QjRPYTtFOEIzT2I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBK0IsWUExQ2Y7RTlCNEdsQiwrQkFQbUI7QUR3K0pyQjtBK0IzaEtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0I2aEtKO0ErQjNoS0k7RUFBWTtFQUFnQjtBL0IraEtoQztBK0J4aEtFO0VBQ0UsbUI5QnVNYTtFOEJ0TWI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Cd2hLSjtBK0JyaEtFO0VBQ0UsbUI3QjdDZ0I7QUZva0twQjtBK0JwaEtFO0VBQ0U7QS9Cc2hLSjtBK0IzZ0tFO0VBQ0UsWUF2R2dCO0VBd0doQjtBL0I2Z0tKO0ErQjFnS0U7RUFDRTtFQUNBO0EvQjRnS0o7QStCemdLRTtFQUNFO0EvQjJnS0o7QStCdi9KSTtFQUNFO0VBQ0EsbUI5QndJVztBRGkzSmpCO0ErQnQvSkk7RUFDRSxtQjlCNkhXO0FEMjNKakI7QStCci9KSTtFQUNFLG1CN0JyR2M7QUY0bEtwQjtBK0JoaUtFO0VBQ0UsY0F0R2dCO0VBdUdoQjtBL0JraUtKO0ErQi9oS0U7RUFDRTtFQUNBO0EvQmlpS0o7QStCOWhLRTtFQUNFO0EvQmdpS0o7QStCM2lLRTtFQUNFLGVBeEdnQjtFQXlHaEI7QS9CNmlLSjtBK0IxaUtFO0VBQ0U7RUFDQTtBL0I0aUtKO0ErQnppS0U7RUFDRTtBL0IyaUtKO0ErQnRqS0U7RUFDRSxjQXpHZ0I7RUEwR2hCO0EvQndqS0o7QStCcmpLRTtFQUNFO0VBQ0E7QS9CdWpLSjtBK0JwaktFO0VBQ0U7QS9Cc2pLSjtBK0IxOUpVO0U5QmxNTixrQjhCa004QjtBL0I2OUpsQztBK0I1OUpVO0U5Qm5NTixrQjhCbU1vQztBL0IrOUp4QztBK0IzOUpRO0U5QnZNSixxQjhCdU04QjtBL0I4OUpsQztBK0I3OUpVO0U5QnhNTixtQjhCd004QjtBL0JnK0psQztBK0IvOUpVO0U5QnpNTixtQjhCeU1vQztBL0JrK0p4Qzs7QWdDM2tLSTtFQW5FRixtQmhDekRtQjtFZ0MwRG5CO0VBQ0Esc0JBVm9CO0VBV3BCLGtCQWJhO0FoQytwS2Y7QWdDaHBLRTtFQUNFLHVCQTVCZTtFQTZCZixjL0IwT2E7RStCeE9YLGVBN0JvQjtFQThCcEIsaUJBN0JzQjtBaEM4cUs1QjtBZ0M3b0tFO0VBQ0UsbUIvQnFOYTtBRDA3SmpCO0FnQzVvS007O0VBRUUsYy9CNk5TO0UrQjVOVCxtQkF4RGU7RUF5RGYsaUIvQjZPVztFK0I1T1gsaUNBdkRhO0FoQ3FzS3JCO0FnQ3pvS0U7RUFDRSxtQi9CdU1hO0FEbzhKakI7QWdDeG9LTTs7RUFFRSxjL0IrTVM7RStCOU1ULG1CQXRFZTtFQXVFZixpQi9CK05XO0UrQjlOWCxpQ0FyRWE7QWhDK3NLckI7QWdDcG9LSTs7RUFFRSxjL0JvTVc7RStCbk1YLG1CQTdEZ0I7RUE4RGhCLDJCQS9EYztFQWdFZCxnQi9Cb09ZO0FEazZKbEI7QWdDbm9LSTtFQUVzQixvQzlCNDlCTDtBRndxSXJCO0FnQ2pvS0U7Ozs7OztFQUtRLG1CQXRFTTtFQXNFbUIscUJBMUVmO0FoQytzS3BCOztBQ3JoS0U7RUFBb0I7RUFBYztBRDBoS3BDO0FDemhLRTtFQUFVO0FENGhLWjtBaUM1dUtJO0VBRUU7RUFDQTtBakM2dUtOO0FpQzN1S007O0VBRUUsV2hDK1NVO0VnQzlTVjtFQUNBO0VBQ0E7QWpDNnVLUjtBaUMzdUtROztFQUNFO0VBQ0EseUJoQ3lQTztFZ0N4UFAsY2hDb1FPO0VnQ25RUCx3Qy9CTWE7RStCTGIsZUEzQmtCO0VBNEJsQjtBakM4dUtWO0FpQzV1S1U7O0VBQ0UsNkNBbENxQjtBakNpeEtqQztBaUMzdUtROztFQUNFLHlCaEN3T087RWdDdk9QLGNoQ3dQTztBRHMvSmpCO0FpQ3Z1S1U7O0VoQ25CTixzQ0ErU1k7RUE5U1osbUNBOFNZO0VBN1NaLDhCQTZTWTtFQTVTWiwyQkE0U1k7QURrOUpoQjtBaUN6dUtVOztFaEN4Qk4sdUNBK1NZO0VBOVNaLG9DQThTWTtFQTdTWiwrQkE2U1k7RUE1U1osNEJBNFNZO0FEeTlKaEI7QWlDM3VLUTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBakM2dUtWOztBQy9rS0U7RUFBb0I7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O0VwQzAyS1I7QUFDRjtBb0N0MktNO0VBQ0U7RUFDQTtBcEN3MktSO0FvQ3IyS007RUFDRSxlQzVNRztFRDZNSCxZbENrK0JRO0VrQ2orQlI7QXBDdTJLUjtBb0NyMktRO0VBQ0Usb0JBOUxlO0VBK0xmLGlCbEM2OUJNO0VrQzU5Qk47QXBDdTJLVjtBb0NyMktVO0VBQ0UsY2xDMCtCUztFa0N6K0JUO0VBQ0EsbUJsQ3pLYTtFa0MwS2I7RUFDQTtBcEN1MktaO0FvQ2oyS007RUFDRTtFQUNBO0VBQ0E7QXBDbTJLUjtBb0NqMktRO0VBQ0UsY2xDMDlCVztFa0N6OUJYO0VBQ0Esb0JBM0ttQjtFQTRLbkIsaUJuQ29GUztFbUNuRlQsWWxDcThCTTtFa0NwOEJOLGlCbENvOEJNO0VrQ244Qk47RUFDQTtFQUNBLHlCQWxMbUI7QXBDcWhMN0I7QW9DLzFLUTtFQUNFO0VBQ0E7QXBDaTJLVjtBQ2o2S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQWtCRTtFQUNBO0VBQ0Esc0JtQ3hLZ0I7RW5DMktsQiwrREFDRTtFQUdGLHVFQUNFO0VBR0YsV21DZ0MyQjtBcEMwMksvQjtBQ3g0S0U7RUFDRSx5REFDRTtFQUdGLGlFQUNFO0FEczRLTjtBb0MvMktVO0VBTUUsV2xDaStCYztFa0NoK0JkO0VBQ0E7RUFFQTtFQUNBO0FwQzIyS1o7QW9DcjJLTTtFQUNFO0VBQ0E7QXBDdTJLUjtBb0NyMktRO0VBQ0UsZ0JsQys1QlM7QUZ3OEluQjtBb0NuMktVO0VBQ0UsY25Db0JLO0FEaTFLakI7QW9DbjJLWTtFQUdFO0FwQ20yS2Q7QW9DMzFLUTtFQUVJOztJQUVFO0VwQzQxS1o7RW9DeDFLVTtJQUNFO0VwQzAxS1o7QUFDRjs7QW9DbjFLSTtFQUNFO0VBQ0E7RUFDQTtFbkNwTEosK0JBUG1CO0FEa2hMckI7QW9DcDFLTTtFQUNFO0VBQ0EsZUN2VEc7RUR3VEg7RUFDQTtFQUNBO0VBQ0E7QXBDczFLUjtBb0NuMUtNOztFQUVFLDhDQWhQb0I7RUFpUHBCO0VBQ0E7RUFDQTtBcENxMUtSO0FvQ2wxS007RUFDQSxtQm5DN0JXO0FEaTNLakI7QW9DbDFLUTtFQUNFLGNsQ3MzQlc7RWtDcjNCWDtFQUNBLHdDbEM5UmE7RWtDK1JiLG9CQWxUYztFQW1UZCxtQmxDL1JlO0VrQ2dTZiw2QkEzU1k7RUE0U1o7RUFDQSxvQkE5U21CO0VBK1NuQjtBcENvMUtWO0FvQ2wxS1U7RUFDRSxvQkExVFk7RUEyVFosNkJBbFRVO0VBbVRWLDhCQW5UVTtFNUJ1SGxCLHlCTi9GZ0I7RU1nR2hCLDBDQVJpQjtBUnloTHJCO0FRaGhMSTtFQUNVLDhDQWRHO0FSZ2lMakI7QW9DNTFLVTtFNUJuTE47QVJraExKO0FRaGhMSTtFQUVFO0FSaWhMTjtBb0MzMUtVO0U1QmhNTix5Qk45RmtCO0VNK0ZsQiw0Q0FSaUI7QVJzaUxyQjtBUTdoTEk7RUFDVSxnREFkRztBUjZpTGpCO0FvQ2wyS1U7RTVCMUxOO0FSK2hMSjtBUTdoTEk7RUFFRTtBUjhoTE47QW9DdjJLVTtFNUJqTU4seUJOM0ZnQjtFTTRGaEIsb0NBUmlCO0FSbWpMckI7QVExaUxJO0VBQ1Usd0NBZEc7QVIwakxqQjtBb0M5MktVO0U1QjNMTjtBUjRpTEo7QVExaUxJO0VBRUU7QVIyaUxOO0FvQ24zS1U7RTVCbE1OLHlCTjVGYztFTTZGZCwrREFSaUI7QVJna0xyQjtBUXZqTEk7RUFDVSxtRUFkRztBUnVrTGpCO0FvQzEzS1U7RTVCNUxOO0FSeWpMSjtBUXZqTEk7RUFFRTtBUndqTE47QW9DLzNLVTtFNUJuTU4seUJQd0pZO0VPdkpaLHVEQVJpQjtBUjZrTHJCO0FRcGtMSTtFQUNVLDJEQWRHO0FSb2xMakI7QW9DdDRLVTtFNUI3TE47QVJza0xKO0FRcGtMSTtFQUVFO0FScWtMTjtBb0MzNEtVO0U1QnBNTix5Qk4xRmE7RU0yRmIsc0NBUmlCO0FSMGxMckI7QVFqbExJO0VBQ1UsMENBZEc7QVJpbUxqQjtBb0NsNUtVO0U1QjlMTjtBUm1sTEo7QVFqbExJO0VBRUU7QVJrbExOO0FvQ3I1S1E7RUFDRSxvQkF4VWM7RUF5VWQsNkJBaFVZO0VBaVVaLDhCQWpVWTtFNUJ1SGxCLHlCTi9GZ0I7RU1nR2hCLDBDQVJpQjtBUjBtTHJCO0FRam1MSTtFQUNVLDhDQWRHO0FSaW5MakI7QW9DLzVLUTtFNUJqTUo7QVJtbUxKO0FRam1MSTtFQUVFO0FSa21MTjtBb0MvNUtVO0U1QjdNTix5Qk45RmtCO0VNK0ZsQiw0Q0FSaUI7QVJ1bkxyQjtBUTltTEk7RUFDVSxnREFkRztBUjhuTGpCO0FvQ3Q2S1U7RTVCdk1OO0FSZ25MSjtBUTltTEk7RUFFRTtBUittTE47QW9DMzZLVTtFNUI5TU4seUJOM0ZnQjtFTTRGaEIsb0NBUmlCO0FSb29MckI7QVEzbkxJO0VBQ1Usd0NBZEc7QVIyb0xqQjtBb0NsN0tVO0U1QnhNTjtBUjZuTEo7QVEzbkxJO0VBRUU7QVI0bkxOO0FvQ3Y3S1U7RTVCL01OLHlCTjVGYztFTTZGZCwrREFSaUI7QVJpcExyQjtBUXhvTEk7RUFDVSxtRUFkRztBUndwTGpCO0FvQzk3S1U7RTVCek1OO0FSMG9MSjtBUXhvTEk7RUFFRTtBUnlvTE47QW9DbjhLVTtFNUJoTk4seUJQd0pZO0VPdkpaLHVEQVJpQjtBUjhwTHJCO0FRcnBMSTtFQUNVLDJEQWRHO0FScXFMakI7QW9DMThLVTtFNUIxTU47QVJ1cExKO0FRcnBMSTtFQUVFO0FSc3BMTjtBb0MvOEtVO0U1QmpOTix5Qk4xRmE7RU0yRmIsc0NBUmlCO0FSMnFMckI7QVFscUxJO0VBQ1UsMENBZEc7QVJrckxqQjtBb0N0OUtVO0U1QjNNTjtBUm9xTEo7QVFscUxJO0VBRUU7QVJtcUxOO0FvQ3g5S1E7RUFDRSx5Qm5DekVPO0VtQzBFUCxXbEMrMEJpQjtFa0M1MEJmLGdCbENvMUJZO0FGb29KeEI7QW9DbjlLUTtFQUNFLGdCbEMrMEJlO0VrQzkwQmYsV2xDczBCa0I7QUYrb0o1QjtBb0NuOUtVO0VBQ0UsZ0JsQzQwQm1CO0VrQzMwQm5CLFdsQ20wQnNCO0FGa3BKbEM7QW9DLzhLTTtFQUNFLHdCQW5XYztBcENvekx0QjtBb0M3OEtNO0VBQ0U7QXBDKzhLUjtBb0M1OEtVO0VuQzlQUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBVUU7RUFDQTtFbUNvUFEsNkJBaFhVO0VBaVhWO0VBQ0E7RUFDQTtFQUNBO0FwQ2k5S1o7QW9DNzhLUTtFQUNFO0FwQys4S1Y7QW9DNzhLVTtFbkM1SVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbUN2TEE7RUFDQTtFQWdVVTtBcENxOUtaO0FvQ2w5S1U7RUFDRTtBcENvOUtaO0FvQzk4S007RW5DbktKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW1DakxBO0VBa1ZNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDcTlLUjtBb0NuOUtRO0VBQ0U7RUFDQTtBcENxOUtWO0FvQ245S1U7RUFDRSxtQmxDellhO0VrQzBZYjtBcENxOUtaO0FvQ3A5S1k7RUFDRSxtQmxDNVlXO0FGazJMekI7QW9DbDlLVTtFQUdFO0VBQ0E7RUFDQSxtQkEvWlk7QXBDaTNMeEI7QW9DajlLWTtFQUNFLGNsQzB2Qk87RWtDeHZCUDtBcENrOUtkO0FvQ2o5S2M7RUFBVTtBcENvOUt4QjtBb0NoOUtVO0VBQ0U7QXBDazlLWjtBb0MvOEtVOztFQUVFO0FwQ2k5S1o7QW9DNzhLUTtFQUNFLGNuQ2xMTztFbUNtTFAsbUJBamF3QjtFQWtheEIsaUJuQzdKUztFbUM4SlQ7RUFDQTtFQUNBLHlCQXZhNkI7QXBDczNMdkM7O0FvQzE4S0k7RUFBZ0I7QXBDODhLcEI7O0FvQzE4S0k7RW5DL1BGO0lBQW9CO0lBQWM7RUQrc0xsQztFQzlzTEE7SUFBVTtFRGl0TFY7RW9DbDlLSTtJQUVFLGdCbENrc0JXO0lrQ2pzQlg7RXBDbTlLTjtFb0NqOUtNO0lBQWlCO0VwQ285S3ZCO0VvQ2w5S007SUFBYyxXbkNoS0o7RURxbkxoQjtFb0NwOUtNOzs7Ozs7SUFLYTtFcEN1OUtuQjtFb0NyOUtNOzs7O0lBSUU7SUFDQSxlQS9hWTtJQWdiWjtJQUVBO0VwQ3M5S1I7RW9DbjlLTTs7SUFFRTtJQUNBLGVBeGJZO0lBeWJaO0lBRUE7RXBDbzlLUjtFb0NqOUtNO0lBQ0UsZ0JsQ2dxQlM7RUZtekpqQjtFb0MvOEtJO0lBQ0U7SUFDQSxnQkFsZ0JlO0lBbWdCZixrQmpDM2dCSTtFSDQ5TFY7RW9DOThLSTtJbkN2Wkosb0JBUG1CO0ltQ2dhYjtFcENnOUtOO0VvQzk4S007SUFDRTtJQUNBO0lBQ0E7RXBDZzlLUjtFb0M5OEtRO0lBQ0UsV25Dak5NO0VEaXFMaEI7RW9DLzhLVTtJQUFnQjtFcENrOUsxQjtFb0M1OEtVO0lBQ0UseUJuQy9QRztJbUNpUUQsZ0JsQ2dxQlE7SWtDOXBCVixXbENzcEJhO0VGc3pKekI7RW9DdjhLVTtJQUNFLGdCbEMwbkJLO0lrQ3puQkwsaUJsQzZuQkU7SWtDNW5CRjtFcEN5OEtaO0VvQ3g4S1k7SUFDRSx5Qm5DN1FDO0ltQytRQyxnQmxDa3BCTTtFRnV6SnRCO0VvQ2w4S1U7SUFDRSxnQmxDMm9CVztJa0Mxb0JYLFdsQ2tvQmM7SWtDam9CZCxpQmxDOG1CRTtJa0M3bUJGO0VwQ284S1o7RW9DbjhLWTtJQUNFLGdCbEN1b0JlO0lrQ3RvQmYsV2xDOG5Ca0I7RUZ1MEpoQztFb0MzN0tZO0luQzliWjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUU7SUFDQTtJbUN5Ylk7SUFDQTtFcENtOEtkO0VvQzk3S1E7SUFBVTtFcENpOEtsQjtFb0NoOEtVO0luQ2hWVjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0ltQ2pMQTtFcENxOExBO0VvQ2w4S1U7SW5DM1VWO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SW1DdkxBO0lBQ0E7RXBDdzhMQTtFb0N0OEtRO0luQ2hWUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0ltQ3ZMQTtJQUNBO0VwQ2k5TEE7RW9DeDhLYztJQUNFO0lBQ0E7SUFDQTtJQUVBO0VwQ3k4S2hCO0VvQ2w4S007SUFDRTtJQUNBO0lBQ0E7SUFDQTtFcENvOEtSO0VvQ2o4S1U7SUFDRSxtQm5DcFZHO0ltQ3FWSCxjbkNyV0c7SW1Dc1dILGlCbEMraUJFO0lrQzlpQkY7SUFDQTtFcENtOEtaO0VvQy83S1k7SUFDRSxtQm5DN1ZDO0ltQzhWRCxjbkM5V0M7RUQreUxmO0VvQzk3S1k7SUFDRSx5Qm5DcFdDO0ltQ3FXRCxXbENvakJXO0lrQ2xqQlQsbUJuQ3BXRDtFRG15TGY7RW9DMTdLVTtJQUNFLG1CbkMzV0c7SW1DNFdIO0VwQzQ3S1o7RW9DeDdLVTtJQUNFO0lBQ0E7RXBDMDdLWjtFb0NyN0tNOztJQUVFLDZCQXBsQnFCO0lBcWxCckI7SUFDQTtJQUNBO0lBQ0EsWWxDd2dCTTtJa0N2Z0JOO0VwQ3U3S1I7RW9DcDdLTTtJQUNFLGdCbEMrZlM7SWtDOWZULFlsQ2tnQk07SWtDamdCTjtFcENzN0tSO0VvQ2o3S1E7SUFDRTtJQUNBO0VwQ203S1Y7RW9DajdLVTtJQUFlO0VwQ283S3pCO0VvQ2g3S1E7SUFDRTtJQUNBO0VwQ2s3S1Y7RW9DaDdLVTtJQUFlO0VwQ203S3pCO0VvQ3o2S1E7SUFDRSx5Qm5DbGFLO0ltQ29hSCxnQmxDNmZVO0lrQzNmWixXbENtZmU7RUZzN0p6QjtFb0NyNktRO0lBQ0UsZ0JsQ3VmYTtJa0N0ZmIsV2xDOGVnQjtFRnk3SjFCO0VvQ2o2S1U7SW5DdmNWO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SW1DdkxBO0lBQ0E7RXBDbWlNQTtFb0NyNktRO0luQzVjUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0ltQ3ZMQTtJQUNBO0VwQzRpTUE7QUFDRjtBc0N0L0xFO0VBQWdCO0F0Q3kvTGxCOztBc0N4L0xFO0VBQWdCO0F0QzQvTGxCOztBc0MzL0xFO0VBQWdCO0F0QysvTGxCOztBc0M5L0xFO0VBQWdCO0F0Q2tnTWxCOztBc0MvL0xJO0VBQ0U7SUFBOEM7RXRDbWdNbEQ7RXNDbGdNSTtJQUFpRDtFdENxZ01yRDtFc0NwZ01JO0lBQWlEO0V0Q3VnTXJEO0VzQ3RnTUk7SUFBaUQ7RXRDeWdNckQ7QUFDRjtBc0M5Z01JO0VBQ0U7SUFBOEM7RXRDaWhNbEQ7RXNDaGhNSTtJQUFpRDtFdENtaE1yRDtFc0NsaE1JO0lBQWlEO0V0Q3FoTXJEO0VzQ3BoTUk7SUFBaUQ7RXRDdWhNckQ7QUFDRjtBc0M1aE1JO0VBQ0U7SUFBOEM7RXRDK2hNbEQ7RXNDOWhNSTtJQUFpRDtFdENpaU1yRDtFc0NoaU1JO0lBQWlEO0V0Q21pTXJEO0VzQ2xpTUk7SUFBaUQ7RXRDcWlNckQ7QUFDRjtBc0MxaU1JO0VBQ0U7SUFBOEM7RXRDNmlNbEQ7RXNDNWlNSTtJQUFpRDtFdEMraU1yRDtFc0M5aU1JO0lBQWlEO0V0Q2lqTXJEO0VzQ2hqTUk7SUFBaUQ7RXRDbWpNckQ7QUFDRjtBc0N4ak1JO0VBQ0U7SUFBOEM7RXRDMmpNbEQ7RXNDMWpNSTtJQUFpRDtFdEM2ak1yRDtFc0M1ak1JO0lBQWlEO0V0QytqTXJEO0VzQzlqTUk7SUFBaUQ7RXRDaWtNckQ7QUFDRjtBc0N0a01JO0VBQ0U7SUFBOEM7RXRDeWtNbEQ7RXNDeGtNSTtJQUFpRDtFdEMya01yRDtFc0Mxa01JO0lBQWlEO0V0QzZrTXJEO0VzQzVrTUk7SUFBaUQ7RXRDK2tNckQ7QUFDRjtBc0NwbE1JO0VBQ0U7SUFBOEM7RXRDdWxNbEQ7RXNDdGxNSTtJQUFpRDtFdEN5bE1yRDtFc0N4bE1JO0lBQWlEO0V0QzJsTXJEO0VzQzFsTUk7SUFBaUQ7RXRDNmxNckQ7QUFDRjtBc0NsbU1JO0VBQ0U7SUFBOEM7RXRDcW1NbEQ7RXNDcG1NSTtJQUFpRDtFdEN1bU1yRDtFc0N0bU1JO0lBQWlEO0V0Q3ltTXJEO0VzQ3htTUk7SUFBaUQ7RXRDMm1NckQ7QUFDRjtBc0Nobk1JO0VBQ0U7SUFBOEM7RXRDbW5NbEQ7RXNDbG5NSTtJQUFpRDtFdENxbk1yRDtFc0Nwbk1JO0lBQWlEO0V0Q3VuTXJEO0VzQ3RuTUk7SUFBaUQ7RXRDeW5NckQ7QUFDRjtBc0M5bk1JO0VBQ0U7SUFBOEM7RXRDaW9NbEQ7RXNDaG9NSTtJQUFpRDtFdENtb01yRDtFc0Nsb01JO0lBQWlEO0V0Q3FvTXJEO0VzQ3BvTUk7SUFBaUQ7RXRDdW9NckQ7QUFDRjtBc0M3bU1JO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkU7RUFDQTtBdEMrbU1OOztBc0M1bU1JO0FBQ0E7RUFDRSxjcENwQ2lCO0VvQ3FDakI7RUFDQSxxQkEzSm1CO0F0QzB3TXpCO0FzQzdtTU07RUFFRSw0QkE1SmtCO0F0QzB3TTFCO0FzQ3htTU07RUFBTTtBdEMybU1aOztBc0N4bU1JO0FBQ0E7RUFDRSxvQkEvTGtCO0VBZ01sQixlQTlMZ0I7RUErTGhCLG1CcEMz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dHdPSTtJQUNFO0V4Q3d3T047RXdDcndPTTtJdkM4Qk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRDB1T0E7RXdDendPTTtJdkNnQk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRDR2T0E7RXdDM3dPTTtJQUNFO0V4QzZ3T1I7RXdDM3dPTTtJQUNFO0V4QzZ3T1I7RXdDM3dPTTtJQUNFO0V4QzZ3T1I7RXdDM3dPTTtJQUNFO0V4QzZ3T1I7RXdDM3dPTTtJQUNFO0V4QzZ3T1I7QUFDRjtBd0M1eU9JO0FBQ0E7RUFDRTtJQUNFO0V4Qzh5T047RXdDNXlPSTtJQUNFO0V4Qzh5T047RXdDM3lPTTtJdkM4Qk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRGd4T0E7RXdDL3lPTTtJdkNnQk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRGt5T0E7RXdDanpPTTtJQUNFO0V4Q216T1I7RXdDanpPTTtJQUNFO0V4Q216T1I7RXdDanpPTTtJQUNFO0V4Q216T1I7RXdDanpPTTtJQUNFO0V4Q216T1I7RXdDanpPTTtJQUNFO0V4Q216T1I7QUFDRjtBd0NsMU9JO0FBQ0E7RUFDRTtJQUNFO0V4Q28xT047RXdDbDFPSTtJQUNFO0V4Q28xT047RXdDajFPTTtJdkM4Qk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRHN6T0E7RXdDcjFPTTtJdkNnQk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRHcwT0E7RXdDdjFPTTtJQUNFO0V4Q3kxT1I7RXdDdjFPTTtJQUNFO0V4Q3kxT1I7RXdDdjFPTTtJQUNFO0V4Q3kxT1I7RXdDdjFPTTtJQUNFO0V4Q3kxT1I7RXdDdjFPTTtJQUNFO0V4Q3kxT1I7QUFDRjtBd0M5ME9FO0FBQ0E7O0VBQ3FCO0F4Q2kxT3ZCOztBd0NoMU9FOztFQUNxQjtBeENvMU92Qjs7QXdDbDFPRTtBQUVFO0VBQ3NCO0F4Q28xTzFCOztBd0NqMU9JO0VBQ3NCO0F4Q28xTzFCOztBd0NqMU9JO0VBQ3NCO0F4Q28xTzFCOztBd0NqMU9JO0VBQ3NCO0F4Q28xTzFCOztBd0NoMU9JOzs7RUFDc0I7QXhDcTFPMUI7O0F3Q2wxT0U7RUFDRTs7SUFDcUI7RXhDczFPdkI7RXdDcjFPRTs7SUFDcUI7RXhDdzFPdkI7RXdDdDFPRTtFQUVFO0lBQ3NCO0V4Q3UxTzFCO0V3Q3AxT0k7SUFDc0I7RXhDczFPMUI7RXdDbjFPSTtJQUNzQjtFeENxMU8xQjtFd0NsMU9JO0lBQ3NCO0V4Q28xTzFCO0V3Q2gxT0k7OztJQUNzQjtFeENvMU8xQjtBQUNGO0F3Q2oxT0U7RUFDRTs7SUFDc0I7RXhDbzFPeEI7RXdDbjFPRTs7SUFDc0I7RXhDczFPeEI7RXdDcDFPRTtFQUVFO0lBQ3VCO0V4Q3ExTzNCO0V3Q2wxT0k7SUFDdUI7RXhDbzFPM0I7RXdDajFPSTtJQUN1QjtFeENtMU8zQjtFd0NoMU9JO0lBQ3VCO0V4Q2sxTzNCO0V3QzkwT0k7OztJQUN1QjtFeENrMU8zQjtBQUNGO0F3Qy8wT0U7QUFDQTtFQUFrQjtBeENrMU9wQjs7QXdDajFPRTtFQUFrQjtBeENxMU9wQjs7QXdDcDFPRTtFQUF5QjtBeEN3MU8zQjs7QXdDdjFPRTtFQUF5QjtBeEMyMU8zQjs7QXdDejFPRTtBQUNBO0VBQXVCO0F4QzYxT3pCOztBd0M1MU9FO0VBQThCO0F4Q2cyT2hDOztBd0MvMU9FO0VBQXVCO0F4Q20yT3pCOztBd0NsMk9FO0VBQThCO0F4Q3MyT2hDOztBd0NyMk9FO0VBQXVCO0F4Q3kyT3pCOztBd0N4Mk9FO0VBQThCO0F4QzQyT2hDOztBd0MzMk9FO0VBQW9CO0F4QysyT3RCOztBd0M5Mk9FO0VBQTJCO0F4Q2szTzdCOztBd0NqM09FO0VBQW9CO0F4Q3EzT3RCOztBd0NwM09FO0VBQTJCO0F4Q3czTzdCOztBd0N2M09FO0VBQW9CO0F4QzIzT3RCOztBd0MxM09FO0VBQTJCO0F4QzgzTzdCOztBd0M1M09FO0FBQ0E7RXZDNUhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUQ0L09GOztBd0NqNE9FO0V2Qy9IQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEb2dQRjtBd0N0NE9JO0V2Q3ZIRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEZ2dQRjs7QXdDdjRPRTtBQUVFOztFQUNrQjtBeEMwNE90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MzRQSTtFQUNJO0F6QzY0UFI7QXlDMzRQSTtFQUNJO0F6QzY0UFI7QXlDMzRQSTtFQUNJO0F6QzY0UFI7QXlDMzRQSTtFQUNJO0F6QzY0UFI7O0F5QzE0UEE7RUFDSTtJQUNJO0V6QzY0UE47RXlDMzRQRTtJQUNJO0V6QzY0UE47RXlDMzRQRTtJQUNJO0V6QzY0UE47QUFDRjtBeUMzNFBBO0VBQ0k7SUFDSTtFekM2NFBOO0V5QzM0UEU7SUFDSTtFekM2NFBOO0V5QzM0UEU7SUFDSTtFekM2NFBOO0FBQ0Y7QXlDeDRQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QzA0UEo7O0F5Q3Y0UEE7RUFDSTtBekMwNFBKOztBeUN2NFBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpDMDRQSjtBeUN4NFBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpDMDRQUjs7QXlDbjRQQTtFQUNJO0F6Q3M0UEo7O0F5Q3A0UEE7RUFDSTtBekN1NFBKOztBeUNwNFBBOzs7RUFHSTtBekN1NFBKOztBeUNyNFBBO0VBQ0k7QXpDdzRQSjs7QXlDdDRQQTs7RUFFSTtBekN5NFBKOztBeUN2NFBBOztFQUVJO0F6QzA0UEo7O0F5Q3g0UEE7RUFDSTtBekMyNFBKO0F5Q3o0UEk7RUFDSTtBekMyNFBSO0F5Q3o0UEk7RUFDSTtBekMyNFBSO0F5Q3o0UEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekMyNFBSO0F5Q3o0UEk7RUFDSTtFQUNBO0VBQ0E7QXpDMjRQUjs7QXlDcjRQQTtFQUNJO0VBQ0E7RUFDQTtBekN3NFBKOztBeUNyNFBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJ2Q3BjYTtFdUNxY2I7RUFDQTtFQUNBO0F6Q3c0UEo7O0F5Q3Q0UEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQnZDcmRnQjtBRjgxUXBCO0F5Q3Y0UEk7RUFDSSxtQnZDcGRZO0FGNjFRcEI7QXlDdjRQSTtFQUNJLG1CdkN4ZFU7QUZpMlFsQjtBeUN2NFBJO0VBQ0ksbUJ4Q3ZPUTtBRGduUWhCO0F5Q3Y0UEk7RUFDSSxtQnZDNWRTO0FGcTJRakI7O0EwQzM2UUE7O3VDQUFBO0FBSUE7RUFDSTtBMUM2NlFKO0EwQzM2UUk7RUFDSSx5QjFDRmE7QUErNlFyQjs7QTBDejZRQTtFQUNJO0VBQ0E7RUFDQTtBMUM0NlFKOztBMEN2NlFBOztFQUFBO0FBSUE7O0VBRUk7QTFDeTZRSjs7QTBDdDZRQTs7Ozs7Ozs7RUFRSSx5RTFDK0JVO0FBMDRRZDs7QTBDcjZRQTtFQUNJLG1CeENVcUI7RXdDVHJCLGtCSmhDZ0I7RUlpQ2hCLFd4Q0trQjtFd0NKbEIsa0JKL0JnQjtFSWdDaEIscUJKL0JtQjtFSWdDbkIsZ0JKbENpQjtBdEMwOFFyQjs7QTBDdDZRQTtFQUFNO0ExQzA2UU47O0EwQ3o2UUE7RUFBTTtBMUM2NlFOOztBMEM1NlFBO0VBQU07QTFDZzdRTjs7QTBDLzZRQTtFQUFNO0ExQ203UU47O0EwQ2w3UUE7RUFBTTtBMUNzN1FOOztBMENyN1FBO0VBQU07QTFDeTdRTjs7QTBDdjdRQTtFQUNJO0VBQ0E7RUFDQTtBMUMwN1FKOztBMEN2N1FBO0VBQ0k7RUFDQTtBMUMwN1FKOztBMEN2N1FBOztFQUVJO0VBQ0E7QTFDMDdRSjs7QTBDdjdRQTtFQUNJO0ExQzA3UUo7O0EwQ3I3UUE7RUFDSTtBMUN3N1FKOztBMENwN1FBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ3U3UUY7O0EwQ3A3UUE7RUFDSSxXeEM3Q2tCO0FGbytRdEI7O0EyQ3JoUkE7O3VDQUFBO0FBS0E7OztFQUFBO0FBU0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQ2loUlI7O0EyQ3RnUkE7O0VBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzQ3lnUko7O0EyQ2xnUkE7O0VBQUE7QUFRSTs7RUFFSTtBM0NnZ1JSO0EyQzcvUUk7RUFDSTtFQUNBO0VBQ0E7QTNDKy9RUjtBMkM1L1FJO0VBQ0k7QTNDOC9RUjtBMkMzL1FJO0VBQ0k7QTNDNi9RUjtBMkM1L1FRO0VBQ0k7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QTtFQUNBO0E3Q3V4Uko7QTZDcnhSSTtFQUNJO0E3Q3V4UlI7QTZDbHhSUTtFQUdJO0E3Q2t4Ulo7QTZDN3dSSTs7RUFFSTtBN0Mrd1JSOztBNkMxd1JBO0VBQU07QTdDOHdSTjs7QTZDN3dSQTtFQUFZO0E3Q2l4Ulo7O0E2Q2h4UkE7RUFBVSxjM0N4RVU7QUY0MVJwQjs7QTZDbnhSQTtFQUFlLGMzQ3pFSztBRmcyUnBCOztBNkN0eFJBO0VBQU87QTdDMHhSUDs7QTZDenhSQTtFQUFPO0E3QzZ4UlA7O0E2QzV4UkE7RUFBNEI7QTdDZ3lSNUI7O0E2Qy94UkE7RUFBd0I7QTdDbXlSeEI7O0E2Q2x5UkE7RUFBUTtBN0NzeVJSOztBNkNyeVJBO0VBQVE7QTdDeXlSUjs7QTZDeHlSQTtFQUFlO0E3QzR5UmY7O0E2QzN5UkE7RUFBYztBN0MreVJkOztBNkM5eVJBO0VBQWM7QTdDa3pSZDs7QTZDanpSQTtFQUFhO0E3Q3F6UmI7O0E2Q3B6UkE7RUFBZTtBN0N3elJmOztBNkN2elJBO0VBQWE7QTdDMnpSYjs7QTZDMXpSQTtFQUFpQjtBN0M4elJqQjs7QTZDN3pSQTtFQUFZO0VBQW9CO0VBQWlCO0E3Q20wUmpEOztBNkNsMFJBO0VBQWdCO0VBQW9CO0VBQWlCO0E3Q3cwUnJEOztBNkN2MFJBO0VBQWtCO0VBQW9CO0VBQWtCO0E3QzYwUnhEOztBNkMxMFJBO0VBQVk7QTdDODBSWjs7QTZDNzBSQTtFQUFhO0E3Q2kxUmI7O0E2Q2gxUkE7RUFBYztBN0NvMVJkOztBNkNuMVJBO0VBQWdCO0E3Q3UxUmhCOztBNkN0MVJBO0VBQWM7QTdDMDFSZDs7QTZDejFSQTtFQUFhO0E3QzYxUmI7O0E2QzUxUkE7RUFBYztBN0NnMlJkOztBNkMvMVJBO0VBQWU7QTdDbTJSZjs7QTZDbDJSQTtFQUFZO0VBQW1CO0E3Q3UyUi9COztBNkNyMlJBO0VBQU07QTdDeTJSTjs7QTZDeDJSQTtFQUFPO0E3QzQyUlA7O0E2QzMyUkE7RUFBTztBN0MrMlJQOztBNkM5MlJBO0VBQU87QTdDazNSUDs7QTZDajNSQTtFQUFPO0E3Q3EzUlA7O0E2Q3AzUkE7RUFBTztBN0N3M1JQOztBNkN2M1JBO0VBQU87QTdDMjNSUDs7QTZDMTNSQTtFQUFPO0E3QzgzUlA7O0E2QzczUkE7RUFBTztBN0NpNFJQOztBNkNoNFJBO0VBQU87QTdDbzRSUDs7QTZDbjRSQTtFQUFRO0E3Q3U0UlI7O0E2Q3Q0UkE7RUFBUTtFQUFZO0E3QzI0UnBCOztBNkN6NFJBO0VBQ0k7QTdDNDRSSjs7QTZDejRSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDNDRSSjs7QTZDejRSQTtFQUNJO0lBQWdCO0U3QzY0UmxCO0FBQ0Y7QTZDMzRSQTtFQUFZO0VBQStEO0E3Qys0UjNFLEU2Qy80UitGO0FBRS9GO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDKzRSSjs7QTZDNTRSQTtFQUFpQjtFQUFTO0VBQXNCO0VBQXFCO0VBQVc7RUFBWTtBN0NxNVI1Rjs7QTZDbjVSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDczVSSjs7QTZDbjVSQTtFQUNJO0lBQVc7RTdDdTVSYjtBQUNGO0E2Q3I1UkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0N1NVJKOztBNkNyNVJBO0VBQ0ksbUIzQzFLZ0I7RTJDMktoQjtFQUNBO0E3Q3c1Uko7O0E2Q3Q1UkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjM0NsTGdCO0FGMmtTcEI7O0E2Q3Q1UkE7RUFDSTtFQUNBO0E3Q3k1Uko7O0E2Q3I1UkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDdzVSSjtBNkN0NVJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdDdzVSUjtBNkNyNVJJO0VBQ0c7QTdDdTVSUDs7QTZDbjVSQTtFQUVJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0E3Q2c1Uko7QTZDOTRSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Q2c1UlI7QTZDNzRSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTdDODRSUjtBNkM1NFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBN0M2NFJSO0E2QzM0Ukk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0E3QzQ0UlI7QTZDMTRSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTdDMjRSUjtBNkN6NFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBN0MwNFJSO0E2Q3g0Ukk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0E3Q3k0UlI7QTZDdDRSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDdzRSUjtBNkN0NFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0N3NFJSO0E2Q3Q0Ukk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Q3c0UlI7QTZDdDRSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDdzRSUjtBNkN0NFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0N3NFJSO0E2Q3Q0Ukk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Q3U0UlI7QTZDcjRSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDdTRSUjs7QTZDbjRSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDczRSSjtBNkNwNFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0NzNFJSO0E2Q240Ukk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QTdDbzRSUjtBNkNsNFJJO0VBQ0k7QTdDbzRSUjtBNkNsNFJJO0VBQ0k7QTdDbzRSUjs7QTZDNTNSUTtFQUVRO0E3QzgzUmhCOztBNkNoNFJRO0VBRVE7QTdDazRSaEI7O0E2Q3A0UlE7RUFFUTtBN0NzNFJoQjs7QTZDeDRSUTtFQUVRO0E3QzA0UmhCOztBNkM1NFJRO0VBRVE7QTdDODRSaEI7O0E2Q2g1UlE7RUFFUTtBN0NrNVJoQjs7QTZDcDVSUTtFQU1RO0E3Q2s1UmhCOztBNkN4NVJRO0VBTVE7QTdDczVSaEI7O0E2QzU1UlE7RUFNUTtBN0MwNVJoQjs7QTZDaDZSUTtFQU1RO0E3Qzg1UmhCOztBNkNwNlJRO0VBTVE7QTdDazZSaEI7O0E2Q3g2UlE7RUFNUTtBN0NzNlJoQjs7QTZDNTZSUTtFQVVRO0E3Q3M2UmhCOztBNkNoN1JRO0VBVVE7QTdDMDZSaEI7O0E2Q3A3UlE7RUFVUTtBN0M4NlJoQjs7QTZDeDdSUTtFQVVRO0E3Q2s3UmhCOztBNkM1N1JRO0VBVVE7QTdDczdSaEI7O0E2Q2g4UlE7RUFVUTtBN0MwN1JoQjs7QThDaDZTQTs7dUNBQUE7QUFLQTs7RUFBQTtBQU1JO0VBQ0k7QTlDODVTUjtBOEN6NVNRO0VBQ0k7QTlDMjVTWjtBOENyNVNRO0VBQ0k7QTlDdTVTWjtBOENoNVNROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDbTVTWjtBOEN6NFNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUMyNFNaO0E4Q3Q0U0k7RUFBZTtBOUN5NFNuQjtBOEN4NFNJO0VBQWU7QTlDMjRTbkI7QThDMTRTSTtFQUFlO0E5QzY0U25CO0E4QzU0U0k7RUFBZTtBOUMrNFNuQjtBOEN6NFNZO0VBQWdCO0E5QzQ0UzVCO0E4QzM0U1k7RUFBZ0I7QTlDODRTNUI7QThDNzRTWTtFQUFnQjtBOUNnNVM1QjtBOEMvNFNZO0VBQWdCO0E5Q2s1UzVCOztBOEN6NFNBOztFQUFBO0FBTUk7RUFDSTtBOUN5NFNSO0E4Q2w0U1E7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNxNFNaO0E4QzkzU1E7RUFDSTtBOUNnNFNaO0E4Q3ozU1E7RUFDSTtBOUMyM1NaO0E4Q24zU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q3EzU1o7QThDaDNTSTtF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O0FnRDE0VEE7RUFDSTtBaEQ2NFRKOztBZ0QzNFRBO0VBQ0k7QWhEODRUSjs7QWdENTRUQTtFQUNJO0FoRCs0VEo7O0FnRDc0VEE7RUFDSTtBaERnNVRKOztBZ0Q5NFRBO0VBQ0k7QWhEaTVUSjs7QWdELzRUQTtFQUNJO0FoRGs1VEo7O0FnRGg1VEE7RUFDSTtBaERtNVRKOztBZ0RqNVRBO0VBQ0k7QWhEbzVUSjs7QWdEbDVUQTtFQUNJO0FoRHE1VEo7O0FnRG41VEE7RUFDSTtBaERzNVRKOztBZ0RwNVRBO0VBQ0k7QWhEdTVUSjs7QWdEcjVUQTtFQUNJO0FoRHc1VEo7O0FnRHQ1VEE7RUFDSTtBaER5NVRKOztBZ0R2NVRBO0VBQ0k7QWhEMDVUSjs7QWdEeDVUQTtFQUNJO0FoRDI1VEo7O0FnRHo1VEE7RUFDSTtBaEQ0NVRKOztBZ0QxNVRBO0VBQ0k7QWhENjVUSjs7QWdEMzVUQTtFQUNJO0FoRDg1VEo7O0FnRDU1VEE7RUFDSTtBaEQrNVRKOztBZ0Q3NVRBO0VBQ0k7QWhEZzZUSjs7QWdEOTVUQTtFQUNJO0FoRGk2VEo7O0FnRC81VEE7RUFDSTtBaERrNlRKOztBZ0RoNlRBO0VBQ0k7QWhEbTZUSjs7QWdEajZUQTtFQUNJO0FoRG82VEo7O0FnRGw2VEE7RUFDSTtBaERxNlRKOztBZ0RuNlRBO0VBQ0k7QWhEczZUSjs7QWdEcDZUQTtFQUNJO0FoRHU2VEo7O0FnRHI2VEE7RUFDSTtBaER3NlRKOztBZ0R0NlRBO0VBQ0k7QWhEeTZUSjs7QWdEdjZUQTtFQUNJO0FoRDA2VEo7O0FnRHg2VEE7RUFDSTtBaEQyNlRKOztBZ0R6NlRBO0VBQ0k7QWhENDZUSjs7QWdEMTZUQTtFQUNJO0FoRDY2VEo7O0FnRDM2VEE7RUFDSTtBaEQ4NlRKOztBZ0Q1NlRBO0VBQ0k7QWhEKzZUSjs7QWdENzZUQTtFQUNJO0FoRGc3VEo7O0FnRDk2VEE7RUFDSTtBaERpN1RKOztBZ0QvNlRBO0VBQ0k7QWhEazdUSjs7QWdEaDdUQTtFQUNJO0FoRG03VEo7O0FnRGo3VEE7RUFDSTtBaERvN1RKOztBZ0RsN1RBO0VBQ0k7QWhEcTdUSjs7QWdEbjdUQTtFQUNJO0FoRHM3VEo7O0FnRHA3VEE7RUFDSTtBaER1N1RKOztBZ0RyN1RBO0VBQ0k7QWhEdzdUSjs7QWdEdDdUQTtFQUNJO0FoRHk3VEo7O0FnRHY3VEE7RUFDSTtBaEQwN1RKOztBZ0R4N1RBO0VBQ0k7QWhEMjdUSjs7QWdEejdUQTtFQUNJO0FoRDQ3VEo7O0FnRDE3VEE7RUFDSTtBaEQ2N1RKOztBZ0QzN1RBO0VBQ0k7QWhEODdUSjs7QWdENTdUQTtFQUNJO0FoRCs3VEo7O0FnRDc3VEE7RUFDSTtBaERnOFRKOztBZ0Q5N1RBO0VBQ0k7QWhEaThUSjs7QWdELzdUQTtFQUNJO0FoRGs4VEo7O0FnRGg4VEE7RUFDSTtBaERtOFRKOztBZ0RqOFRBO0VBQ0k7QWhEbzhUSjs7QWdEbDhUQTtFQUNJO0FoRHE4VEo7O0FnRG44VEE7RUFDSTtBaERzOFRKOztBZ0RwOFRBO0VBQ0k7QWhEdThUSjs7QWdEcjhUQTtFQUNJO0FoRHc4VEo7O0FnRHQ4VEE7RUFDSTtBaER5OFRKOztBZ0R2OFRBO0VBQ0k7QWhEMDhUSjs7QWdEeDhUQTtFQUNJO0FoRDI4VEo7O0FnRHo4VEE7RUFDSTtBaEQ0OFRKOztBZ0QxOFRBO0VBQ0k7QWhENjhUSjs7QWdEMzhUQTtFQUNJO0FoRDg4VEo7O0FnRDU4VEE7RUFDSTtBaEQrOFRKOztBZ0Q3OFRBO0VBQ0k7QWhEZzlUSjs7QWdEOThUQTtFQUNJO0FoRGk5VEo7O0FnRC84VEE7RUFDSTtBaERrOVRKOztBZ0RoOVRBO0VBQ0k7QWhEbTlUSjs7QWdEajlUQTtFQUNJO0FoRG85VEo7O0FnRGw5VEE7RUFDSTtBaERxOVRKOztBZ0RuOVRBO0VBQ0k7QWhEczlUSjs7QWdEcDlUQTtFQUNJO0FoRHU5VEo7O0FnRHI5VEE7RUFDSTtBaER3OVRKOztBZ0R0OVRBO0VBQ0k7QWhEeTlUSjs7QWdEdjlUQTtFQUNJO0FoRDA5VEo7O0FnRHg5VEE7RUFDSTtBaEQyOVRKOztBZ0R6OVRBO0VBQ0k7QWhENDlUSjs7QWdEMTlUQTtFQUNJO0FoRDY5VEo7O0FnRDM5VEE7RUFDSTtBaEQ4OVRKOztBZ0Q1OVRBO0VBQ0k7QWhEKzlUSjs7QWdENzlUQTtFQUNJO0FoRGcrVEo7O0FnRDk5VEE7RUFDSTtBaERpK1RKOztBZ0QvOVRBO0VBQ0k7QWhEaytUSjs7QWdEaCtUQTtFQUNJO0FoRG0rVEo7O0FnRGorVEE7RUFDSTtBaERvK1RKOztBZ0RsK1RBO0VBQ0k7QWhEcStUSjs7QWdEbitUQTtFQUNJO0FoRHMrVEo7O0FnRHArVEE7RUFDSTtBaER1K1RKOztBZ0RyK1RBO0VBQ0k7QWhEdytUSjs7QWdEdCtUQTtFQUNJO0FoRHkrVEo7O0FnRHYrVEE7RUFDSTtBaEQwK1RKOztBZ0R4K1RBO0VBQ0k7QWhEMitUSjs7QWdEeitUQTtFQUNJO0FoRDQrVEo7O0FnRDErVEE7RUFDSTtBaEQ2K1RKOztBZ0QzK1RBO0VBQ0k7QWhEOCtUSjs7QWdENStUQTtFQUNJO0FoRCsrVEo7O0FnRDcrVEE7RUFDSTtBaERnL1RKOztBZ0Q5K1RBO0VBQ0k7QWhEaS9USjs7QWdELytUQTtFQUNJO0FoRGsvVEo7O0FnRGgvVEE7RUFDSTtBaERtL1RKOztBZ0RqL1RBO0VBQ0k7QWhEby9USjs7QWdEbC9UQTtFQUNJO0FoRHEvVEo7O0FnRG4vVEE7RUFDSTtBaERzL1RKOztBZ0RwL1RBO0VBQ0k7QWhEdS9USjs7QWdEci9UQTtFQUNJO0FoRHcvVEo7O0FnRHQvVEE7RUFDSTtBaER5L1RKOztBZ0R2L1RBO0VBQ0k7QWhEMC9USjs7QWdEeC9UQTtFQUNJO0FoRDIvVEo7O0FnRHovVEE7RUFDSTtBaEQ0L1RKOztBZ0QxL1RBO0VBQ0k7QWhENi9USjs7QWdEMy9UQTtFQUNJO0FoRDgvVEo7O0FnRDUvVEE7RUFDSTtBaEQrL1RKOztBZ0Q3L1RBO0VBQ0k7QWhEZ2dVSjs7QWdEOS9UQTtFQUNJO0FoRGlnVUo7O0FnRC8vVEE7RUFDSTtBaERrZ1VKOztBZ0RoZ1VBO0VBQ0k7QWhEbWdVSjs7QWdEamdVQTtFQUNJO0FoRG9nVUo7O0FnRGxnVUE7RUFDSTtBaERxZ1VKOztBZ0RuZ1VBO0VBQ0k7QWhEc2dVSjs7QWdEcGdVQTtFQUNJO0FoRHVnVUo7O0FnRHJnVUE7RUFDSTtBaER3Z1VKOztBZ0R0Z1VBO0VBQ0k7QWhEeWdVSjs7QWdEdmdVQTtFQUNJO0FoRDBnVUo7O0FnRHhnVUE7RUFDSTtBaEQyZ1VKOztBZ0R6Z1VBO0VBQ0k7QWhENGdVSjs7QWdEMWdVQTtFQUNJO0FoRDZnVUo7O0FnRDNnVUE7RUFDSTtBaEQ4Z1VKOztBZ0Q1Z1VBO0VBQ0k7QWhEK2dVSjs7QWdEN2dVQTtFQUNJO0FoRGdoVUo7O0FnRDlnVUE7RUFDSTtBaERpaFVKOztBZ0QvZ1VBO0VBQ0k7QWhEa2hVSjs7QWdEaGhVQTtFQUNJO0FoRG1oVUo7O0FnRGpoVUE7RUFDSTtBaERvaFVKOztBZ0RsaFVBO0VBQ0k7QWhEcWhVSjs7QWdEbmhVQTtFQUNJO0FoRHNoVUo7O0FnRHBoVUE7RUFDSTtBaER1aFVKOztBZ0RyaFVBO0VBQ0k7QWhEd2hVSjs7QWdEdGhVQTtFQUNJO0FoRHloVUo7O0FnRHZoVUE7RUFDSTtBaEQwaFVKOztBZ0R4aFVBO0VBQ0k7QWhEMmhVSjs7QWdEemhVQTtFQUNJO0FoRDRoVUo7O0FnRDFoVUE7RUFDSTtBaEQ2aFVKOztBZ0QzaFVBO0VBQ0k7QWhEOGhVSjs7QWdENWhVQTtFQUNJO0FoRCtoVUo7O0FnRDdoVUE7RUFDSTtBaERnaVVKOztBZ0Q5aFVBO0VBQ0k7QWhEaWlVSjs7QWdEL2hVQTtFQUNJO0FoRGtpVUo7O0FnRGhpVUE7RUFDSTtBaERtaVVKOztBZ0RqaVVBO0VBQ0k7QWhEb2lVSjs7QWdEbGlVQTtFQUNJO0FoRHFpVUo7O0FnRG5pVUE7RUFDSTtBaERzaVVKOztBZ0RwaVVBO0VBQ0k7QWhEdWlVSjs7QWdEcmlVQTtFQUNJO0FoRHdpVUo7O0FnRHRpVUE7RUFDSTtBaER5aVVKOztBZ0R2aVVBO0VBQ0k7QWhEMGlVSjs7QWdEeGlVQTtFQUNJO0FoRDJpVUo7O0FnRHppVUE7RUFDSTtBaEQ0aVVKOztBZ0QxaVVBO0VBQ0k7QWhENmlVSjs7QWdEM2lVQTtFQUNJO0FoRDhpVUo7O0FnRDVpVUE7RUFDSTtBaEQraVVKOztBZ0Q3aVVBO0VBQ0k7QWhEZ2pVSjs7QWdEOWlVQTtFQUNJO0FoRGlqVUo7O0FnRC9pVUE7RUFDSTtBaERralVKOztBZ0RoalVBO0VBQ0k7QWhEbWpVSjs7QWdEampVQTtFQUNJO0FoRG9qVUo7O0FnRGxqVUE7RUFDSTtBaERxalVKOztBZ0RualVBO0VBQ0k7QWhEc2pVSjs7QWdEcGpVQTtFQUNJO0FoRHVqVUo7O0FnRHJqVUE7RUFDSTtBaER3alVKOztBZ0R0alVBO0VBQ0k7QWhEeWpVSjs7QWdEdmpVQTtFQUNJO0FoRDBqVUo7O0FnRHhqVUE7RUFDSTtBaEQyalVKOztBZ0R6alVBO0VBQ0k7QWhENGpVSjs7QWdEMWpVQTtFQUNJO0FoRDZqVUo7O0FnRDNqVUE7RUFDSTtBaEQ4alVKOztBZ0Q1alVBO0VBQ0k7QWhEK2pVSjs7QWdEN2pVQTtFQUNJO0FoRGdrVUo7O0FnRDlqVUE7RUFDSTtBaERpa1VKOztBZ0QvalVBO0VBQ0k7QWhEa2tVSjs7QWdEaGtVQTtFQUNJO0FoRG1rVUo7O0FnRGprVUE7RUFDSTtBaERva1VKOztBZ0Rsa1VBO0VBQ0k7QWhEcWtVSjs7QWdEbmtVQTtFQUNJO0FoRHNrVUo7O0FnRHBrVUE7RUFDSTtBaER1a1VKOztBZ0Rya1VBO0VBQ0k7QWhEd2tVSjs7QWdEdGtVQTtFQUNJO0FoRHlrVUo7O0FnRHZrVUE7RUFDSTtBaEQwa1VKOztBZ0R4a1VBO0VBQ0k7QWhEMmtVSjs7QWdEemtVQTtFQUNJO0FoRDRrVUo7O0FnRDFrVUE7RUFDSTtBaEQ2a1VKOztBZ0Qza1VBO0VBQ0k7QWhEOGtVSjs7QWdENWtVQTtFQUNJO0FoRCtrVUo7O0FnRDdrVUE7RUFDSTtBaERnbFVKOztBZ0Q5a1VBO0VBQ0k7QWhEaWxVSjs7QWdEL2tVQTtFQUNJO0FoRGtsVUo7O0FnRGhsVUE7RUFDSTtBaERtbFVKOztBZ0RqbFVBO0VBQ0k7QWhEb2xVSjs7QWdEbGxVQTtFQUNJO0FoRHFsVUo7O0FnRG5sVUE7RUFDSTtBaERzbFVKOztBZ0RwbFVBO0VBQ0k7QWhEdWxVSjs7QWdEcmxVQTtFQUNJO0FoRHdsVUo7O0FnRHRsVUE7RUFDSTtBaER5bFVKOztBZ0R2bFVBO0VBQ0k7QWhEMGxVSjs7QWdEeGxVQTtFQUNJO0FoRDJsVUo7O0FnRHpsVUE7RUFDSTtBaEQ0bFVKOztBZ0QxbFVBO0VBQ0k7QWhENmxVSjs7QWdEM2xVQTtFQUNJO0FoRDhsVUo7O0FnRDVsVUE7RUFDSTtBaEQrbFVKOztBZ0Q3bFVBO0VBQ0k7QWhEZ21VSjs7QWdEOWxVQTtFQUNJO0FoRGltVUo7O0FnRC9sVUE7RUFDSTtBaERrbVVKOztBZ0RobVVBO0VBQ0k7QWhEbW1VSjs7QWdEam1VQTtFQUNJO0FoRG9tVUo7O0FnRGxtVUE7RUFDSTtBaERxbVVKOztBZ0RubVVBO0VBQ0k7QWhEc21VSjs7QWdEcG1VQTtFQUNJO0FoRHVtVUo7O0FnRHJtVUE7RUFDSTtBaER3bVVKOztBZ0R0bVVBO0VBQ0k7QWhEeW1VSjs7QWdEdm1VQTtFQUNJO0FoRDBtVUo7O0FnRHhtVUE7RUFDSTtBaEQybVVKOztBZ0R6bVVBO0VBQ0k7QWhENG1VSjs7QWdEMW1VQTtFQUNJO0FoRDZtVUo7O0FnRDNtVUE7RUFDSTtBaEQ4bVVKOztBZ0Q1bVVBO0VBQ0k7QWhEK21VSjs7QWdEN21VQTtFQUNJO0FoRGduVUo7O0FnRDltVUE7RUFDSTtBaERpblVKOztBZ0QvbVVBO0VBQ0k7QWhEa25VSjs7QWdEaG5VQTtFQUNJO0FoRG1uVUo7O0FnRGpuVUE7RUFDSTtBaERvblVKOztBZ0RsblVBO0VBQ0k7QWhEcW5VSjs7QWdEbm5VQTtFQUNJO0FoRHNuVUo7O0FnRHBuVUE7RUFDSTtBaER1blVKOztBZ0RyblVBO0VBQ0k7QWhEd25VSjs7QWdEdG5VQTtFQUNJO0FoRHluVUo7O0FnRHZuVUE7RUFDSTtBaEQwblVKOztBZ0R4blVBO0VBQ0k7QWhEMm5VSjs7QWdEem5VQTtFQUNJO0FoRDRuVUo7O0FnRDFuVUE7RUFDSTtBaEQ2blVKOztBZ0QzblVBO0VBQ0k7QWhEOG5VSjs7QWdENW5VQTtFQUNJO0FoRCtuVUo7O0FnRDduVUE7RUFDSTtBaERnb1VKOztBZ0Q5blVBO0VBQ0k7QWhEaW9VSjs7QWdEL25VQTtFQUNJO0FoRGtvVUo7O0FnRGhvVUE7RUFDSTtBaERtb1VKOztBZ0Rqb1VBO0VBQ0k7QWhEb29VSjs7QWdEbG9VQTtFQUNJO0FoRHFvVUo7O0FnRG5vVUE7RUFDSTtBaERzb1VKOztBZ0Rwb1VBO0VBQ0k7QWhEdW9VSjs7QWdEcm9VQTtFQUNJO0FoRHdvVUo7O0FnRHRvVUE7RUFDSTtBaER5b1VKOztBZ0R2b1VBO0VBQ0k7QWhEMG9VSjs7QWdEeG9VQTtFQUNJO0FoRDJvVUo7O0FnRHpvVUE7RUFDSTtBaEQ0b1VKOztBZ0Qxb1VBO0VBQ0k7QWhENm9VSjs7QWdEM29VQTtFQUNJO0FoRDhvVUo7O0FnRDVvVUE7RUFDSTtBaEQrb1VKOztBZ0Q3b1VBO0VBQ0k7QWhEZ3BVSjs7QWdEOW9VQTtFQUNJO0FoRGlwVUo7O0FnRC9vVUE7RUFDSTtBaERrcFVKOztBZ0RocFVBO0VBQ0k7QWhEbXBVSjs7QWdEanBVQTtFQUNJO0FoRG9wVUo7O0FnRGxwVUE7RUFDSTtBaERxcFVKOztBZ0RucFVBO0VBQ0k7QWhEc3BVSjs7QWdEcHBVQTtFQUNJO0FoRHVwVUo7O0FnRHJwVUE7RUFDSTtBaER3cFVKOztBZ0R0cFVBO0VBQ0k7QWhEeXBVSjs7QWdEdnBVQTtFQUNJO0FoRDBwVUo7O0FnRHhwVUE7RUFDSTtBaEQycFVKOztBZ0R6cFVBO0VBQ0k7QWhENHBVSjs7QWdEMXBVQTtFQUNJO0FoRDZwVUo7O0FnRDNwVUE7RUFDSTtBaEQ4cFVKOztBZ0Q1cFVBO0VBQ0k7QWhEK3BVSjs7QWdEN3BVQTtFQUNJO0FoRGdxVUo7O0FnRDlwVUE7RUFDSTtBaERpcVVKOztBZ0QvcFVBO0VBQ0k7QWhEa3FVSjs7QWdEaHFVQTtFQUNJO0FoRG1xVUo7O0FnRGpxVUE7RUFDSTtBaERvcVVKOztBZ0RscVVBO0VBQ0k7QWhEcXFVSjs7QWdEbnFVQTtFQUNJO0FoRHNxVUo7O0FnRHBxVUE7RUFDSTtBaER1cVVKOztBZ0RycVVBO0VBQ0k7QWhEd3FVSjs7QWdEdHFVQTtFQUNJO0FoRHlxVUo7O0FnRHZxVUE7RUFDSTtBaEQwcVVKOztBZ0R4cVVBO0VBQ0k7QWhEMnFVSjs7QWdEenFVQTtFQUNJO0FoRDRxVUo7O0FnRDFxVUE7RUFDSTtBaEQ2cVVKOztBZ0QzcVVBO0VBQ0k7QWhEOHFVSjs7QWdENXFVQTtFQUNJO0FoRCtxVUo7O0FnRDdxVUE7RUFDSTtBaERnclVKOztBZ0Q5cVVBO0VBQ0k7QWhEaXJVSjs7QWdEL3FVQTtFQUNJO0FoRGtyVUo7O0FnRGhyVUE7RUFDSTtBaERtclVKOztBZ0RqclVBO0VBQ0k7QWhEb3JVSjs7QWdEbHJVQTtFQUNJO0FoRHFyVUo7O0FnRG5yVUE7RUFDSTtBaERzclVKOztBZ0RwclVBO0VBQ0k7QWhEdXJVSjs7QWdEcnJVQTtFQUNJO0FoRHdyVUo7O0FnRHRyVUE7RUFDSTtBaER5clVKOztBZ0R2clVBO0VBQ0k7QWhEMHJVSjs7QWdEeHJVQTtFQUNJO0FoRDJyVUo7O0FnRHpyVUE7RUFDSTtBaEQ0clVKOztBZ0QxclVBO0VBQ0k7QWhENnJVSjs7QWdEM3JVQTtFQUNJO0FoRDhyVUo7O0FnRDVyVUE7RUFDSTtBaEQrclVKOztBZ0Q3clVBO0VBQ0k7QWhEZ3NVSjs7QWdEOXJVQTtFQUNJO0FoRGlzVUo7O0FnRC9yVUE7RUFDSTtBaERrc1VKOztBZ0Roc1VBO0VBQ0k7QWhEbXNVSjs7QWdEanNVQTtFQUNJO0FoRG9zVUo7O0FnRGxzVUE7RUFDSTtBaERxc1VKOztBZ0Ruc1VBO0VBQ0k7QWhEc3NVSjs7QWdEcHNVQTtFQUNJO0FoRHVzVUo7O0FnRHJzVUE7RUFDSTtBaER3c1VKOztBZ0R0c1VBO0VBQ0k7QWhEeXNVSjs7QWdEdnNVQTtFQUNJO0FoRDBzVUo7O0FnRHhzVUE7RUFDSTtBaEQyc1VKOztBZ0R6c1VBO0VBQ0k7QWhENHNVSjs7QWdEMXNVQTtFQUNJO0FoRDZzVUo7O0FnRDNzVUE7RUFDSTtBaEQ4c1VKOztBZ0Q1c1VBO0VBQ0k7QWhEK3NVSjs7QWdEN3NVQTtFQUNJO0FoRGd0VUo7O0FnRDlzVUE7RUFDSTtBaERpdFVKOztBZ0Qvc1VBO0VBQ0k7QWhEa3RVSjs7QWdEaHRVQTtFQUNJO0FoRG10VUo7O0FnRGp0VUE7RUFDSTtBaERvdFVKOztBZ0RsdFVBO0VBQ0k7QWhEcXRVSjs7QWdEbnRVQTtFQUNJO0FoRHN0VUo7O0FnRHB0VUE7RUFDSTtBaER1dFVKOztBZ0RydFVBO0VBQ0k7QWhEd3RVSjs7QWdEdHRVQTtFQUNJO0FoRHl0VUo7O0FnRHZ0VUE7RUFDSTtBaEQwdFVKOztBZ0R4dFVBO0VBQ0k7QWhEMnRVSjs7QWdEenRVQTtFQUNJO0FoRDR0VUo7O0FnRDF0VUE7RUFDSTtBaEQ2dFVKOztBZ0QzdFVBO0VBQ0k7QWhEOHRVSjs7QWdENXRVQTtFQUNJO0FoRCt0VUo7O0FnRDd0VUE7RUFDSTtBaERndVVKOztBZ0Q5dFVBO0VBQ0k7QWhEaXVVSjs7QWdEL3RVQTtFQUNJO0FoRGt1VUo7O0FnRGh1VUE7RUFDSTtBaERtdVVKOztBZ0RqdVVBO0VBQ0k7QWhEb3VVSjs7QWdEbHVVQTtFQUNJO0FoRHF1VUo7O0FnRG51VUE7RUFDSTtBaERzdVVKOztBZ0RwdVVBO0VBQ0k7QWhEdXVVSjs7QWdEcnVVQTtFQUNJO0FoRHd1VUo7O0FnRHR1VUE7RUFDSTtBaER5dVVKOztBZ0R2dVVBO0VBQ0k7QWhEMHVVSjs7QWdEeHVVQTtFQUNJO0FoRDJ1VUo7O0FnRHp1VUE7RUFDSTtBaEQ0dVVKOztBZ0QxdVVBO0VBQ0k7QWhENnVVSjs7QWdEM3VVQTtFQUNJO0FoRDh1VUo7O0FnRDV1VUE7RUFDSTtBaEQrdVVKOztBZ0Q3dVVBO0VBQ0k7QWhEZ3ZVSjs7QWdEOXVVQTtFQUNJO0FoRGl2VUo7O0FnRC91VUE7RUFDSTtBaERrdlVKOztBZ0RodlVBO0VBQ0k7QWhEbXZVSjs7QWdEanZVQTtFQUNJO0FoRG92VUo7O0FnRGx2VUE7RUFDSTtBaERxdlVKOztBZ0RudlVBO0VBQ0k7QWhEc3ZVSjs7QWdEcHZVQTtFQUNJO0FoRHV2VUo7O0FnRHJ2VUE7RUFDSTtBaER3dlVKOztBZ0R0dlVBO0VBQ0k7QWhEeXZVSjs7QWdEdnZVQTtFQUNJO0FoRDB2VUo7O0FnRHh2VUE7RUFDSTtBaEQydlVKOztBZ0R6dlVBO0VBQ0k7QWhENHZVSjs7QWdEMXZVQTtFQUNJO0FoRDZ2VUo7O0FnRDN2VUE7RUFDSTtBaEQ4dlVKOztBZ0Q1dlVBO0VBQ0k7QWhEK3ZVSjs7QWdEN3ZVQTtFQUNJO0FoRGd3VUo7O0FnRDl2VUE7RUFDSTtBaERpd1VKOztBZ0QvdlVBO0VBQ0k7QWhEa3dVSjs7QWdEaHdVQTtFQUNJO0FoRG13VUo7O0FnRGp3VUE7RUFDSTtBaERvd1VKOztBZ0Rsd1VBO0VBQ0k7QWhEcXdVSjs7QWdEbndVQTtFQUNJO0FoRHN3VUo7O0FnRHB3VUE7RUFDSTtBaER1d1VKOztBZ0Ryd1VBO0VBQ0k7QWhEd3dVSjs7QWdEdHdVQTtFQUNJO0FoRHl3VUo7O0FnRHZ3VUE7RUFDSTtBaEQwd1VKOztBZ0R4d1VBO0VBQ0k7QWhEMndVSjs7QWdEendVQTtFQUNJO0FoRDR3VUo7O0FnRDF3VUE7RUFDSTtBaEQ2d1VKOztBZ0Qzd1VBO0VBQ0k7QWhEOHdVSjs7QWdENXdVQTtFQUNJO0FoRCt3VUo7O0FnRDd3VUE7RUFDSTtBaERneFVKOztBZ0Q5d1VBO0VBQ0k7QWhEaXhVSjs7QWdEL3dVQTtFQUNJO0FoRGt4VUo7O0FnRGh4VUE7RUFDSTtBaERteFVKOztBZ0RqeFVBO0VBQ0k7QWhEb3hVSjs7QWdEbHhVQTtFQUNJO0FoRHF4VUo7O0FnRG54VUE7RUFDSTtBaERzeFVKOztBZ0RweFVBO0VBQ0k7QWhEdXhVSjs7QWdEcnhVQTtFQUNJO0FoRHd4VUo7O0FnRHR4VUE7RUFDSTtBaER5eFVKOztBZ0R2eFVBO0VBQ0k7QWhEMHhVSjs7QWdEeHhVQTtFQUNJO0FoRDJ4VUo7O0FnRHp4VUE7RUFDSTtBaEQ0eFVKOztBZ0QxeFVBO0VBQ0k7QWhENnhVSjs7QWdEM3hVQTtFQUNJO0FoRDh4VUo7O0FnRDV4VUE7RUFDSTtBaEQreFVKOztBZ0Q3eFVBO0VBQ0k7QWhEZ3lVSjs7QWdEOXhVQTtFQUNJO0FoRGl5VUo7O0FnRC94VUE7RUFDSTtBaERreVVKOztBZ0RoeVVBO0VBQ0k7QWhEbXlVSjs7QWdEanlVQTtFQUNJO0FoRG95VUo7O0FnRGx5VUE7RUFDSTtBaERxeVVKOztBZ0RueVVBO0VBQ0k7QWhEc3lVSjs7QWdEcHlVQTtFQUNJO0FoRHV5VUo7O0FnRHJ5VUE7RUFDSTtBaER3eVVKOztBZ0R0eVVBO0VBQ0k7QWhEeXlVSjs7QWdEdnlVQTtFQUNJO0FoRDB5VUo7O0FnRHh5VUE7RUFDSTtBaEQyeVVKOztBZ0R6eVVBO0VBQ0k7QWhENHlVSjs7QWdEMXlVQTtFQUNJO0FoRDZ5VUo7O0FnRDN5VUE7RUFDSTtBaEQ4eVVKOztBZ0Q1eVVBO0VBQ0k7QWhEK3lVSjs7QWdEN3lVQTtFQUNJO0FoRGd6VUo7O0FnRDl5VUE7RUFDSTtBaERpelVKOztBZ0QveVVBO0VBQ0k7QWhEa3pVSjs7QWdEaHpVQTtFQUNJO0FoRG16VUo7O0FnRGp6VUE7RUFDSTtBaERvelVKOztBZ0RselVBO0VBQ0k7QWhEcXpVSjs7QWdEbnpVQTtFQUNJO0FoRHN6VUo7O0FnRHB6VUE7RUFDSTtBaER1elVKOztBZ0RyelVBO0VBQ0k7QWhEd3pVSjs7QWdEdHpVQTtFQUNJO0FoRHl6VUo7O0FnRHZ6VUE7RUFDSTtBaEQwelVKOztBZ0R4elVBO0VBQ0k7QWhEMnpVSjs7QWdEenpVQTtFQUNJO0FoRDR6VUo7O0FnRDF6VUE7RUFDSTtBaEQ2elVKOztBZ0QzelVBO0VBQ0k7QWhEOHpVSjs7QWdENXpVQTtFQUNJO0FoRCt6VUo7O0FnRDd6VUE7RUFDSTtBaERnMFVKOztBZ0Q5elVBO0VBQ0k7QWhEaTBVSjs7QWdEL3pVQTtFQUNJO0FoRGswVUo7O0FnRGgwVUE7RUFDSTtBaERtMFVKOztBZ0RqMFVBO0VBQ0k7QWhEbzBVSjs7QWdEbDBVQTtFQUNJO0FoRHEwVUo7O0FnRG4wVUE7RUFDSTtBaERzMFVKOztBZ0RwMFVBO0VBQ0k7QWhEdTBVSjs7QWdEcjBVQTtFQUNJO0FoRHcwVUo7O0FnRHQwVUE7RUFDSTtBaER5MFVKOztBZ0R2MFVBO0VBQ0k7QWhEMDBVSjs7QWdEeDBVQTtFQUNJO0FoRDIwVUo7O0FnRHowVUE7RUFDSTtBaEQ0MFVKOztBZ0QxMFVBO0VBQ0k7QWhENjBVSjs7QWdEMzBVQTtFQUNJO0FoRDgwVUo7O0FnRDUwVUE7RUFDSTtBaEQrMFVKOztBZ0Q3MFVBO0VBQ0k7QWhEZzFVSjs7QWdEOTBVQTtFQUNJO0FoRGkxVUo7O0FnRC8wVUE7RUFDSTtBaERrMVVKOztBZ0RoMVVBO0VBQ0k7QWhEbTFVSjs7QWdEajFVQTtFQUNJO0FoRG8xVUo7O0FnRGwxVUE7RUFDSTtBaERxMVVKOztBZ0RuMVVBO0VBQ0k7QWhEczFVSjs7QWdEcDFVQTtFQUNJO0FoRHUxVUo7O0FnRHIxVUE7RUFDSTtBaER3MVVKOztBZ0R0MVVBO0VBQ0k7QWhEeTFVSjs7QWdEdjFVQTtFQUNJO0FoRDAxVUo7O0FnRHgxVUE7RUFDSTtBaEQyMVVKOztBZ0R6MVVBO0VBQ0k7QWhENDFVSjs7QWdEMTFVQTtFQUNJO0FoRDYxVUo7O0FnRDMxVUE7RUFDSTtBaEQ4MVVKOztBZ0Q1MVVBO0VBQ0k7QWhEKzFVSjs7QWdENzFVQTtFQUNJO0FoRGcyVUo7O0FnRDkxVUE7RUFDSTtBaERpMlVKOztBZ0QvMVVBO0VBQ0k7QWhEazJVSjs7QWdEaDJVQTtFQUNJO0FoRG0yVUo7O0FnRGoyVUE7RUFDSTtBaERvMlVKOztBZ0RsMlVBO0VBQ0k7QWhEcTJVSjs7QWdEbjJVQTtFQUNJO0FoRHMyVUo7O0FnRHAyVUE7RUFDSTtBaER1MlVKOztBZ0RyMlVBO0VBQ0k7QWhEdzJVSjs7QWdEdDJVQTtFQUNJO0FoRHkyVUo7O0FnRHYyVUE7RUFDSTtBaEQwMlVKOztBZ0R4MlVBO0VBQ0k7QWhEMjJVSjs7QWdEejJVQTtFQUNJO0FoRDQyVUo7O0FnRDEyVUE7RUFDSTtBaEQ2MlVKOztBZ0QzMlVBO0VBQ0k7QWhEODJVSjs7QWdENTJVQTtFQUNJO0FoRCsyVUo7O0FnRDcyVUE7RUFDSTtBaERnM1VKOztBZ0Q5MlVBO0VBQ0k7QWhEaTNVSjs7QWdELzJVQTtFQUNJO0FoRGszVUo7O0FnRGgzVUE7RUFDSTtBaERtM1VKOztBZ0RqM1VBO0VBQ0k7QWhEbzNVSjs7QWdEbDNVQTtFQUNJO0FoRHEzVUo7O0FnRG4zVUE7RUFDSTtBaERzM1VKOztBZ0RwM1VBO0VBQ0k7QWhEdTNVSjs7QWdEcjNVQTtFQUNJO0FoRHczVUo7O0FnRHQzVUE7RUFDSTtBaER5M1VKOztBZ0R2M1VBO0VBQ0k7QWhEMDNVSjs7QWdEeDNVQTtFQUNJO0FoRDIzVUo7O0FnRHozVUE7RUFDSTtBaEQ0M1VKOztBZ0QxM1VBO0VBQ0k7QWhENjNVSjs7QWdEMzNVQTtFQUNJO0FoRDgzVUo7O0FnRDUzVUE7RUFDSTtBaEQrM1VKOztBZ0Q3M1VBO0VBQ0k7QWhEZzRVSjs7QWdEOTNVQTtFQUNJO0FoRGk0VUo7O0FnRC8zVUE7RUFDSTtBaERrNFVKOztBZ0RoNFVBO0VBQ0k7QWhEbTRVSjs7QWdEajRVQTtFQUNJO0FoRG80VUo7O0FnRGw0VUE7RUFDSTtBaERxNFVKOztBZ0RuNFVBO0VBQ0k7QWhEczRVSjs7QWdEcDRVQTtFQUNJO0FoRHU0VUo7O0FnRHI0VUE7RUFDSTtBaER3NFVKOztBZ0R0NFVBO0VBQ0k7QWhEeTRVSjs7QWdEdjRVQTtFQUNJO0FoRDA0VUo7O0FnRHg0VUE7RUFDSTtBaEQyNFVKOztBZ0R6NFVBO0VBQ0k7QWhENDRVSjs7QWdEMTRVQTtFQUNJO0FoRDY0VUo7O0FnRDM0VUE7RUFDSTtBaEQ4NFVKOztBZ0Q1NFVBO0VBQ0k7QWhEKzRVSjs7QWdENzRVQTtFQUNJO0FoRGc1VUo7O0FnRDk0VUE7RUFDSTtBaERpNVVKOztBZ0QvNFVBO0VBQ0k7QWhEazVVSjs7QWdEaDVVQTtFQUNJO0FoRG01VUo7O0FnRGo1VUE7RUFDSTtBaERvNVVKOztBZ0RsNVVBO0VBQ0k7QWhEcTVVSjs7QWdEbjVVQTtFQUNJO0FoRHM1VUo7O0FnRHA1VUE7RUFDSTtBaER1NVVKOztBZ0RyNVVBO0VBQ0k7QWhEdzVVSjs7QWdEdDVVQTtFQUNJO0FoRHk1VUo7O0FnRHY1VUE7RUFDSTtBaEQwNVVKOztBZ0R4NVVBO0VBQ0k7QWhEMjVVSjs7QWdEejVVQTtFQUNJO0FoRDQ1VUo7O0FnRDE1VUE7RUFDSTtBaEQ2NVVKOztBZ0QzNVVBO0VBQ0k7QWhEODVVSjs7QWdENTVVQTtFQUNJO0FoRCs1VUo7O0FnRDc1VUE7RUFDSTtBaERnNlVKOztBZ0Q5NVVBO0VBQ0k7QWhEaTZVSjs7QWdELzVVQTtFQUNJO0FoRGs2VUo7O0FnRGg2VUE7RUFDSTtBaERtNlVKOztBZ0RqNlVBO0VBQ0k7QWhEbzZVSjs7QWdEbDZVQTtFQUNJO0FoRHE2VUo7O0FnRG42VUE7RUFDSTtBaERzNlVKOztBZ0RwNlVBO0VBQ0k7QWhEdTZVSjs7QWdEcjZVQTtFQUNJO0FoRHc2VUo7O0FnRHQ2VUE7RUFDSTtBaER5NlVKOztBZ0R2NlVBO0VBQ0k7QWhEMDZVSjs7QWdEeDZVQTtFQUNJO0FoRDI2VUo7O0FnRHo2VUE7RUFDSTtBaEQ0NlVKOztBZ0QxNlVBO0VBQ0k7QWhENjZVSjs7QWdEMzZVQTtFQUNJO0FoRDg2VUo7O0FnRDU2VUE7RUFDSTtBaEQrNlVKOztBZ0Q3NlVBO0VBQ0k7QWhEZzdVSjs7QWdEOTZVQTtFQUNJO0FoRGk3VUo7O0FnRC82VUE7RUFDSTtBaERrN1VKOztBZ0RoN1VBO0VBQ0k7QWhEbTdVSjs7QWdEajdVQTtFQUNJO0FoRG83VUo7O0FnRGw3VUE7RUFDSTtBaERxN1VKOztBZ0RuN1VBO0VBQ0k7QWhEczdVSjs7QWdEcDdVQTtFQUNJO0FoRHU3VUo7O0FnRHI3VUE7RUFDSTtBaER3N1VKOztBZ0R0N1VBO0VBQ0k7QWhEeTdVSjs7QWdEdjdVQTtFQUNJO0FoRDA3VUo7O0FnRHg3VUE7RUFDSTtBaEQyN1VKOztBZ0R6N1VBO0VBQ0k7QWhENDdVSjs7QWdEMTdVQTtFQUNJO0FoRDY3VUo7O0FnRDM3VUE7RUFDSTtBaEQ4N1VKOztBZ0Q1N1VBO0VBQ0k7QWhEKzdVSjs7QWdENzdVQTtFQUNJO0FoRGc4VUo7O0FnRDk3VUE7RUFDSTtBaERpOFVKOztBZ0QvN1VBO0VBQ0k7QWhEazhVSjs7QWdEaDhVQTtFQUNJO0FoRG04VUo7O0FnRGo4VUE7RUFDSTtBaERvOFVKOztBZ0RsOFVBO0VBQ0k7QWhEcThVSjs7QWdEbjhVQTtFQUNJO0FoRHM4VUo7O0FnRHA4VUE7RUFDSTtBaER1OFVKOztBZ0RyOFVBO0VBQ0k7QWhEdzhVSjs7QWdEdDhVQTtFQUNJO0FoRHk4VUo7O0FnRHY4VUE7RUFDSTtBaEQwOFVKOztBZ0R4OFVBO0VBQ0k7QWhEMjhVSjs7QWdEejhVQTtFQUNJO0FoRDQ4VUo7O0FnRDE4VUE7RUFDSTtBaEQ2OFVKOztBZ0QzOFVBO0VBQ0k7QWhEODhVSjs7QWdENThVQTtFQUNJO0FoRCs4VUo7O0FnRDc4VUE7RUFDSTtBaERnOVVKOztBZ0Q5OFVBO0VBQ0k7QWhEaTlVSjs7QWlEcHVZQTtFQUNJO0FqRHV1WUo7O0FpRHJ1WUE7RUFDSTtBakR3dVlKOztBaUR0dVlBO0VBQ0k7QWpEeXVZSjs7QWlEdnVZQTtFQUNJO0FqRDB1WUo7O0FpRHh1WUE7RUFDSTtBakQydVlKOztBaUR6dVlBO0VBQ0k7QWpENHVZSjs7QWlEMXVZQTtFQUNJO0FqRDZ1WUo7O0FpRDF1WUE7RUFDSTtFQUNBO0FqRDZ1WUo7QWlEdHVZQTtFQUNJO0VBQ0E7QWpEd3VZSjtBaURqdVlBO0VBQ0k7RUFDQTtBakRtdVlKO0FpRDV0WUE7RUFDSTtFQUNBO0FqRDh0WUo7QWlEdnRZQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBakR5dFlKOztBaUR0dFlBO0VBQ0k7QWpEeXRZSjs7QWlEdHRZQTtFQUdJO0FqRHV0WUo7QWlEaHRZQTtFQUNJO0FqRGt0WUo7O0FpRC9zWUE7RUFDSTtFQUNBO0FqRGt0WUo7QWlEM3NZQTtFQUNJO0VBQ0E7QWpENnNZSjtBaUR0c1lBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakR3c1lKO0FpRHRzWUk7RUFDSTtBakR3c1lSO0FpRHRzWUk7RUFDSTtBakR3c1lSO0FpRHRzWUk7RUFDSTtBakR3c1lSO0FpRHRzWUk7RUFDSTtBakR3c1lSO0FpRHRzWUk7RUFDSTtBakR3c1lSO0FpRHRzWUk7RUFDSTtBakR3c1lSOztBa0RyMFlBOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbER3MFlGOztBa0R0MFlBO0VBQ0U7QWxEeTBZRjs7QWtEdjBZQTtFQUNFO0FsRDAwWUY7O0FrRHgwWUE7RUFDRTtFQUNBO0FsRDIwWUY7O0FrRHgwWUE7RUFDRTtJQUNFO0VsRDIwWUY7RWtEeDBZQTtJQUNFO0VsRDAwWUY7QUFDRjtBa0R4MFlBO0VBQ0U7SUFDRTtFbEQwMFlGO0VrRHYwWUE7SUFDRTtFbER5MFlGO0FBQ0Y7QWtEdDBZQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbER3MFlGOztBa0RyMFlBOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEdzBZRjs7QWtEdDBZQTtFQUNFO0VBQ0E7QWxEeTBZRjs7QWtEdjBZQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEQwMFlGOztBa0R4MFlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxEMjBZRjs7QWtEejBZQTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxENDBZRjs7QWtEMTBZQTtFQUNFO0FsRDYwWUY7O0FrRDMwWUE7RUFDRTtFQUNBO0FsRDgwWUY7O0FrRDUwWUE7RUFDRTtBbEQrMFlGOztBa0Q3MFlBO0VBQ0U7QWxEZzFZRjs7QWtEOTBZQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FsRGcxWUY7O0FrRDkwWUE7RUFDRTtFQUNBO0VBQ0E7QWxEaTFZRjs7QWtELzBZQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsRGsxWUY7O0FrRGgxWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRG0xWUY7O0FrRGoxWUE7RUFDRTtBbERvMVlGOztBa0RsMVlBO0VBQ0U7QWxEcTFZRjs7QWtEbDFZQTtBQUNBO0VBQ0U7QWxEcTFZRjs7QWtEbDFZQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRHExWUY7O0FrRG4xWUE7RUFDRTtBbERzMVlGOztBa0RuMVlBOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7QWxEczFZRjs7QWtEcDFZQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNB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O0VlcDJaSTtJQUNFO0lBQ0E7SUFDQTtFZnMyWk47QUFDRjtBZXoxWkU7RUFDRSxlQXZIaUI7RUF3SGpCLGdCQWhIb0I7QWYyOFp4QjtBZXYxWk07RUFDRTtFQUNBLGVBOUhhO0FmdTlackI7QWVyMVpJO0VBQ0UsbUJBL0hlO0FmczlackI7QWVwMVpJO0VBQ0UsZ0JBaklrQjtFQWtJbEIsZUFuSWlCO0FmeTladkI7QXFEdDZaQTtFdENtR0ksdUJzQ2hHYTtBckRzNlpqQjtBZW4wWk07RUFBUSxjZCtHRztBRHV0WmpCO0FlcDBaTTtFQUFJLGNkNkdPO0FEMHRaakI7QWVwMFpJO0VBRUUsbUJidEhjO0FGMjdacEI7QWVuMFpNO0VBQVEsY2RzR0c7QURndVpqQjtBZXAwWk07RUFBSSxjZG9HTztBRG11WmpCO0FlcDBaUTtFQUVGLG1CYi9IYztBRm84WnBCO0FlbjBaTTtFQUFRLGNkNkZHO0FEeXVaakI7QWVwMFpNO0VBQUksY2QyRk87QUQ0dVpqQjtBZW4wWkk7RUFDRSxtQmRxTmtCO0VjcE5sQixZQTdLc0I7RUE4S3RCO0FmcTBaTjtBZXAwWk07RUFDRSxZQWhMb0I7RUFpTHBCLG1CZGdOZ0I7QURzblp4QjtBZS94Wkk7RUFBUTtBZmt5Wlo7QWVqeVpJO0VBQTJDO0Fmb3laL0M7QWVseVpNO0VBREY7SUFFSTtFZnF5Wk47QUFDRjtBZWx5Wk07RUFERjtJQUVJO0VmcXlaTjtBQUNGO0FlanlaSTtFQUFRO0Fmb3laWjtBZW55Wkk7RUFBMkM7QWZzeVovQztBZXB5Wk07RUFERjtJQUVJO0VmdXlaTjtBQUNGO0FlcHlaTTtFQURGO0lBRUk7RWZ1eVpOO0FBQ0Y7QWVueVpJO0VBQVE7QWZzeVpaO0FlcnlaSTtFQUEyQztBZnd5Wi9DO0FldHlaTTtFQURGO0lBRUk7RWZ5eVpOO0FBQ0Y7QWV0eVpNO0VBREY7SUFFSTtFZnl5Wk47QUFDRjtBZXJ5Wkk7RUFBUTtBZnd5Wlo7QWV2eVpJO0VBQTJDO0FmMHlaL0M7QWV4eVpNO0VBREY7SUFFSTtFZjJ5Wk47QUFDRjtBZXh5Wk07RUFERjtJQUVJO0VmMnlaTjtBQUNG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OztBeURqOWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekRvOWFKOztBeURqOWFBO0VBQ0k7RUFDQTtFQUNBO0F6RG85YUo7O0F5RGg5YUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6RGs5YUo7O0EwRDFpYkE7O3VDQUFBO0FBSUE7RW5Dd0NNLG1CQS9CZTtFQWdDZixpQkEvQmM7RUFnQ2QsK0NBNUJlO0VBa0NqQixzQkEvQmtCO0VBZ0NsQixVbUM5Q2E7RW5DZ0RiLGlCbUMvQ1M7RW5DZ0RrQixjdEJ1UGQ7QUR3d2FqQjtBdUIzL2FJO0VBQWlCO0F2QjgvYXJCO0F1QjcvYUk7RUFBZ0I7QXZCZ2dicEI7QXVCMy9hUTtFQUFvQyxjdEI2TzNCO0FEaXhhakI7QXVCdi9hTTtFQUNFO0VBQWdCO0F2QjAvYXhCO0F1QnovYVE7RUFBYztBdkI0L2F0QjtBMERua2JBO0VBT0k7RUFDQTtBMUQramJKO0EwRDNqYlE7RUFDSSx5QnhEbURNO0V3RGxETjtBMUQ2amJaO0EwRHRqYlE7RUFDSSx5QnhEd0NVO0V3RHZDVjtBMUR3amJaO0EwRGpqYlE7RUFDSSx5QnhEa0NRO0V3RGpDUjtBMURtamJaOztBMEQzaWJBO0VBQ0k7RUFDQSx5QnhEbUJnQjtFd0RsQmhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRDhpYko7O0EwRDNpYkE7RUFDSTtFQUNBO0ExRDhpYko7QTBENWliSTtFQUNJO0ExRDhpYlI7O0EyRDNtYkE7O3VDQUFBO0FBSUE7RUFDSTtBM0Q2bWJKO0EyRDNtYkk7RUFDSTtFQUNBO0EzRDZtYlI7QTJEM21iUTtFQUNJO0EzRDZtYlo7QTJEMW1iUTtFQUNJO0EzRDRtYlo7QTJEem1iUTtFQUVJO0EzRDBtYlo7QTJEdm1iUTtFQUNJO0VBQ0E7QTNEeW1iWjtBMkRubWJRO0VBQ0U7QTNEcW1iVjtBMkRubWJZO0VBQ0k7QTNEcW1iaEI7QTJEN2xiUTtFQUNJO0EzRCtsYlo7QTJEN2xiWTtFQUNJO0EzRCtsYmhCLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9tYWluX2VkaXQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9fc2V0dGluZ3MtbWFpbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hbGVydC1ib3hlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Jsb2NrLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b24tZ3JvdXBzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Ryb3Bkb3duLWJ1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19pY29uLWJhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2pveXJpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19rZXlzdHJva2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbWFnZWxsYW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wYW5lbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wcmljaW5nLXRhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19yYW5nZS1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3NwbGl0LWJ1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zdWItbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190YWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGh1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9vbHRpcHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFydGlhbHMvX3JlZGVzaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFydGlhbHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFydGlhbHMvX21lbnVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFydGlhbHMvX2NvbW1vbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL19wYWdlLWJsb2Nrcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZlbmRvci9faWNvbi1tb29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmVuZG9yL19pY29uLW1vb24tb3VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmVuZG9yL19vd2wtY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9tb2R1bGVzL19mb3J1bS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL19zbGlkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFydGlhbHMvX3RhYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9wYXJ0aWFscy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFydGlhbHMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9wYXJ0aWFscy9faWNvbnMtZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2RhbC13aW5kb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9wYXJ0aWFscy9wYW5lbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9wYXJ0aWFscy9fYWxlcnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIuYnV0dG9uNCwuYnV0dG9uNSAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxGcmVlU2FucyxcIkxpYmVyYXRpb24gU2Fuc1wiLFwiTmltYnVzIFNhbnMgTFwiLHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiByZ2IoMjQ1LDI0NSwyNDUpO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggcmdiYSgwLDAsMCwuMSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBhZGRpbmc6IC4zZW0gMWVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGM5YzBkIGxpbmVhci1ncmFkaWVudCgjODJkMThkLCAjMGM5YzBkKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAjNzJkZTI2IDAgLTFweCAxcHgsIGluc2V0IDAgMXB4IDFweCAjOThmZjk4LCAjM2NhYTNjIDAgMCAwIDFweCwgcmdiYSgwLDAsMCwuMykgMCAycHggNXB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzYXRlIDEuMnMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogcHVsc2F0ZSAxLjJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5idXR0b240OmhvdmVyLCAuYnV0dG9uNTpob3ZlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJ1dHRvbjQ6YWN0aXZlLCAuYnV0dG9uNTphY3RpdmUge1xuICAgIHRvcDogMXB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggcmdiYSgwLDAsMCwuMyksIDAgMCA1cHggI2ZmZCwgMCAwIDhweCAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAzcHggcmdiYSgwLDAsMCwuMyksIDAgMXB4IDFweCAjZmZmLCBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuOCksIGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjA1KTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgICA1MCUge2NvbG9yOiAjZmZmOyB0ZXh0LXNoYWRvdzogMCAtMXB4IHJnYmEoMCwwLDAsLjMpLCAwIDAgNXB4ICNmZmQsIDAgMCA4cHggI2ZmZjt9XG59XG5Aa2V5ZnJhbWVzIHB1bHNhdGUge1xuICAgIDUwJSB7Y29sb3I6ICNmZmY7IHRleHQtc2hhZG93OiAwIC0xcHggcmdiYSgwLDAsMCwuMyksIDAgMCA1cHggI2ZmZCwgMCAwIDhweCAjZmZmO31cbn1cbi5idXR0b241LCAuYnV0dG9uNTpob3ZlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5idXR0b241OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG5cbi52aXAtcHJpY2luZy10YWJsZSAucHJpY2luZy10YWJsZSB7XG4gICAgbWFyZ2luOiAxMHB4IDIwcHggMHB4IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi52aXAtcHJpY2luZy10YWJsZSAucHJpY2luZy10YWJsZSAudGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDNkM2YzY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAwIHdoaXRlO1xufVxuXG4udmlwLXByaWNpbmctdGFibGUgLnByaWNpbmctdGFibGUgLnByaWNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4udmlwLXByaWNpbmctdGFibGUgLnByaWNpbmctdGFibGUgLnByaWNlIC50ZXh0LXNtYWxsIHtcbiAgICBmb250LXNpemU6IDlwdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzY2NjtcbiAgICBwYWRkaW5nLXRvcDoxMHB4O1xufVxuXG4udmlwLXByaWNpbmctdGFibGUgLmhpZ2hsaWdodCAucHJpY2luZy10YWJsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM4MmQxOGQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4udmlwLXByaWNpbmctdGFibGUgLmhpZ2hsaWdodCAucHJpY2luZy10YWJsZSAudGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MmQxOGQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMS4xcmVtIDEuMjVyZW07XG59XG5cbi52aXAtcHJpY2luZy10YWJsZSAuaGlnaGxpZ2h0IC5wcmljaW5nLXRhYmxlIC5wcmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk4ZmY5ODtcbiAgICBwYWRkaW5nLXRvcDogMS4ycmVtO1xufVxuXG4udGV4dC1ncmF5IHtcbiAgICBjb2xvcjogIzY2Njtcbn1cblxuLnZpcC1wYWdlIC5zM2QsIC5hZGRtb25leS1wYWdlIC5zM2Qge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi5hZGRtb25leS1wcmljaW5nLXRhYmxlIGxpLmN0YS1idXR0b24gc21hbGwuaGludCB7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG59XG5cbi51c2VyLXZpcCBsaS5jdGEtYnV0dG9uIHNtYWxsLmhpbnQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmFkZG1vbmV5LXByaWNpbmctdGFibGUgLnByaWNpbmctdGFibGUgLnByaWNlLmRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOWQwNDtcbn1cblxuLmFkZG1vbmV5LXByaWNpbmctdGFibGUgLnByaWNpbmctdGFibGUgLnByaWNlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MWRkMDM7XG59XG5cbi5hZGRtb25leS1wcmljaW5nLXRhYmxlIC5wcmljaW5nLXRhYmxlIC50aXRsZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjZGRkZGRkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmZmRlO1xufVxuLmFkZG1vbmV5LXByaWNpbmctdGFibGUgLnByaWNpbmctdGFibGUgLmdpZnQxIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHQ7XG4gICAgbGluZS1oZWlnaHQ6IDYzcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjZGRkZGRkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmFkZG1vbmV5LXByaWNpbmctdGFibGUgLnByaWNpbmctdGFibGUgLmdpZnQyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHQ7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjZGRkZGRkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmZmRlO1xufVxuXG4uYWRkbW9uZXktcHJpY2luZy10YWJsZSAudGl0bGUuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogI2QzZmY5Mztcbn1cblxuLnZpcC1wYWdlIC5pY29uLWNyZWRpdCB7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbn1cblxuLnZpcC1wYWdlIC5iZXN0LXRhcmlmIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTQ3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDZweDtcbiAgICB3aWR0aDogMTUwcHg7XG59XG4uYWRkbW9uZXktcHJpY2luZy10YWJsZSAuZ29sZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IC04NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNThweDtcbn1cblxuLnZpcC1wYWdlIC5wYW5lbC12aXAtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4ubWFyZ2luLXRvcC0yMCB7XG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0yMCB7XG4gICAgYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICAgIFBheW1lbnQgcGFnZVxuKiovXG4ucGF5bWVudF9wYWdlIC5wYW5lbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLnBheW1lbnRfcGFnZSAudGV4dC1wYXktb3B0aW9uIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXNpemU6IDAuN2VtO1xufVxuLnBheW1lbnRfcGFnZSAuYXJyb3ctcGF5IHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDMycHggMCAzMnB4IDU0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjJmMmYyO1xufVxuXG4udGVhbSB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS5tZWRpdW0ge1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbn1cbi50ZWFtLnNtYWxsIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG4udGVhbS50aW55IHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG59XG5cbi50ZWFtLXdpbm5lciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1nL21haW4vdGVhbS93aW5uZXIucG5nKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIGhlaWdodDogOTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udGVhbS13aW5uZXIgLnRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG59XG5cblxuXG5cbiNjb21tZW50cy1yb3cyIHtkaXNwbGF5OiBub25lO31cblxuLnBlb3BsZSB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcHVibGljL2ltZy9wZW9wbGUvc3ByaXRlLmpwZyk7XG59XG4ucGVvcGxlLm1hbjEge2JhY2tncm91bmQtcG9zaXRpb246IDAgMDt9XG4ucGVvcGxlLm1hbjIge2JhY2tncm91bmQtcG9zaXRpb246IC03MHB4IDA7fVxuLnBlb3BsZS5tYW4zIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwcHggMDt9XG4ucGVvcGxlLm1hbjQge2JhY2tncm91bmQtcG9zaXRpb246IDAgLTcwcHg7fVxuLnBlb3BsZS5tYW41IHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzBweCAtNzBweDt9XG4ucGVvcGxlLm1hbjYge2JhY2tncm91bmQtcG9zaXRpb246IC0xNDBweCAtNzBweDt9XG4ucGVvcGxlLm1hbjcge2JhY2tncm91bmQtcG9zaXRpb246IDcwcHggMDt9XG5cbi5zZW5kLWVtYWlsIC5zLnMtbWVzc2FnZSB7dmVydGljYWwtYWxpZ246IG1pZGRsZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzBweCAtMTE3cHg7fVxuXG4ubG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuaHRtbC5zdmcgLmxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvc3ZnL3Nwcml0ZS5zdmcpO1xufVxuaHRtbC5uby1zdmcgLmxvZ28ge1xuICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3B1YmxpYy9pbWcvbWFpbi9mbGF0L2xvZ28ucG5nKTtcbn1cbi5jb3BpZWQge1xuICAgIGFuaW1hdGlvbjogc3BpbiA1MDBtcyAgZWFzZTtcbn1cblxuLm5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5kZm4ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbmRsLnRhYmxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xufVxuZGwudGFibGUgZHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kbC50YWJsZSBkdDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiOlwiO1xufVxuZGwudGFibGUgZGQge1xuICAgIG1hcmdpbjogMCAwIDAgMjU0cHg7XG4gICAgcGFkZGluZzogMCAwIDAuNWVtIDA7XG59XG5cbi5mbGFncyB7XG4gICAgbWFyZ2luLXRvcDogLTMwcHg7XG4gICAgd2lkdGg6IDE1MHB4O1xufVxuLmZsYWdzIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mbGFncyBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG4uZmxhZ3MgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDI2cHg7XG4gICAgbWFyZ2luOiAzcHggOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbn1cbi5mbGFncyBhLmN1cnJlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA3cHggMTRweCAwIDE0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiBjb3JhbCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyNHB4O1xuICAgIGxlZnQ6IDdweDtcbn1cblxuLyogW0xJR0hUQk9YXSAqL1xuaW1nLnpvb20ge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbmltZy56b29tOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDI1NSwyMjQsNCwwLjUpO1xuICAgIGN1cnNvcjogem9vbS1pbjtcbn1cbiNsaWdodGJveC1iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLDU4LDQyLCAwLjk3KTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNsaWdodGJveC1iYWNrZ3JvdW5kLnNob3cge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IHpvb20tb3V0O1xufVxuI2xpZ2h0Ym94LWltZyB7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG59XG4jbGlnaHRib3gtaW1nIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuI2JvZHkucmVhZHkgaGVhZGVyLmhlYWRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbiNib2R5LnJlYWR5IC5icmVhZGNydW1icyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4jYm9keS5yZWFkeSAuYmxvY2stc2xpZGVyIGRpdiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gQkFTRSBDT0xPUlxuJGJvcmRlci1jb2xvcjogI2RkZDtcblxuLy8gTWFpbiBiYWNrZ3JvdW5kIGNvbG9yXG4vLyRzaXRlLW1haW4tYmctY29sb3I6ICNlY2ViZTg7XG4vLyRzaXRlLW1haW4tYmctY29sb3I6ICNmM2YzZjQ7XG4kc2l0ZS1tYWluLWJnLWNvbG9yOiAjZmFmYWZhO1xuJHNpdGUtbWFpbi1wYW5lbC1iZy1jb2xvcjogI2ZmZjtcblxuXG5AaW1wb3J0IFwic2V0dGluZ3MtbWFpblwiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb25cIjtcblxuLy8gT3Igc2VsZWN0aXZlbHkgaW5jbHVkZSBjb21wb25lbnRzXG4vKkBpbXBvcnRcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvYWNjb3JkaW9uXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2FsZXJ0LWJveGVzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2Jsb2NrLWdyaWRcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvYnJlYWRjcnVtYnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvYnV0dG9uLWdyb3Vwc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b25zXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2NsZWFyaW5nXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvZmxleC12aWRlb1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9mb3Jtc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9ncmlkXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2lubGluZS1saXN0c1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9qb3lyaWRlXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2tleXN0cm9rZXNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvbGFiZWxzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL21hZ2VsbGFuXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL29yYml0XCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb25cIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFuZWxzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3ByaWNpbmctdGFibGVzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3Byb2dyZXNzLWJhcnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcmV2ZWFsXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3NpZGUtbmF2XCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3NwbGl0LWJ1dHRvbnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvc3ViLW5hdlwiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9zd2l0Y2hlc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy90YWJsZXNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdGFic1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy90aHVtYnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdG9vbHRpcHNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdG9wLWJhclwiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy90eXBlXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL29mZmNhbnZhc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy92aXNpYmlsaXR5XCI7ICovXG5cblxuLy8gVEVYVCBDT2xPUlxuXG4vLyBDT0xPUiBGT1IgR0FNRVMgTElOS1xuLy8gQ2lyY2xlIGJhY2tncm91bmQgY29sb3JcbiRiZy1jaXJjbGU6ICMwMDA7XG4vLyBDb2xvciBmb3IgaG92ZXIgc3RhdGVcbiRob3Zlci1kdXJhazogI2ZmZTUzODtcblxuLy8gVEFCUyBDT0xPUlxuJHRhYnMtYm9yZGVyOiM1MzUzNTM7XG4kdGFicy1idXR0b24tYmc6IzNlM2UzZTtcbiR0YWJzLWJ1dHRvbi1iZy1ob3ZlcjojZmZlMDA0O1xuXG5cbi8vIEdPT0dMRSBGT05UXG4vLyRjdXBydW0tZm9udDogJ0N1cHJ1bScsIHNhbnMtc2VyaWY7XG4kY3VwcnVtLWZvbnQ6IENhbGlicmksIENhbmRhcmEsIFNlZ29lLCBTZWdvZSBVSSwgT3B0aW1hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiR2ZXJkYW5hLWZvbnQ6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcblxuXG5AaW1wb3J0ICdwYXJ0aWFscy9yZWRlc2lnbic7XG5AaW1wb3J0ICdtYWluX2VkaXQuY3NzJztcblxuXG5AaW1wb3J0ICdwYXJ0aWFscy9iYXNlJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2hlYWRlcic7XG5AaW1wb3J0ICdwYXJ0aWFscy9tZW51cyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9jb21tb24nO1xuQGltcG9ydCAncGFydGlhbHMvaWNvbnMnO1xuQGltcG9ydCAncGFydGlhbHMvcGFnZS1ibG9ja3MnO1xuQGltcG9ydCAndmVuZG9yL2ljb24tbW9vbic7XG5AaW1wb3J0ICd2ZW5kb3IvaWNvbi1tb29uLW91cic7XG5AaW1wb3J0ICd2ZW5kb3Ivb3dsLWNhcm91c2VsJztcbkBpbXBvcnQgJ21vZHVsZXMvZm9ydW0nO1xuQGltcG9ydCAncGFydGlhbHMvc2xpZGVycyc7XG5AaW1wb3J0ICdwYXJ0aWFscy90YWJzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2Zvb3Rlcic7XG5AaW1wb3J0ICdwYXJ0aWFscy9idXR0b25zJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2ljb25zLWZvbnRzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL21vZGFsLXdpbmRvdyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9wYW5lbHMnO1xuQGltcG9ydCAncGFydGlhbHMvYWxlcnQnO1xuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcbi8vXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xuLy9cblxuLy8gRGF0YSBhdHRyaWJ1dGUgbmFtZXNwYWNlXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDI0cHggd2hpbGUgJGJhc2UtZm9udC1zaXplIGlzIDE2cHhcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcbi8vXG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XG5AbWl4aW4gcmFkaXVzKCRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxuQG1peGluIHNpZGUtcmFkaXVzKCRzaWRlLCAkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxuLy8gJGFjdGl2ZSAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gaW5zZXQtc2hhZG93KCRhY3RpdmU6dHJ1ZSkge1xuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xuXG4gIEBpZiAkYWN0aXZlIHsgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzaW5nbGUgb3IgbXVsdGlwbGUgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OiBlYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xuLy8gJGRlbGF5IC0gRGVmYXVsdDogbnVsbCAoMHMpXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCwgJGRlbGF5Om51bGwpIHtcbiAgJHRyYW5zaXRpb246IG5vbmU7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcGVydHkpID4gMSB7XG5cbiAgICBAZWFjaCAkdHJhbnNpdGlvbl9saXN0IGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpIHtcblxuICAgICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICAgJF9wcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAxIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMiB7XG4gICAgICAgICAgICAkX3NwZWVkOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9zcGVlZDogJHNwZWVkO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDIge1xuICAgICAgICAgIEBpZiAkaSA9PSAzIHtcbiAgICAgICAgICAgICRfZWFzZTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZWFzZTogJGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMyB7XG4gICAgICAgICAgQGlmICRpID09IDQge1xuICAgICAgICAgICAgJF9kZWxheTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZGVsYXk6ICRkZWxheTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICRwcm9wIGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGJveC1zaXppbmcgYWNyb3NzIGJyb3dzZXIgcHJlZml4ZXNcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOmJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxuICAgICAtbW96LWJveC1zaXppbmc6ICR0eXBlOyAvLyBGaXJlZm94IDwgMjlcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpc29zY2VsZXMgdHJpYW5nbGVzXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxuLy8gJHRyaWFuZ2xlLWNvbG9yIC0gVXNlZCB0byBzZXQgYm9yZGVyLWNvbG9yIHdoaWNoIG1ha2VzIHVwIHRyaWFuZ2xlLiBObyBkZWZhdWx0XG4vLyAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gVXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIHRyaWFuZ2xlIHBvaW50cy4gT3B0aW9uczogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gYm90dG9tKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBpY29uIHdpdGggdGhyZWUgbGluZXMgYWthIHRoZSBoYW1idXJnZXIgaWNvbiwgdGhlIG1lbnUtaWNvbiBvciB0aGUgbmF2aWNvblxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXG4vLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcbi8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZSBvZiBAaW5jbHVkZSBpbiBvZmZjYW52YXNcbkBtaXhpbiBoYW1idXJnZXIoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IsICRvZmZjYW52YXMpIHtcbiAgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpZiAkb2ZmY2FudmFzIHtcbiAgICAgIEBpZiAkdG9wIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XG4gICAgICB9XG4gICAgICBAaWYgJGxlZnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtKCR3aWR0aC8yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRjb2xvcjtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG4gIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmJlZm9yZSwgJjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBkaXNwbGF5OiB0YWJsZTsgfVxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBhIGdsb3dpbmcgZWZmZWN0IHRvIGJsb2NrIGVsZW1lbnRzXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcbi8vICRmYWRlLXRpbWUgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yIC0gRGVmYXVsdDogZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSlcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRmYWRlLXRpbWUsIGJvcmRlci1jb2xvciAkZmFkZS10aW1lIGVhc2UtaW4tb3V0O1xuXG4gICY6I3skc2VsZWN0b3J9IHtcbiAgICBib3JkZXItY29sb3I6ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gdHJhbnNsYXRlIGVsZW1lbnRzIGluIDJEXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxuLy8gJHZlcnRpY2FsOiBEZWZhdWx0OiAwXG5AbWl4aW4gdHJhbnNsYXRlMmQoJGhvcml6b250YWw6MCwgJHZlcnRpY2FsOjApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4kd2hpdGUgICAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kc25vdyAgICAgICAgICA6ICNGOUY5RjkgIWRlZmF1bHQ7XG4kdmFwb3IgICAgICAgICA6ICNGNkY2RjYgIWRlZmF1bHQ7XG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XG4kc2lsdmVyICAgICAgICA6ICNFRkVGRUYgIWRlZmF1bHQ7XG4kc21va2UgICAgICAgICA6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XG4kaXJvbiAgICAgICAgICA6ICNDQ0NDQ0MgIWRlZmF1bHQ7XG4kYmFzZSAgICAgICAgICA6ICNBQUFBQUEgIWRlZmF1bHQ7XG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kanVtYm8gICAgICAgICA6ICM4ODg4ODggIWRlZmF1bHQ7XG4kbW9uc29vbiAgICAgICA6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XG4kY2hhcmNvYWwgICAgICA6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kdHVhdGFyYSAgICAgICA6ICM0NDQ0NDQgIWRlZmF1bHQ7XG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kamV0ICAgICAgICAgICA6ICMyMjIyMjIgIWRlZmF1bHQ7XG4kYmxhY2sgICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4kcHJpbWFyeS1jb2xvcjogIzAwOENCQSAhZGVmYXVsdDsgICAvLyBib25kaS1ibHVlXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xuJGFsZXJ0LWNvbG9yOiAjZjA0MTI0ICFkZWZhdWx0OyAgICAgLy8gY2lubmFiYXJcbiRzdWNjZXNzLWNvbG9yOiAjNDNBQzZBICFkZWZhdWx0OyAgIC8vIHNlYS1ncmVlblxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XG4kaW5mby1jb2xvcjogI2EwZDNlOCAhZGVmYXVsdDsgICAgICAvLyBjb3JuZmxvd2VyXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4kYm9keS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3NcbiR0ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XG4kb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodCAhZGVmYXVsdDtcbkBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gbHRyIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xufSBAZWxzZSB7XG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcbn1cblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2Ugc3VyZSBib3JkZXIgcmFkaXVzIG1hdGNoZXMgdW5sZXNzIHdlIHdhbnQgaXQgZGlmZmVyZW50LlxuJGdsb2JhbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KSAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgjMDAwLCAuMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1qcy1tZXRhLXN0eWxlczogdHJ1ZSAhZGVmYXVsdDsgLy8gV2FybmluZyEgTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGNvbHVtbi1ndXR0ZXI6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcblxuLy8gTWVkaWEgUXVlcnkgUmFuZ2VzXG4kc21hbGwtYnJlYWtwb2ludDogIGVtLWNhbGMoNjQwKSAgIWRlZmF1bHQ7XG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCkgIWRlZmF1bHQ7XG4kbGFyZ2UtYnJlYWtwb2ludDogIGVtLWNhbGMoMTQ0MCkgIWRlZmF1bHQ7XG4keGxhcmdlLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTkyMCkgIWRlZmF1bHQ7XG5cbiRzbWFsbC1yYW5nZTogICAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJG1lZGl1bS1yYW5nZTogICgkc21hbGwtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkbWVkaXVtLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCkgICFkZWZhdWx0O1xuJHhsYXJnZS1yYW5nZTogICgkbGFyZ2UtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkeGxhcmdlLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSkgIWRlZmF1bHQ7XG5cbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcblxuJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIiAhZGVmYXVsdDtcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiICFkZWZhdWx0O1xuXG4kc21hbGwtdXA6ICRzY3JlZW4gIWRlZmF1bHQ7XG4kc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRyZXRpbmE6IChcbiAgXCIjeyRzY3JlZW59IGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KVwiXG4pO1xuXG4vLyBMZWdhY3lcbiRzbWFsbDogJHNtYWxsLXVwO1xuJG1lZGl1bTogJG1lZGl1bS11cDtcbiRsYXJnZTogJGxhcmdlLXVwO1xuXG5cbi8vV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxuJGN1cnNvci1hdXRvLXZhbHVlOiBhdXRvICFkZWZhdWx0O1xuJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpciAhZGVmYXVsdDtcbiRjdXJzb3ItZGVmYXVsdC12YWx1ZTogZGVmYXVsdCAhZGVmYXVsdDtcbiRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyICFkZWZhdWx0O1xuJGN1cnNvci1oZWxwLXZhbHVlOiBoZWxwICFkZWZhdWx0O1xuJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0ICFkZWZhdWx0O1xuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJnbG9iYWxcIikge1xuXG4gIC8vIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4gIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxuXG4gIEBpZiAkaW5jbHVkZS1qcy1tZXRhLXN0eWxlcyB7XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XG4gICAgICBmb250LWZhbWlseTogXCIvNS41LjMvXCI7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHh4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1kYXRhLWF0dHJpYnV0ZS1uYW1lc3BhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICN7JG5hbWVzcGFjZX07XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBNdXN0IGJlIDEwMCUgZm9yIG9mZiBjYW52YXMgdG8gd29ya1xuICAgIGh0bWwsIGJvZHkgeyBoZWlnaHQ6IDEwMCU7IH1cblxuICAgIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgfVxuXG4gICAgaHRtbCxcbiAgICBib2R5IHsgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IH1cblxuICAgIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgICBib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJnO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItYXV0by12YWx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7IC8vIFNldCB0byAkYmFzZS1saW5lLWhlaWdodCB0byB0YWtlIG9uIGJyb3dzZXIgZGVmYXVsdCBvZiAxNTAlXG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICBhOmhvdmVyIHsgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7IH1cblxuICAgIC8vIEdyaWQgRGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfVxuXG4gICAgaW1nIHsgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG4gICAgI21hcF9jYW52YXMsXG4gICAgLm1hcF9jYW52YXMsXG4gICAgLm1xYS1kaXNwbGF5IHtcbiAgICAgIGltZyxcbiAgICAgIGVtYmVkLFxuICAgICAgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWlzY2VsbGFuZW91cyB1c2VmdWwgSFRNTCBjbGFzc2VzXG4gICAgLmxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuY2xlYXJmaXggeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICAgIC5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICAgIC5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuICAgIC8vIEZvbnQgc21vb3RoaW5nXG4gICAgLy8gQW50aWFsaWFzZWQgZm9udCBzbW9vdGhpbmcgd29ya3MgYmVzdCBmb3IgbGlnaHQgdGV4dCBvbiBhIGRhcmsgYmFja2dyb3VuZC5cbiAgICAvLyBBcHBseSB0byBzaW5nbGUgZWxlbWVudHMgaW5zdGVhZCBvZiBnbG9iYWxseSB0byBib2R5LlxuICAgIC8vIE5vdGUgdGhpcyBvbmx5IGFwcGxpZXMgdG8gd2Via2l0LWJhc2VkIGRlc2t0b3AgYnJvd3NlcnMgYW5kIEZpcmVmb3ggMjUgKGFuZCBsYXRlcikgb24gdGhlIE1hYy5cbiAgICAuYW50aWFsaWFzZWQgeyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gR2xvYmFsIHJlc2V0cyBmb3IgZm9ybXNcbiAgICAvL1xuXG4gICAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gICAgdGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuICAgIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICAgIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vXG4vLyBGT1VOREFUSU9OIFNFVFRJTkdTXG4vL1xuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4vLyAkcmVtLWJhc2U6IDE2cHg7XG5cbi8vIEFsbG93cyB0aGUgdXNlIG9mIHJlbS1jYWxjKCkgb3IgbG93ZXItYm91bmQoKSBpbiB5b3VyIHNldHRpbmdzXG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9fZnVuY3Rpb25zXCI7XG5cbiRuYW1lc3BhY2UgOiBcInZlcmRhbmFcIjtcbiRuYW1lc3BhY2UyIDogcmVtLWNhbGMoMik7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4vLyAkYmFzZS1mb250LXNpemU6IDEwMCU7XG5cbi8vIFRoZSAkYmFzZS1mb250LXNpemUgaXMgMTAwJSB3aGlsZSAkYmFzZS1saW5lLWhlaWdodCBpcyAxNTAlXG4vLyAkYmFzZS1saW5lLWhlaWdodDogMTUwJTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZTtcbi8vICRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZTtcbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gR3JpZFxuXG4vLyAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlO1xuXG4vLyAkcm93LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcbi8vICR0b3RhbC1jb2x1bW5zOiAxMjtcblxuLy8gR2xvYmFsXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcbi8vICRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcbi8vICRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbi8vICRib2R5LWJnOiAjZmZmO1xuICAgICRib2R5LWZvbnQtY29sb3I6ICMwMDA7XG4vLyAkYm9keS1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICRib2R5LWZvbnQtZmFtaWx5OiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG4gICAgJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuICAgICRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGJvZHktZm9udC1zdHlsZTogbm9ybWFsO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4vLyAkZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuLy8gJHRleHQtZGlyZWN0aW9uOiBsdHI7XG4vLyAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbi8vICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuICAgICRwcmltYXJ5LWNvbG9yOiAjZmZlMDA0O1xuICAgICRzZWNvbmRhcnktY29sb3I6ICNhMWQzZmY7XG5cbiAgICAkYWxlcnQtY29sb3I6ICNmMDQxMjQ7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICM0M2FjNmE7XG4gICAgJGluZm8tY29sb3I6ICNlN2U3ZTc7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbi8vICRnbG9iYWwtcmFkaXVzOiAzcHg7XG4vLyAkZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cbi8vICRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDA7XG4vLyAkc2hpbnktZWRnZS1jb2xvcjogcmdiYSgjZmZmLCAuNSk7XG4vLyAkc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpO1xuXG4vLyAkY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApO1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbi8vICRzbWFsbC1yYW5nZTogKDBlbSwgNDBlbSk7XG4vLyAkbWVkaXVtLXJhbmdlOiAoNDAuMDYzZW0sIDY0ZW0pO1xuLy8gJGxhcmdlLXJhbmdlOiAoNjQuMDYzZW0sIDkwZW0pO1xuLy8gJHhsYXJnZS1yYW5nZTogKDkwLjA2M2VtLCAxMjBlbSk7XG4vLyAkeHhsYXJnZS1yYW5nZTogKDEyMC4wNjNlbSwgOTk5OTk5OTllbSk7XG5cbi8vICRzY3JlZW46IFwib25seSBzY3JlZW5cIjtcblxuLy8gJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIjtcbi8vICRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiO1xuXG4vLyAkc21hbGwtdXA6ICRzY3JlZW47XG4vLyAkc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiO1xuXG4vLyAkbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG4vLyAkbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG5cbi8vICRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG5cbi8vICR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcblxuLy8gJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkeHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG5cbi8vIExlZ2FjeVxuLy8gJHNtYWxsOiAkbWVkaXVtLXVwO1xuLy8gJG1lZGl1bTogJG1lZGl1bS11cDtcbi8vICRsYXJnZTogJGxhcmdlLXVwO1xuXG4vL1dlIHVzZSB0aGlzIGFzIGN1cnNvcnMgdmFsdWVzIGZvciBlbmFibGluZyB0aGUgb3B0aW9uIG9mIGhhdmluZyBjdXN0b20gY3Vyc29ycyBpbiB0aGUgd2hvbGUgc2l0ZSdzIHN0eWxlc2hlZXRcbi8vICRjdXJzb3ItY3Jvc3NoYWlyLXZhbHVlOiBjcm9zc2hhaXI7XG4vLyAkY3Vyc29yLWRlZmF1bHQtdmFsdWU6IGRlZmF1bHQ7XG4vLyAkY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXI7XG4vLyAkY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHA7XG4vLyAkY3Vyc29yLXRleHQtdmFsdWU6IHRleHQ7XG5cbi8vXG4vLyBUWVBPR1JBUEhZXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzdHlsZXNcbi8vICRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuICAgJGhlYWRlci1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuLy8gJGhlYWRlci1saW5lLWhlaWdodDogMS40O1xuLy8gJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcbi8vICRoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW07XG4vLyAkaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHNpemVzXG4vLyAkaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCk7XG4vLyAkaDItZm9udC1zaXplOiByZW0tY2FsYygzNyk7XG4vLyAkaDMtZm9udC1zaXplOiByZW0tY2FsYygyNyk7XG4vLyAkaDQtZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4vLyAkaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4vLyAkaDYtZm9udC1zaXplOiAxcmVtO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgc2l6ZSByZWR1Y3Rpb24gb24gc21hbGwgc2NyZWVuc1xuLy8gJGgxLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4vLyAkaDItZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbi8vICRoMy1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4vLyAkaDQtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuLy8gJGg1LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xuLy8gJGg2LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXG4vLyAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQ7XG4vLyAkc3ViaGVhZGVyLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcbi8vICRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkc3ViaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtO1xuLy8gJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbTtcblxuLy8gQSBnZW5lcmFsIDxzbWFsbD4gc3R5bGluZ1xuLy8gJHNtYWxsLWZvbnQtc2l6ZTogNjAlO1xuLy8gJHNtYWxsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHBhcmFncmFwaHNcbi8vICRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4vLyAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHBhcmFncmFwaC1mb250LXNpemU6IDFyZW07XG4vLyAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAxLjY7XG4vLyAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0OiAxLjM1O1xuLy8gJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlOiBpdGFsaWM7XG4vLyAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSA8Y29kZT4gdGFnc1xuLy8gJGNvZGUtY29sb3I6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogLTI3JSk7XG4vLyAkY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4vLyAkY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuICAgJGFuY2hvci1mb250LWNvbG9yOiAjMDA4Y2JhO1xuLy8gJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxuLy8gJGhyLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGhyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkaHItYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcbi8vICRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuLy8gJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbi8vICRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuLy8gJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuLy8gJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4vLyAkbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtO1xuLy8gJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtO1xuLy8gJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwO1xuLy8gJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuLy8gJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtO1xuLy8gJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xuLy8gJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuLy8gJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbi8vICRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4vLyAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSk7XG4vLyAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcblxuLy8gQWNyb255bSBzdHlsZXNcbi8vICRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAjZGRkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cbi8vICRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMik7XG4vLyAkbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmU7XG5cbi8vIEFjY29yZGlvblxuXG4vLyAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICNlZmVmZWYgIDtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogJGNvbHVtbi1ndXR0ZXIvMjtcbi8vICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICNmZmY7XG5cbi8vIEFsZXJ0IEJveGVzXG5cbi8vICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXG4vLyAkYWxlcnQtcGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KTtcbi8vICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcDtcbi8vICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApO1xuLy8gJGFsZXJ0LXBhZGRpbmctYm90dG9tOiAkYWxlcnQtcGFkZGluZy10b3A7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGUuXG4vLyAkYWxlcnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkYWxlcnQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4vLyAkYWxlcnQtZm9udC1jb2xvcjogI2ZmZjtcbi8vICRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSk7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4vLyAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuLy8gJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbi8vICRhbGVydC1jbG9zZS1jb2xvcjogIzMzMztcbi8vICRhbGVydC1jbG9zZS10b3A6IDUwJTtcbi8vICRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCk7XG4vLyAkYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eTogMC4zO1xuLy8gJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IDAuNTtcbi8vICRhbGVydC1jbG9zZS1wYWRkaW5nOiA5cHggNnB4IDRweDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzXG4vLyAkYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0cmFuc2l0aW9uIGVmZmVjdHNcbi8vICRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcztcbi8vICRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xuXG4vLyBCbG9jayBHcmlkXG5cbi8vICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2U7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrIGdyaWQgZWxlbWVudHMgcGVyIHJvd1xuLy8gJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyO1xuLy8gJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkOiBmYWxzZTtcblxuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbi8vICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWU7XG5cbi8vIEJyZWFkY3J1bWJzXG5cbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXG4vLyAkY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cbi8vICRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpO1xuLy8gJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuLy8gJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJTtcbi8vICRjcnVtYi1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXG4vLyAkY3J1bWItZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gJGNydW1iLWZvbnQtY29sb3I6ICRhbmNob3ItZm9udC1jb2xvcjtcbi8vICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ6ICMzMzM7XG4vLyAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTogIzk5OTtcbi8vICRjcnVtYi1mb250LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJGNydW1iLWxpbmstZGVjb3I6IHVuZGVybGluZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYnNcbi8vICRjcnVtYi1zbGFzaC1jb2xvcjogI2FhYTtcbi8vICRjcnVtYi1zbGFzaDogXCIvXCI7XG5cbi8vXG4vLyBCVVRUT05TXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuLy8gJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKTtcbi8vICRidXR0b24tc21sOiByZW0tY2FsYygxNCk7XG4vLyAkYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpO1xuLy8gJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbi8vICRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbi8vICRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJGJ1dHRvbi1mb250LWNvbG9yOiAjMjIyO1xuLy8gJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogIzMzMztcbi8vICRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKTtcbi8vICRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKTtcbi8vICRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKTtcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuLy8gJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxuLy8gJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDBweDtcbi8vICRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRidXR0b24tYmc6ICNmZmUwMDQ7XG4vLyAkYnV0dG9uLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbi8vICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogMC43O1xuXG4vLyBCdXR0b24gR3JvdXBzXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbi8vICRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApO1xuLy8gJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweDtcblxuLy8gQ2xlYXJpbmdcblxuLy8gJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3JzIGZvciBwYXJ0cyBvZiBDbGVhcmluZy5cbi8vICRjbGVhcmluZy1iZzogIzMzMztcbi8vICRjbGVhcmluZy1jYXB0aW9uLWJnOiAkY2xlYXJpbmctYmc7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtYmc6IHJnYmEoNTEsNTEsNTEsMC44KTtcbi8vICRjbGVhcmluZy1pbWctYmc6ICRjbGVhcmluZy1iZztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cbi8vICRjbGVhcmluZy1jbG9zZS1jb2xvcjogI2NjYztcbi8vICRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuLy8gJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHg7XG4vLyAkY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAjY2NjO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAwLjg3NWVtO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuLy8gJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSU7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweDtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHg7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7XG5cbi8vIERyb3Bkb3duXG5cbi8vICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4vLyAkZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4O1xuLy8gJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvO1xuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3Jcbi8vICRmLWRyb3Bkb3duLWJnOiAjZmZmO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbi8vICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIwJSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxuLy8gJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZTogNnB4O1xuLy8gJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3I6ICNmZmY7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbi8vICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmU7XG4vLyAkZi1kcm9wZG93bi1mb250LWNvbG9yOiAjNTU1O1xuLy8gJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKTtcbi8vICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4vLyAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAjZWVlZWVlICA7XG4vLyAkZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDA7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuLy8gJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vIERyb3Bkb3duIEJ1dHRvbnNcblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAjZmZmO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0OiAjMzMzO1xuXG4vLyAkYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpO1xuLy8gJGJ1dHRvbi1waXAtc21sOiByZW0tY2FsYyg3KTtcbi8vICRidXR0b24tcGlwLW1lZDogcmVtLWNhbGMoOSk7XG4vLyAkYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnk7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDM7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAtJGJ1dHRvbi1waXAtdG55IC8gMiArIHJlbS1jYWxjKDEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogNztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWw7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDM7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sOiAtJGJ1dHRvbi1waXAtc21sIC8gMiArIHJlbS1jYWxjKDEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogLSRidXR0b24tcGlwLW1lZCAvIDIgKyByZW0tY2FsYygyKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxhcmdlIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZzogJGJ1dHRvbi1waXAtbHJnICogMi41O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogLSRidXR0b24tcGlwLWxyZyAvIDIgKyByZW0tY2FsYygzKTtcblxuLy8gRmxleCBWaWRlb1xuXG4vLyAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4vLyAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSU7XG4vLyAkZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuLy8gJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlO1xuXG4vLyBGb3Jtc1xuXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcbi8vICRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcbi8vICRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXI7XG4vLyAkZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCMwMDAsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4vLyAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwO1xuLy8gJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuLy8gJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7XG4vLyAkaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkaW5wdXQtYmctY29sb3I6ICNmZmY7XG4vLyAkaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yJSk7XG4vLyAkaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMjAlKTtcbi8vICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC00MCUpO1xuLy8gJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkaW5wdXQtZGlzYWJsZWQtYmc6ICNkZGQ7XG4vLyAkaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbi8vICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiB0cnVlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cbi8vICRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGZpZWxkc2V0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsZWdlbmRzIHdoZW4geW91IHVzZSB0aGVtXG4vLyAkbGVnZW5kLWJnOiAjZmZmO1xuLy8gJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4vLyAkaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yMCUpO1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQ7XG4vLyAkaW5wdXQtcHJlZml4LW92ZXJmbG93OiBoaWRkZW47XG4vLyAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAjZmZmO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KTtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweDtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWM7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAjZmZmO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICMzMzM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXG4vLyAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAwLjQ1cztcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcblxuLy8gU2VsZWN0IHZhcmlhYmxlc1xuICRzZWxlY3QtYmctY29sb3I6ICNmZmY7XG4gJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogZGFya2VuKCRzZWxlY3QtYmctY29sb3IsIDIlKTtcblxuLy8gSW5saW5lIExpc3RzXG5cbi8vICRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cbi8vICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luOiAwO1xuLy8gJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjogMDtcbi8vICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNyk7XG4vLyAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW46IHJlbS1jYWxjKC0yMik7XG4vLyAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjogcmVtLWNhbGMoMjIpO1xuXG4vLyAkaW5saW5lLWxpc3QtcGFkZGluZzogMDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LW92ZXJmbG93OiBoaWRkZW47XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcbi8vICRpbmxpbmUtbGlzdC1kaXNwbGF5OiBibG9jaztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xuLy8gJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrO1xuXG4vLyBKb3lyaWRlXG5cbi8vICRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcbi8vICRqb3lyaWRlLXRpcC1iZzogIzMzMztcbi8vICRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOiAzMDBweDtcbi8vICRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCk7XG4vLyAkam95cmlkZS10aXAtYm9yZGVyOiBzb2xpZCAxcHggIzU1NTtcbi8vICRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweDtcbi8vICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ6IDIycHg7XG5cbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBkb250IHN0eWxlc1xuLy8gJGpveXJpZGUtdGlwLWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcbi8vICRqb3lyaWRlLXRpcC1udWItc2l6ZTogMTBweDtcblxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4vLyAkam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItY29sb3I6ICM2NjY7XG5cbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXG4vLyAkam95cmlkZS10aXAtY2xvc2UtY29sb3I6ICM3Nzc7XG4vLyAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTogMjRweDtcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cbi8vIFdoZW4gSm95cmlkZSBpcyBmaWxsaW5nIHRoZSBzY3JlZW4sIHdlIHVzZSB0aGlzIHN0eWxlIGZvciB0aGUgYmdcbi8vICRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KTtcblxuLy8gS2V5c3Ryb2tlc1xuXG4vLyAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuLy8gJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbi8vICRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0O1xuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yOiAjMjIyO1xuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogI2ZmZjtcbi8vICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yOiAtNyU7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXG4vLyAka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlcy5cbi8vICRrZXlzdHJva2UtYmc6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRrZXlzdHJva2UtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBMYWJlbHNcblxuLy8gJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXG4vLyAkbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDYpO1xuLy8gJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxuLy8gJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSk7XG4vLyAkbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkbGFiZWwtZm9udC1jb2xvcjogIzMzMztcbi8vICRsYWJlbC1mb250LWNvbG9yLWFsdDogI2ZmZjtcbi8vICRsYWJlbC1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vIE1hZ2VsbGFuXG5cbi8vICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkbWFnZWxsYW4tYmc6ICNmZmY7XG4kbWFnZWxsYW4tcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4vLyBPZmYtY2FudmFzXG5cbi8vICRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICR0YWJiYXItYmc6ICMzMzM7XG4vLyAkdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuLy8gJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1jb2xvcjogI2ZmZjtcbi8vICR0YWJiYXItbWlkZGxlLXBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXG4vLyAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogMTMlKTtcbi8vICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgSGVhZGVyc1xuLy8gJHRhYmJhci1oZWFkZXItY29sb3I6ICNmZmY7XG4vLyAkdGFiYmFyLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1oZWFkZXItbWFyZ2luOiAwO1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXG4vLyAkb2ZmLWNhbnZhcy13aWR0aDogcmVtLWNhbGMoMjUwKTtcbi8vICRvZmYtY2FudmFzLWJnOiAjMzMzO1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgTGlzdCBWYXJpYWJsZXNcbi8vICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IDAuM3JlbSByZW0tY2FsYygxNSk7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjogIzk5OTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1iZzogIzQ0NDtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigjNDQ0LCAkbGlnaHRuZXNzOiAxNCUpO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowO1xuLy8gJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpO1xuLy8gJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgjZmZmLCAwLjcpO1xuLy8gJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmcsICRsaWdodG5lc3M6IC0yNSUpO1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcbi8vICR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAjZmZmO1xuLy8gJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcblxuLy8gJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDM1KTtcbi8vICR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbWVudS1pY29uLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwO1xuXG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlO1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3A6IGZhbHNlO1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3M6IDFweDtcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHg7XG5cbi8vIE9mZiBDYW52YXMgQmFjay1MaW5rIE92ZXJsYXlcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I6IHBvaW50ZXI7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgjMDAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgjMDAwLCAwLjUpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCNmZmYsIDAuMik7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoI2ZmZiwgMC4wNSk7XG5cbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXG4vLyAkbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiO1xuXG4vLyBPcmJpdFxuXG4vLyAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4vLyAkb3JiaXQtY29udGFpbmVyLWJnOiBub25lO1xuLy8gJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIDAuOCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAjZmZmO1xuLy8gJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbjogXCJib3R0b21cIjsgLy8gU3VwcG9ydGVkIHZhbHVlczogXCJib3R0b21cIiwgXCJ1bmRlclwiXG4vLyAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG87XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50O1xuLy8gJG9yYml0LW5hdi1iZy1ob3ZlcjogcmdiYSgwLDAsMCwwLjMpO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvcjogI2ZmZjtcbi8vICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI6ICNmZmY7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aW1lciBzdHlsZXNcbi8vICRvcmJpdC10aW1lci1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xuLy8gJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAjY2NjO1xuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAjOTk5O1xuLy8gJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgdGhlIHN0eWxlIG9mIHNsaWRlIG51bWJlcnNcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItYmc6IHJnYmEoMCwwLDAsMCk7XG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4vLyAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlO1xuLy8gJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcbi8vICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbi8vICR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCI7XG4vLyAkcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiO1xuXG4vLyBQYWdpbmF0aW9uXG5cbi8vICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcbi8vICRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuLy8gJHBhZ2luYXRpb24tbWFyZ2luOiByZW0tY2FsYygtNSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGxpc3QtaXRlbSBwcm9wZXJ0aWVzXG4vLyAkcGFnaW5hdGlvbi1saS1mbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4vLyAkcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkcGFnaW5hdGlvbi1saS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSk7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgdGhlIHBhZ2luYXRpb24gYW5jaG9yIGxpbmtzXG4vLyAkcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKTtcbi8vICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjogIzk5OTtcbi8vICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMTAlKTtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yOiAjOTk5O1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yOiAjZmZmO1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gUGFuZWxzXG5cbi8vICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlc1xuLy8gJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcGFuZWwtYm9yZGVyLXNpemU6IDFweDtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbi8vICRwYW5lbC1mdW5jdGlvbi1mYWN0b3I6IC0xMSU7XG4vLyAkcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6ICRwYW5lbC1mdW5jdGlvbi1mYWN0b3IpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuLy8gJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbi8vICRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuLy8gJHBhbmVsLWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkcGFuZWwtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG5cbi8vICRwYW5lbC1oZWFkZXItYWRqdXN0OiB0cnVlO1xuLy8gJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIFByaWNpbmcgVGFibGVzXG5cbi8vICRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxuLy8gJHByaWNlLXRhYmxlLWJvcmRlcjogc29saWQgMXB4ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcbi8vICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcbi8vICRwcmljZS10aXRsZS1iZzogIzMzMztcbi8vICRwcmljZS10aXRsZS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCk7XG4vLyAkcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS10aXRsZS1jb2xvcjogI2VlZTtcbi8vICRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHByaWNlIHN0eWxlc1xuLy8gJHByaWNlLW1vbmV5LWJnOiAjZjZmNmY2ICA7XG4vLyAkcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLW1vbmV5LWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtbW9uZXktY29sb3I6ICMzMzM7XG4vLyAkcHJpY2UtbW9uZXktd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHByaWNlLW1vbmV5LXNpemU6IHJlbS1jYWxjKDMyKTtcbi8vICRwcmljZS1tb25leS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xuLy8gJHByaWNlLWJnOiAjZmZmO1xuLy8gJHByaWNlLWRlc2MtY29sb3I6ICM3Nzc7XG4vLyAkcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkcHJpY2UtZGVzYy13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDogMS40O1xuLy8gJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAjZGRkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtIHN0eWxlc1xuLy8gJHByaWNlLWl0ZW0tY29sb3I6ICMzMzM7XG4vLyAkcHJpY2UtaXRlbS1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtaXRlbS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcHJpY2UtaXRlbS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBDVEEgYXJlYSBzdHlsZXNcbi8vICRwcmljZS1jdGEtYmc6ICNmZmY7XG4vLyAkcHJpY2UtY3RhLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApO1xuXG4vLyBQcm9ncmVzcyBCYXJcblxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgcHJvZ3Jlc3MgYmFyIGhlaWdodFxuLy8gJHByb2dyZXNzLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbi8vICRwcm9ncmVzcy1iYXItY29sb3I6ICNmNmY2ZjYgIDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAyMCUpO1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbi8vICRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKTtcbi8vICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbi8vICRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuLy8gJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3I7XG5cbi8vIFJldmVhbFxuXG4vLyAkaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgcmV2ZWFsIG92ZXJsYXkuXG4vLyAkcmV2ZWFsLW92ZXJsYXktYmc6IHJnYmEoIzAwMCwgLjQ1KTtcbi8vICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICMwMDA7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxuLy8gJHJldmVhbC1tb2RhbC1iZzogI2ZmZjtcbi8vICRyZXZlYWwtcG9zaXRpb24tdG9wOiByZW0tY2FsYygxMDApO1xuLy8gJHJldmVhbC1kZWZhdWx0LXdpZHRoOiA4MCU7XG4vLyAkcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbi8vICRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLC40KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXG4vLyAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuLy8gJHJldmVhbC1jbG9zZS10b3A6IHJlbS1jYWxjKDgpO1xuLy8gJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygxMSk7XG4vLyAkcmV2ZWFsLWNsb3NlLWNvbG9yOiAjYWFhO1xuLy8gJHJldmVhbC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRyZXZlYWwtcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1vZGFsIGJvcmRlclxuLy8gJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyZXZlYWwtYm9yZGVyLWNvbG9yOiAjNjY2O1xuXG4vLyAkcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiO1xuLy8gJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIjtcblxuLy8gU2lkZSBOYXZcblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4vLyAkc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxuLy8gJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZTtcbi8vICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBpbnNpZGU7XG4vLyAkc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAwLjAyNSk7XG4vLyAkc2lkZS1uYXYtbGluay1tYXJnaW46IDA7XG4vLyAkc2lkZS1uYXYtbGluay1wYWRkaW5nOiByZW0tY2FsYyg3IDE0KTtcbi8vICRzaWRlLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcbi8vICRzaWRlLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkc2lkZS1uYXYtYWN0aXZlLWZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRpbmcgc3R5bGVzLlxuLy8gJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yO1xuLy8gJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplO1xuLy8gJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHg7XG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQ7XG4vLyAkc2lkZS1uYXYtZGl2aWRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogMTAlKTtcblxuLy8gU3BsaXQgQnV0dG9uc1xuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogMTAlO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICNmZmY7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICMzMzM7XG4vLyAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRpbnkgc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogMTA7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC10bnk6ICRidXR0b24tcGlwLXRueSAqIDI7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzbWFsbCBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMDtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDY7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDk7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsYXJnZSBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA4O1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1scmc6ICRidXR0b24tcGlwLWxyZyArIHJlbS1jYWxjKDUpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KTtcblxuLy8gU3ViIE5hdlxuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xuLy8gJHN1Yi1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKC00IDAgMTgpO1xuLy8gJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNCk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRlZmluaXRpb25cbi8vICRzdWItbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHN1Yi1uYXYtZm9udC1jb2xvcjogIzk5OTtcbi8vICRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJHN1Yi1uYXYtcGFkZGluZzogcmVtLWNhbGMoMyAxNik7XG4vLyAkc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHg7XG4vLyAkc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKTtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYWN0aXZlIGl0ZW0gc3R5bGVzXG4kc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4kc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yO1xuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpO1xuJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAjZmZmO1xuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XG4kc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0O1xuXG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCI7XG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMik7XG5cbi8vXG4vLyBTV0lUQ0hcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIENvbnRyb2xsaW5nIGJvcmRlciBzdHlsZXMgYW5kIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxuLy8gJHN3aXRjaC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yMCUpO1xuLy8gJHN3aXRjaC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHN3aXRjaC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRzd2l0Y2gtYmc6ICNmZmY7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzd2l0Y2ggaGVpZ2h0cyBmb3Igb3VyIGRlZmF1bHQgY2xhc3Nlc1xuLy8gJHN3aXRjaC1oZWlnaHQtdG55OiByZW0tY2FsYygyMik7XG4vLyAkc3dpdGNoLWhlaWdodC1zbWw6IHJlbS1jYWxjKDI4KTtcbi8vICRzd2l0Y2gtaGVpZ2h0LW1lZDogcmVtLWNhbGMoMzYpO1xuLy8gJHN3aXRjaC1oZWlnaHQtbHJnOiByZW0tY2FsYyg0NCk7XG4vLyAkc3dpdGNoLWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGVmYXVsdCBmb250IHNpemVzIGZvciBvdXIgY2xhc3Nlcy5cbi8vICRzd2l0Y2gtZm9udC1zaXplLXRueTogMTFweDtcbi8vICRzd2l0Y2gtZm9udC1zaXplLXNtbDogMTJweDtcbi8vICRzd2l0Y2gtZm9udC1zaXplLW1lZDogMTRweDtcbi8vICRzd2l0Y2gtZm9udC1zaXplLWxyZzogMTdweDtcbi8vICRzd2l0Y2gtbGFiZWwtc2lkZS1wYWRkaW5nOiA2cHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxuLy8gJHN3aXRjaC1wYWRkbGUtYmc6ICNmZmY7XG4vLyAkc3dpdGNoLXBhZGRsZS1mYWRlLXRvLWNvbG9yOiBzY2FsZS1jb2xvcigkc3dpdGNoLXBhZGRsZS1iZywgJGxpZ2h0bmVzczogLTEwJSk7XG4vLyAkc3dpdGNoLXBhZGRsZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRzd2l0Y2gtcGFkZGxlLWJnLCAkbGlnaHRuZXNzOiAtMzUlKTtcbi8vICRzd2l0Y2gtcGFkZGxlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHN3aXRjaC1wYWRkbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xcztcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQ7XG4vLyAkc3dpdGNoLXBvc2l0aXZlLWNvbG9yOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogOTQlKTtcbi8vICRzd2l0Y2gtbmVnYXRpdmUtY29sb3I6ICNmNWY1ZjU7XG5cbi8vIE91dGxpbmUgU3R5bGUgZm9yIHRhYmJpbmcgdGhyb3VnaCBzd2l0Y2hlc1xuLy8gJHN3aXRjaC1sYWJlbC1vdXRsaW5lOiAxcHggZG90dGVkICM4ODg7XG5cbi8vIFRhYmxlc1xuXG4gJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiBjdXN0b207XG4gLy8kaW5jbHVkZS1odG1sLWNsYXNzZXNzXG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4gJHRhYmxlLWJnOiAkc2l0ZS1tYWluLWJnLWNvbG9yO1xuICR0YWJsZS1ldmVuLXJvdy1iZzogZGFya2VuKCRzaXRlLW1haW4tYmctY29sb3IsIDQlKSA7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4vLyAkdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0YWJsZS1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHRhYmxlLWJvcmRlci1jb2xvcjogI2RkZDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbi8vICR0YWJsZS1oZWFkLWJnOiAjZjVmNWY1ICA7XG4vLyAkdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkdGFibGUtaGVhZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkdGFibGUtaGVhZC1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXG4vLyAkdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApO1xuLy8gJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0YWJsZS1yb3ctZm9udC1jb2xvcjogIzIyMjtcbi8vICR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXG4vLyAkdGFibGUtZGlzcGxheTogdGFibGUtY2VsbDtcbi8vICR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbi8vXG4vLyBUQUJTXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I6ICNlZmVmZWYgIDtcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAjZmZmO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTYlKTtcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjogIzIyMjtcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG4vLyAkdGFicy1jb250ZW50LXBhZGRpbmc6ICRjb2x1bW4tZ3V0dGVyLzI7XG5cbi8vICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuLy9cbi8vIFRIVU1CTkFJTFNcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4vLyAkdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0aHVtYi1ib3JkZXItd2lkdGg6IDRweDtcbi8vICR0aHVtYi1ib3JkZXItY29sb3I6ICNmZmY7XG4vLyAkdGh1bWItYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoIzAwMCwuMik7XG4vLyAkdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuXG4vLyBSYWRpdXMgYW5kIHRyYW5zaXRpb24gc3BlZWQgZm9yIHRodW1ic1xuLy8gJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZDogMjAwbXM7XG5cbi8vXG4vLyBUT09MVElQU1xuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjY2NjO1xuLy8gJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvcjogIzMzMztcbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4vLyAkaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscDtcblxuLy8gJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuLy8gJHRvb2x0aXAtYmc6ICMzMzM7XG4vLyAkdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0b29sdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvb2x0aXAtZm9udC1jb2xvcjogI2ZmZjtcbi8vICR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjM7XG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogIzc3Nztcbi8vICR0b29sdGlwLWZvbnQtc2l6ZS1zbWw6IHJlbS1jYWxjKDE0KTtcbi8vICR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkdG9vbHRpcC1yb3VuZGVkOiAkZ2xvYmFsLXJvdW5kZWQ7XG4vLyAkdG9vbHRpcC1waXAtc2l6ZTogNXB4O1xuLy8gJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweDtcblxuLy9cbi8vIFRPUCBCQVJcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4gJHRvcGJhci1iZy1jb2xvcjogI2ZmZjtcbiAkdG9wYmFyLWJnOiAkdG9wYmFyLWJnLWNvbG9yO1xuXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxuJHRvcGJhci1oZWlnaHQ6IDY0cHg7XG4vLyAkdG9wYmFyLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuLy8gJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cbi8vIFN0eWxlIHRoZSB0b3AgYmFyIGRyb3Bkb3duIGVsZW1lbnRzXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWJnOiAjMzMzO1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAjMzMzO1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IDAuNDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4gJHRvcGJhci1saW5rLWNvbG9yOiAjODI4MjgyO1xuICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogIzAwMDtcbiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAjMDAwO1xuICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICMwMDA7XG4vLyAkdG9wYmFyLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJHRvcGJhci1saW5rLWhvdmVyLWxpZ2h0bmVzczogLTEwJTsgLy8gRGFya2VuIGJ5IDEwJVxuLy8gJHRvcGJhci1saW5rLWJnOiAkdG9wYmFyLWJnO1xuLy8gJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAjNTU1NTU1O1xuICR0b3BiYXItbGluay1iZy1ob3ZlcjogI2ZmZjtcbiAkdG9wYmFyLWxpbmstYmctYWN0aXZlOiAjZmZmO1xuICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6ICNmZmY7XG4vLyAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lO1xuLy8gJHRvcGJhci1saW5rLXBhZGRpbmc6ICR0b3BiYXItaGVpZ2h0IC8gMztcblxuLy8gJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAwLjc1cmVtO1xuLy8gJHRvcGJhci1idXR0b24tdG9wOiA3cHg7XG5cbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICM3Nzc7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAjMzMzO1xuXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xuLy8gJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbWVudS1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICMwMDA7XG4gJHRvcGJhci1tZW51LWljb24tY29sb3I6ICMwMDA7XG4vLyAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAjODg4O1xuLy8gJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogIzg4ODtcblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4vLyAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zO1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4vLyAkdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuLy8gJHRvcGJhci1tZWRpYS1xdWVyeTogJG1lZGl1bS11cDtcblxuLy8gRGl2aWRlciBTdHlsZXNcbi8vICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEzJSk7XG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuXG4vLyBTdGlja3kgQ2xhc3Ncbi8vICR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIjtcbi8vICR0b3BiYXItYXJyb3dzOiB0cnVlOyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIHRyaWFuZ2xlIGljb24gZnJvbSB0aGUgbWVudSBpdGVtXG5cbi8vIElDT04gQkFSXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgaWNvbi1iYXIgYW5kIGl0ZW1zXG4vLyAkaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICRpY29uLWJhci1iZzogIzMzMztcbi8vICRpY29uLWJhci1mb250LWNvbG9yOiAjZmZmO1xuLy8gJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbTtcbi8vICRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkaWNvbi1iYXItaWNvbi1jb2xvcjogI2ZmZjtcbi8vICRpY29uLWJhci1pY29uLXNpemU6IDEuODc1cmVtO1xuLy8gJGljb24tYmFyLWltYWdlLXdpZHRoOiAxLjg3NXJlbTtcbi8vICRpY29uLWJhci1pbWFnZS1oZWlnaHQ6IDEuODc1cmVtO1xuLy8gJGljb24tYmFyLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkaWNvbi1iYXItaXRlbS1wYWRkaW5nOiAxLjI1cmVtO1xuXG4vL1xuLy8gVklTSUJJTElUWSBDTEFTU0VTXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xuLy8gJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZTtcbi8vICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlczogdHJ1ZTtcblxuLy9cbi8vIFJBTkdFIFNMSURFUlxuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgYmFyIHN0eWxlc1xuLy8gJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCU7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcblxuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHJhbmdlLXNsaWRlci1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3I6ICNmYWZhZmE7XG5cbi8vIFZlcnRpY2FsIGJhciBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG5cbi8vIFRoZXNlIHZhcmlhYmVscyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDogcmVtLWNhbGMoMzIpO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjogbm9uZTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTIlKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjogcG9pbnRlcjtcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xuXG4vL1xuLy8gR3JpZCBGdW5jdGlvbnNcbi8vXG5cbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxuQGZ1bmN0aW9uIGdyaWRDYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgQHdhcm4gXCJncmlkQ2FsYygpIGlzIGRlcHJlY2F0ZWQsIHVzZSBncmlkLWNhbGMoKVwiO1xuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcbn1cblxuLy8gQEZVTkNUSU9OXG4vLyAkY29sTnVtYmVyIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuLy8gJHRvdGFsQ29sdW1ucyAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICAkcmVzdWx0OiBwZXJjZW50YWdlKCgkY29sTnVtYmVyIC8gJHRvdGFsQ29sdW1ucykpO1xuICBAaWYgJHJlc3VsdCA9PSAwJSB7ICRyZXN1bHQ6IDA7IH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gRm9yIGNyZWF0aW5nIGNvbnRhaW5lciwgbmVzdGVkLCBhbmQgY29sbGFwc2VkIHJvd3MuXG4vL1xuLy9cbi8vICRiZWhhdmlvciAtIEFueSBzcGVjaWFsIGJlaGF2aW9yIGZvciB0aGlzIHJvdz8gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IG5lc3QsIGNvbGxhcHNlLCBuZXN0LWNvbGxhcHNlLCBmYWxzZS5cbkBtaXhpbiBncmlkLXJvdygkYmVoYXZpb3I6IGZhbHNlKSB7XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QpOyB0byBpbmNsdWRlIGEgbmVzdGVkIHJvd1xuICBAaWYgJGJlaGF2aW9yID09IG5lc3Qge1xuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KGNvbGxhcHNlKTsgdG8gY29sbGFwc2VkIGEgY29udGFpbmVyIHJvdyBtYXJnaW5zXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IG5lc3QtY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3c7IHRvIHVzZSBhIGNvbnRhaW5lciByb3dcbiAgQGVsc2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyZml4IGZvciBhbGwgcm93c1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcbi8vXG4vLyAkY29sdW1ucyAtIFRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGlzIHNob3VsZCBiZVxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNlbnRlciAtIENlbnRlciB0aGVzZSBjb2x1bW5zPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRvZmZzZXQgLSAjIG9mIGNvbHVtbnMgdG8gb2Zmc2V0LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1bGwgLSAjIG9mIGNvbHVtbnMgdG8gcHVsbC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkY29sbGFwc2UgLSBHZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nIG9uIGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczpmYWxzZSxcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxuICAkY2VudGVyOmZhbHNlLFxuICAkb2Zmc2V0OmZhbHNlLFxuICAkcHVzaDpmYWxzZSxcbiAgJHB1bGw6ZmFsc2UsXG4gICRjb2xsYXBzZTpmYWxzZSxcbiAgJGZsb2F0OnRydWUsXG4gICRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxuICAvLyBwdXNoIGFuZCBwdWxsIHJlcXVpcmUgcG9zaXRpb24gc2V0XG4gIEBpZiAkcG9zaXRpb24gb3IgJHB1c2ggb3IgJHB1bGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xuICBAaWYgJGNvbGxhcHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxuICAvLyAodXNlICRjb2xsYXBzZTpudWxsIHRvIGRvIG5vdGhpbmcpXG4gIEBlbHNlIGlmICRjb2xsYXBzZSA9PSBmYWxzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC8vIElmIGEgY29sdW1uIG51bWJlciBpcyBnaXZlbiwgY2FsY3VsYXRlIHdpZHRoXG4gIEBpZiAkY29sdW1ucyB7XG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xuXG4gICAgLy8gSWYgbGFzdCBjb2x1bW4sIGZsb2F0IG5hdHVyYWxseSBpbnN0ZWFkIG9mIHRvIHRoZSByaWdodFxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxuICB9XG5cbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXG4gIEBpZiAkcHVzaCB7ICN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJHB1c2gsICR0b3RhbC1jb2x1bW5zKTsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bzsgfVxuICBAaWYgJHB1bGwgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBncmlkLWNhbGMoJHB1bGwsICR0b3RhbC1jb2x1bW5zKTsgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87IH1cblxuICBAaWYgJGZsb2F0IGFuZCAkbGFzdC1jb2x1bW4gPT0gZmFsc2Uge1xuICAgIEBpZiAkZmxvYXQgPT0gbGVmdCBvciAkZmxvYXQgPT0gdHJ1ZSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgIEBlbHNlIGlmICRmbG9hdCA9PSByaWdodCB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxuICB9XG5cbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkb2Zmc2V0IHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XG5cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAuI3skc2l6ZX0tI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJG9mZnNldDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOnRydWUsICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGR7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBGaWdodGluZyAuY29sdW1uLjxwcmV2aW91cy1zaXplPi1jZW50ZXJlZDpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gIH1cblxuICAucm93IHtcbiAgICAmLiN7JHNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG4gICAgfVxuICAgICYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4sXG4gICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgID4gLmNvbHVtbixcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICAgIH1cblxuICAgICAgLnJvdyB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0KTtcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokdG90YWwtY29sdW1ucyk7IH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMge1xuICAgICAgJiArICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiAkbGFzdC1jaGlsZC1mbG9hdDtcbiAgICAgIH1cbiAgICAgICYgKyAmLmVuZCB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0pO1xuICAgICAgLy8gT2xkIHB1c2ggYW5kIHB1bGwgY2xhc3Nlc1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgICAgICAucHVzaC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIC5wdWxsLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSk7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250YWluZXIoKVxuLy8gIERlY3JpcHRpb246IFJlc3BvbnNpYmxlIGZvciB0aGUgY29udGFpbmVyIGNvbXBvbmVudCBvZiBhY2NvcmRpb25zLCBnZW5lcmF0aW5nIHN0eWxlcyByZWxhdGluZyB0byBhIG1hcmdpbiBvZiB6ZXJvIGFuZCBhIGNsZWFyZml4XG4vLyAgRXhwbGljaXQgRGVwZW5kZW5jaWVzOiBhIGNsZWFyZml4IG1peGluICppcyogZGVmaW5lZC5cbi8vICBJbXBsaWNpdCBEZXBlbmRlbmNpZXM6IE5vbmVcblxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmcsICRob3Zlci1iZywgJGFjdGl2ZS1iZywgJHBhZGRpbmcsICRhY3RpdmVfY2xhc3MsICAkZm9udC1jb2xvciwgJGZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5KSB7XG4vLyAgICBAcGFyYW1zICRiZy1jb2xvcjogWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxuLy8gICAgQHBhcmFtcyAkaG92ZXItYmctY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGhvdmVyZWRcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZS1iZyBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gY2xpY2tlZCBhbmQgbm90IHJlbGVhc2VkLlxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGNsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGVcbi8vICAgIEBwYXJhbXMgJGZvbnQtY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogQ29sb3Igb2YgdGhlIGZvbnQgZm9yIGFjY29yZGlvblxuLy8gICAgQHBhcmFtcyAkZm9udC1zaXplIFsgbnVtYmVyIF06IFNwZWNpZml5IHRoZSBmb250LXNpemUgb2YgdGhlIHRleHQgaW5zaWRlIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcbi8vICAgIEBwYXJhbXMgJGZvbnQtZmFtaWx5IFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IGZvciB0aGUgdGV4dCBvZiB0aGUgbmF2aWdhdGlvbiBvZiB0aGUgYWNjb3Jpb25cbi8vICAgIEBwYXJhbXMgJGFjdGl2ZS1mb250IFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBhY3RpdmUuXG5cbkBtaXhpbiBhY2NvcmRpb24tbmF2aWdhdGlvbiggJGJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRob3Zlci1iZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yLCAkYWN0aXZlLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yLCAkcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcsICRhY3RpdmVfY2xhc3M6ICdhY3RpdmUnLCAgJGZvbnQtY29sb3I6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yLCAkZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplLCAkZm9udC1mYW1pbHk6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseSwgJGFjdGl2ZS1mb250OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3IgKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xuICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhpcyBuYXZpZ2F0aW9uIGNvbXBvbmVudC5cIlxuICB9XG4gIEBlbHNlIHtcbiAgICAmLiN7ICRhY3RpdmVfY2xhc3MgfSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiAgICAgIGNvbG9yOiAkYWN0aXZlLWZvbnQ7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gbnVtYmVyIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCB3YXMgcmVhZCBhcyAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICE9IG51bGwge1xuICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyLiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZ30pIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLilcIjtcbiAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgaXMgbWlzc2luZy4gQSB2YWx1ZSBvZiBgbnVsbGAgaXMgcmV0dXJuZWQgdG8gbm90IG91dHB1dCBhbiBpbnZhbGlkIHZhbHVlIGZvciBwYWRkaW5nXCI7XG4gICAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIEBpZiB0eXBlLW9mKCRmb250LXNpemUpICE9IG51bWJlciB7XG4gICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkZm9udC1zaXplKX1cIjtcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplICE9IG51bGwge1xuICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIuIFRoZSB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIHdpbGwgYmUgdXNlZCBpbnN0ZWFkICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemV9KS5cIjtcbiAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgfVxuICAgICAgQGVsc2V7XG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgd2lsbCBiZSByZXR1cm5lZCB0byBub3QgZ2VuZXJhdGUgYW4gaW52YWxpZCB2YWx1ZSBmb3IgZm9udC1zaXplLlwiO1xuICAgICAgICBmb250LXNpemU6IG51bGw7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gIE1peGluOiBhY2NvcmRpb24tY29udGVudCgkYmcsICRwYWRkaW5nLCAkYWN0aXZlLWNsYXNzKVxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXG4vLyAgICBAcGFyYW1zICRiZyBbIGNvbG9yICBdOiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udGVudCB3aGVuIGl0J3MgdmlzaWJsZVxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IENsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGUuXG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCgkYmc6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiI3skcGFkZGluZ30gd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgIEBpZiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyAhPSBudWxsIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcbiAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xuICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGNvbnRlbnQuIFwiXG4gIH1cbiAgQGVsc2Uge1xuICAgICYuI3skYWN0aXZlX2NsYXNzfSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImFjY29yZGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgLmFjY29yZGlvbi1uYXZpZ2F0aW9uLCBkZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICYuYWN0aXZlID4gYSB7IGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7IGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I7IH1cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nO1xuICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I7IH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEFsZXJ0IEJveCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxuJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCArIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4kYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbiRhbGVydC1jbG9zZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogLjMgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcGFkZGluZzogMCA2cHggNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbiRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vL1xuLy8gQWxlcnQgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGFsZXJ0IGJhc2UuXG5AbWl4aW4gYWxlcnQtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkYWxlcnQtYm9yZGVyLXdpZHRoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYWxlcnQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGFsZXJ0LWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtYm90dG9tLW1hcmdpbjtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihvcGFjaXR5LCAkYWxlcnQtdHJhbnNpdGlvbi1zcGVlZCwgJGFsZXJ0LXRyYW5zaXRpb24tZWFzZSlcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGFsZXJ0IHN0eWxlc1xuLy9cbi8vICRiZyAtIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG5AbWl4aW4gYWxlcnQtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKSB7XG5cbiAgLy8gVGhpcyBmaW5kcyB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7IH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3I7IH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBhbGVydC1jbG9zZSB7XG4gICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRhbGVydC1jbG9zZS1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZDogJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWxlcnQtY2xvc2UtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBtYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcbiAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHk7XG4gIHBhZGRpbmc6ICRhbGVydC1jbG9zZS1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgb2YgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxuQG1peGluIGFsZXJ0KCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuICBAaW5jbHVkZSBhbGVydC1iYXNlO1xuICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYmcpO1xuICBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJhbGVydC1ib3hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzIHtcbiAgICAuYWxlcnQtYm94IHtcbiAgICAgIEBpbmNsdWRlIGFsZXJ0O1xuXG4gICAgICAuY2xvc2UgICAgICB7IEBpbmNsdWRlIGFsZXJ0LWNsb3NlOyB9XG5cbiAgICAgICYucmFkaXVzICAgIHsgQGluY2x1ZGUgcmFkaXVzKCRhbGVydC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kICAgICB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJvdW5kZWQpOyB9XG5cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0LWNsb3NlIHsgb3BhY2l0eTogMH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCbG9jayBHcmlkIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrIGdyaWQgZWxlbWVudHMgcGVyIHJvd1xuJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyICFkZWZhdWx0O1xuJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6ICRjb2x1bW4tZ3V0dGVyO1xufVxuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbiRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBHcmlkIE1peGluc1xuLy9cblxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcbi8vXG4vLyAkcGVyLXJvdyAtICMgb2YgaXRlbXMgdG8gZGlzcGxheSBwZXIgcm93LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXG4vLyAkaW5jbHVkZS1zcGFjaW5nIC0gQWRkcyBwYWRkaW5nIHRvIG91ciBsaXN0IGl0ZW0uIERlZmF1bHQ6IHRydWUuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGEgYmFzZSBzdHlsZSB0byBibG9jayBncmlkLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGJsb2NrLWdyaWQoXG4gICRwZXItcm93OmZhbHNlLFxuICAkc3BhY2luZzokYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsXG4gICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW46IDAgKC0kc3BhY2luZy8yKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBlci1yb3cge1xuICAgID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJS8kcGVyLXJvdztcblxuICAgICAgJjpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgQGlmICRwZXItcm93ID49ICRpIHtcbiAgICAgICRncmlkLWNvbHVtbjogJysnICsgJGk7XG4gICAgICBAaWYgJHBlci1yb3cgPT0gJGkge1xuICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4je3VucXVvdGUoJGdyaWQtY29sdW1uKX0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogKCRwZXItcm93IC0gKCRpIC0gMSkpKSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAkaSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSBwcmVzZW50YXRpb25hbCBtYXJrdXAgZm9yIGJsb2NrIGdyaWQuXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtYmxvY2stZ3JpZC0xLCAubGFyZ2UtYmxvY2stZ3JpZC0yLCBldGMuXG5AbWl4aW4gYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUsICRpbmNsdWRlLXNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgLiN7JHNpemV9LWJsb2NrLWdyaWQtI3soJGkpfSB7XG4gICAgICBAaW5jbHVkZSBibG9jay1ncmlkKCRpLCAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsICRpbmNsdWRlLXNwYWNpbmcsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJsb2NrLWdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuXG4gICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHsgQGluY2x1ZGUgYmxvY2stZ3JpZDsgfVxuXG4gICAgQGlmICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXMge1xuICAgICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0sICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCcmVhZGNydW1iIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXG4kY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cbiRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpICFkZWZhdWx0O1xuJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJSAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXG4kY3J1bWItbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRjcnVtYi1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ6ICRvaWwgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTogJGFsdW1pbnVtICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kY3J1bWItbGluay1kZWNvcjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1ic1xuJGNydW1iLXNsYXNoLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRjcnVtYi1zbGFzaDogXCIvXCIgIWRlZmF1bHQ7XG4kY3J1bWItc2xhc2gtcG9zaXRpb246IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJyZWFkY3J1bWIgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBjb250YWluZXIgYXJvdW5kIG91ciBicmVhZGNydW1ic1xuQG1peGluIGNydW1iLWNvbnRhaW5lciB7XG4gIGJvcmRlci1zdHlsZTogJGNydW1iLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6ICRjcnVtYi1wYWRkaW5nO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNydW1iLWJnO1xuICBib3JkZXItY29sb3I6ICRjcnVtYi1ib3JkZXItY29sb3I7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBicmVhZGNydW1iIHN0eWxlcyBmcm9tIGxpc3QgaXRlbXMuXG5AbWl4aW4gY3J1bWJzIHtcblxuICAvLyBBIG5vcm1hbCBzdGF0ZSB3aWxsIG1ha2UgdGhlIGxpbmtzIGxvb2sgYW5kIGFjdCBsaWtlIGNsaWNrYWJsZSBicmVhZGNydW1icy5cbiAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gIGZvbnQtc2l6ZTogJGNydW1iLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjcnVtYi1saW5lLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogJGNydW1iLWZvbnQtdHJhbnNmb3JtO1xuXG4gICY6aG92ZXIgYSwgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiAkY3J1bWItbGluay1kZWNvcjsgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgaXMgZm9yIHRoZSBsaW5rIG9mIHRoZSBjdXJyZW50IHBhZ2VcbiAgJi5jdXJyZW50IHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpob3ZlciBhLFxuICAgICY6Zm9jdXMsICY6Zm9jdXMgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICB9XG5cbiAgLy8gVW5hdmFpbGFibGUgcmVtb3ZlZCBjb2xvciBhbmQgbGluayBzdHlsZXMgc28gaXQgbG9va3MgaW5hY3RpdmUuXG4gICYudW5hdmFpbGFibGUge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcbiAgICBhIHsgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOyB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6aG92ZXIgYSxcbiAgICAmOmZvY3VzLFxuICAgIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbG9yOiAkY3J1bWItc2xhc2gtY29sb3I7XG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcbiAgICBtYXJnaW46IDAgJGNydW1iLXNpZGUtcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkY3J1bWItc2xhc2gtcG9zaXRpb247XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnJlYWRjcnVtYnNcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIEBpbmNsdWRlIGNydW1iLWNvbnRhaW5lcjtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygkY3J1bWItcmFkaXVzKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgY3J1bWJzO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiBBY2Nlc3NpYmlsaXR5IC0gaGlkZXMgdGhlIGJhY2t3YXJkIHNsYXNoICovXG4gICAgW2FyaWEtbGFiZWw9XCJicmVhZGNydW1ic1wiXSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cbiRidXR0b24tdG55OiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtbDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRidXR0b24tbHJnOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXG4kYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jayAhZGVmYXVsdDtcbiRidXR0b24tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYmctY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yOiAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yOiAkd2FybmluZy1jb2xvciAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHdhcm5pbmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3I6ICR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1jb2xvcjogJGluZm8tY29sb3IgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYm9yZGVyLWNvbG9yOiAkaW5mby1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGJ1dHRvbnMuXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBidXR0b24gYmFzZS5cbi8vXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc3BsYXkgLSBVc2VkIHRvIGNvbnRyb2wgZGlzcGxheSBwcm9wZXJ0eS4gRGVmYXVsdDogJGJ1dHRvbi1kaXNwbGF5IHx8IGlubGluZS1ibG9ja1xuXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xuICBAaWYgJHN0eWxlIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXItc3R5bGU6ICRidXR0b24tYm9yZGVyLXN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAkYnV0dG9uLW1hcmdpbi1ib3R0b207XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246ICRidXR0b24tZm9udC1hbGlnbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQGlmICRkaXNwbGF5IHsgZGlzcGxheTogJGRpc3BsYXk7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkZnVsbC13aWR0aDpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggcGFkZGluZyBzdHlsZXMgY29tZSB0aHJvdWdoLFxuICAvLyB0aGVzZSBjYW4gYmUgdHVybmVkIG9mZiBieSBzZXR0aW5nICRwYWRkaW5nOmZhbHNlXG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcgKCRwYWRkaW5nICogMikgKCRwYWRkaW5nICsgcmVtLWNhbGMoMSkpICgkcGFkZGluZyAqIDIpO1xuICAgIC8vIFdlIGNvbnRyb2wgdGhlIGZvbnQtc2l6ZSBiYXNlZCBvbiBtaXhpbiBpbnB1dC5cbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tdG55IHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtdG55OyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1zbWwgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1zbWw7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxuICBAaWYgJGZ1bGwtd2lkdGgge1xuICAgIC8vIFdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgaWYgJHBhZGRpbmcgaXMgc2V0LlxuICAgIEBpZiAkcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcgKyByZW0tY2FsYygxKTtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b24tbWVkO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRidXR0b24tbWVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIHdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYnV0dG9uIGhvdmVyIGFuZCBib3JkZXIgY29sb3JzXG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gY29sb3Igc3R5bGVzXG4vL1xuLy8gJGJnIC0gQmFja2dyb3VuZCBjb2xvci4gV2UgY2FuIHNldCAkYmc6ZmFsc2UgZm9yIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGJ1dHRvbi1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDogZmFsc2Vcbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBCYWNrZ3JvdW5kIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJnLWhvdmVyXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1ib3JkZXItY29sb3JcbkBtaXhpbiBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBzdHlsZXMgYXJlIHVzZWQsXG4gIC8vIHRoZXNlIGNhbiBiZSByZW1vdmVkIGJ5IHNldHRpbmcgJGJnOmZhbHNlXG4gIEBpZiAkYmcge1xuXG4gICAgQGlmICRiZy1ob3ZlciA9PSBudWxsIHtcbiAgICAgICRiZy1ob3ZlcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYmctaG92ZXIsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlci1jb2xvciA9PSBudWxsIHtcbiAgICAgICRib3JkZXItY29sb3I6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJvcmRlci1jb2xvciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgJGJnLWhvdmVyLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZy1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZy1ob3ZlcjsgfVxuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIGNvbG9yOiBpZigkYmctbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBpZigkYmctaG92ZXItbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLlxuICBAaWYgJGRpc2FibGVkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGN1cnNvcjogJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggYnV0dG9uIHJhZGl1cyBpcyB1c2VkLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRidXR0b24tcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgYnV0dG9ucyB3aXRoIGEgc2luZ2xlIG1peGluLiBBcyBAamFyZWRoYXJkeSBwdXRzIGl0LCBcInRoZSBraXRjaGVuIHNpbmsgbWl4aW5cIlxuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRiZyAtIFByaW1hcnkgY29sb3Igc2V0IGluIHNldHRpbmdzIGZpbGUuIERlZmF1bHQ6ICRidXR0b24tYmcuXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZnVsbC13aWR0aCAtIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aC4gRGVmYXVsdDpmYWxzZS5cbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGlzLXByZWZpeCAtIE5vdCB1c2VkPyBEZWZhdWx0OmZhbHNlLlxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkdHJhbnNpdGlvbiAtIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGJhY2tncm91bmQtY29sb3IgdHJhbnNpdGlvbiBwcm9wZXJ0eSAtIERlZmF1bHQ6dHJ1ZS5cbkBtaXhpbiBidXR0b24oJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkaXMtcHJlZml4OmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsLCAkdHJhbnNpdGlvbjogdHJ1ZSkge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcsICRmdWxsLXdpZHRoKTtcbiAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZywgJHJhZGl1cywgJGRpc2FibGVkLCAkYmctaG92ZXIsICRib3JkZXItY29sb3IpO1xuXG4gIEBpZiAkdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMgYXBwbGllZCBvdXRzaWRlIG9mIG1lZGlhIHF1ZXJ5XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemU7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGU7XG5cbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG5cbiAgICAgICYubGFyZ2UgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1scmcpOyB9XG4gICAgICAmLnNtYWxsICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tc21sKTsgfVxuICAgICAgJi50aW55ICAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXRueSk7IH1cbiAgICAgICYuZXhwYW5kIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6bnVsbCwgJGZ1bGwtd2lkdGg6dHJ1ZSk7IH1cblxuICAgICAgJi5sZWZ0LWFsaWduICB7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiByZW0tY2FsYygxMik7IH1cbiAgICAgICYucmlnaHQtYWxpZ24geyB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czp0cnVlKTsgfVxuICAgICAgJi5yb3VuZCAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOiRidXR0b24tcm91bmQpOyB9XG5cbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRidXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGJ1dHRvbi1ib3JkZXItY29sb3IpO1xuICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9maXJlZm94IDJweCBmaXhcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2UoJHN0eWxlOmZhbHNlLCAkZGlzcGxheTppbmxpbmUtYmxvY2spO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQnV0dG9uIEdyb3VwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbiRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcbiAgQGlmICRzdHlsZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbiAgQGlmICRmbG9hdCB7XG4gICAgZmxvYXQ6ICN7JGRlZmF1bHQtZmxvYXR9O1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XG4gICAgJiBkaXYgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBzdHlsZXMgZm9yIGJ1dHRvbiBncm91cHNcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcblxuICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG4gIH1cblxuICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZmxvdywgb3IgcmVtb3ZlIHRob3NlIHN0eWxlcyBjb21wbGV0ZWx5LlxuICBAaWYgJGZsb2F0IHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICBmbG9hdDogJGZsb2F0O1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwOyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMCAtMnB4O1xuICB9XG5cbiAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBibG9jaztcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wOiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXk6ICRidXR0b24tZ3JvdXAtZGlzcGxheTtcbiAgbWFyZ2luOiAkYnV0dG9uLWdyb3VwLW1hcmdpbjtcblxuXG4gIC8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxlZnQgYW5kIHJpZ2h0IHJhZGl1cyBvbiBmaXJzdC9sYXN0IGJ1dHRvbnMgaW4gdGhlIGdyb3VwLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJjpsYXN0LWNoaWxkID4gYSxcbiAgICAmOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoYm90dG9tLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7XG4gICAgJixcbiAgICA+IGEsXG4gICAgPiBidXR0b24sXG4gICAgPiAuYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyB9XG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcbiAgICAmOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyh0b3AsICRyYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRyYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBtYWtlIHRoZSBidXR0b25zIGV2ZW4gd2lkdGggYWNyb3NzIHRoZWlyIGNvbnRhaW5lclxuICBAaWYgJGV2ZW4ge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgxMDAvJGV2ZW4pIC8gMTAwKTtcbiAgICBidXR0b24sIC5idXR0b24geyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b24tZ3JvdXBcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmJ1dHRvbi1ncm91cCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1jb250YWluZXI7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggOCB7XG4gICAgICAgICYuZXZlbi0jeyRpfSBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkZXZlbjokaSwgJGZsb2F0Om51bGwpOyB9XG4gICAgICB9XG5cbiAgICAgID4gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoKTsgfVxuXG4gICAgICAmLnN0YWNrIHtcbiAgICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpOyBmbG9hdDogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAmLnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucmFkaXVzLnN0YWNrID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yb3VuZCwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWJhciB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6ZmFsc2UsICRmbG9hdDp0cnVlKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxuJGNsZWFyaW5nLWJnOiAkb2lsICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZyAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpICFkZWZhdWx0O1xuJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvblxuJGNsZWFyaW5nLWNsb3NlLWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4kY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSUgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSkgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJjbGVhcmluZ1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXMge1xuICAgIC8vIFdlIGRlY2lkZWQgdG8gbm90IGNyZWF0ZSBhIG1peGluIGZvciBDbGVhcmluZyBiZWNhdXNlIGl0IHJlbGllc1xuICAgIC8vIG9uIHByZWRlZmluZWQgY2xhc3NlcyBhbmQgc3RydWN0dXJlIHRvIHdvcmsgcHJvcGVybHkuXG4gICAgLy8gVGhlIHZhcmlhYmxlcyBhYm92ZSBzaG91bGQgZ2l2ZSBlbm91Z2ggY29udHJvbC5cblxuICAgIC8qIENsZWFyaW5nIFN0eWxlcyAqL1xuICAgIC5jbGVhcmluZy10aHVtYnMsICN7ZGF0YSgnY2xlYXJpbmcnKX0ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgbGkge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpIHtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWJsYWNrb3V0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1iZztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgIH1cblxuICAgIC5jbGVhcmluZy10b3VjaC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGJhc2U7XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAudmlzaWJsZS1pbWcge1xuICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIEBpZiAkZGVmYXVsdC1mbG9hdCA9PSBsZWZ0IHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1jYXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXB0aW9uLWJnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2xvc2Utc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkaXJvbjsgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTtcbiAgICAgIC5jYXJvdXNlbCA+IHVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIC8vIElmIHlvdSB3YW50IHRvIHNob3cgYSBsaWdodGJveCwgYnV0IG9ubHkgaGF2ZSBhIHNpbmdsZSBpbWFnZSBjb21lIHRocm91Z2ggYXMgdGhlIHRodW1ibmFpbFxuICAgIC5jbGVhcmluZy1mZWF0dXJlIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAmLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhcmdlIHNjcmVlbiBvdmVycmlkZXNcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgJGNsZWFyaW5nLWFycm93LXNpemU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldiB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYuZGlzYWJsZWQsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IH1cblxuICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHtcblxuICAgICAgICAuY2Fyb3VzZWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXJvdXNlbC1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHdpZHRoOiAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg7XG5cbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGEudGgge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnZpc2libGUgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aXNpYmxlLWltZyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWltZy1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7XG4gICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIGhlaWdodCBhbmQgd2lkdGggc3R5bGVzLlxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLW1heC1oZWlnaHQ6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXRvcDogMnB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4kZi1kcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbiRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgcmFkaXVzIGZvciBkcm9wZG93bi5cbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy9cbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXG4vLyAkY29udGVudC1saXN0IC0gU2V0cyBsaXN0LXN0eWxlLiBEZWZhdWx0OiBsaXN0LiBPcHRpb25zOiBbbGlzdCwgY29udGVudF1cbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lcigkY29udGVudDpsaXN0LCAkdHJpYW5nbGU6dHJ1ZSwgJG1heC13aWR0aDokZi1kcm9wZG93bi1tYXgtd2lkdGgpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogJGYtZHJvcGRvd24tbGlzdC1zdHlsZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgQGlmICRjb250ZW50ID09IGxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuICBAZWxzZSBpZiAkY29udGVudCA9PSBjb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xuICAgIG1hcmdpbi10b3A6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IDg5O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAgIHotaW5kZXg6IDg4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJGRlZmF1bHQtZmxvYXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkb3Bwb3NpdGUtZGlyZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkbWF4LXdpZHRoIHsgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyB9XG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXG5cbkBtaXhpbiBkcm9wZG93bi1zdHlsZSB7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc7IH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc7XG4gICAgY29sb3I6ICRmLWRyb3Bkb3duLWZvbnQtY29sb3I7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xuICAgIC5mLWRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCBib3R0b20pO1xuXG4gICAgICAmLmRyb3AtI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC0jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCB0b3ApO1xuICAgICAgfVxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICBsaSB7IEBpbmNsdWRlIGRyb3Bkb3duLXN0eWxlOyB9XG5cbiAgICAgIC8vIFlvdSBjYW4gYWxzbyBwdXQgY3VzdG9tIGNvbnRlbnQgaW4gdGhlc2UgZHJvcGRvd25zXG4gICAgICAmLmNvbnRlbnQgeyBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIoY29udGVudCwgJHRyaWFuZ2xlOmZhbHNlKTsgfVxuXG4gICAgICAvLyBSYWRpdXMgb2YgRHJvcGRvd25cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cblxuICAgICAgLy8gU2l6ZXNcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICYuc21hbGwgICB7IG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICYubWVkaXVtICB7IG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cbiAgICAgICYubWVnYSAgICB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDogKC0kYnV0dG9uLXBpcC1zbWwgLyAyKSArIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogKC0kYnV0dG9uLXBpcC1tZWQgLyAyKSArIHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBidWlsZCBvZmYgb2YgdGhlIGJ1dHRvbiBtaXhpbiBhbmQgYWRkIGRyb3Bkb3duIGJ1dHRvbiBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIERldGVybWluZXMgdGhlIHNpemUgb2YgYnV0dG9uIHlvdSdyZSB3b3JraW5nIHdpdGguIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9ucyBbdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2VdXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIGxpdHRsZSB0cmlhbmdsZSB0aGF0IHBvaW50cyB0byB0aGUgZHJvcGRvd24uIERlZmF1bHQ6ICR3aGl0ZS5cbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxuXG5AbWl4aW4gZHJvcGRvd24tYnV0dG9uKCRwYWRkaW5nOm1lZGl1bSwgJHBpcC1jb2xvcjokZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdlIGFkZCBpbiBiYXNlIHN0eWxlcywgYnV0IHRoZXkgY2FuIGJlIG5lZ2F0ZWQgYnkgc2V0dGluZyB0byAnZmFsc2UnLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFRoaXMgY3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIHRoZSB0cmlhbmdsZSBwaXBcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHRpbnkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55O1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHNtYWxsIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHNtYWxsIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGRlZmF1bHQgKG1lZGl1bSkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGxhcmdlIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZztcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZztcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHBpcCBjb2xvci4gV2UgZGlkbid0IHVzZSBsb2dpYyBpbiB0aGlzIGNhc2UsIGp1c3Qgc2V0IGl0IGFuZCBmb3JnZXQgaXQuXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93bi1idXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uO1xuICAgICAgJi50aW55IHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHRpbnksICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihzbWFsbCwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc2Vjb25kYXJ5OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZpZGVvIGNvbnRhaW5lciBwYWRkaW5nIGFuZCBtYXJnaW5zXG4kZmxleC12aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcbiRmbGV4LXZpZGVvLXdpZGVzY3JlZW4tcGFkZGluZy1ib3R0b206IDU2LjM0JSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiBmbGV4LXZpZGVvLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206ICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tO1xuICBwYWRkaW5nLXRvcDogJGZsZXgtdmlkZW8tcGFkZGluZy10b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxuICAmLnZpbWVvIHsgcGFkZGluZy10b3A6IDA7IH1cblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuICAgIC5mbGV4LXZpZGVvIHsgQGluY2x1ZGUgZmxleC12aWRlby1jb250YWluZXI7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWNvbG9yOiAkdHVhdGFyYSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRpbnB1dC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNDAlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xuJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IHZpc2libGUgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHNldHRpbmcgdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzICh0aGUgdXAvZG93biBhcnJvd3MpXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXG4kZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzICFkZWZhdWx0O1xuJGdsb3dpbmctZWZmZWN0LWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgdHJhbnNpdGlvbiB3aGVuIGlucHV0cyBhcmUgZm9jdXNlZCBhbmQgd2hlbiB0aGUgZ2xvd2luZyBlZmZlY3QgaXMgZGlzYWJsZWQuXG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWU6IDAuMTVzICFkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcblxuLy8gU2VsZWN0IHZhcmlhYmxlc1xuJHNlbGVjdC1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xuJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlbGVjdC1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBNSVhJTlNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgdXMgZm9ybSBzdHlsZXMgZm9yIHJvd3MgaW5zaWRlIG9mIGZvcm1zXG5AbWl4aW4gZm9ybS1yb3ctYmFzZSB7XG4gIC5yb3cgeyBtYXJnaW46IDAgKCgtJGZvcm0tc3BhY2luZykgLyAyKTtcblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cblxuICAgIC8vIFVzZSB0aGlzIHRvIGNvbGxhcHNlIHRoZSBtYXJnaW5zIG9mIGEgZm9ybSByb3dcbiAgICAmLmNvbGxhcHNlIHsgbWFyZ2luOiAwO1xuXG4gICAgICAuY29sdW1uLFxuICAgICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwOyB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sIDApO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIGlucHV0LmNvbHVtbixcbiAgaW5wdXQuY29sdW1ucyxcbiAgdGV4dGFyZWEuY29sdW1uLFxuICB0ZXh0YXJlYS5jb2x1bW5zIHsgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzIHRoZWlyIHN0eWxlXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWNvbG9yO1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdztcbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0IHtcbiAgICBAaW5jbHVkZSBibG9jay1nbG93aW5nLWVmZmVjdChmb2N1cywgJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZSwgJGdsb3dpbmctZWZmZWN0LWNvbG9yKTtcbiAgfVxuICAvLyBCYXNpYyBmb2N1cyBzdHlsZXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYmFja2dyb3VuZCBpbnB1dCBiYWNrZ3JvdW5kIGNvbG9yXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGZvcm0gbGFiZWxzXG4vL1xuLy8gJGFsaWdubWVudCAtIEFsaWdubWVudCBvcHRpb25zLiBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogW3JpZ2h0LCBpbmxpbmUsIGZhbHNlXVxuLy8gJGJhc2Utc3R5bGUgLSBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gZm9ybS1sYWJlbCgkYWxpZ25tZW50OmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJGZvcm0tbGFiZWwtcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW47XG4gIH1cblxuICAvLyBBbGlnbm1lbnQgb3B0aW9uc1xuICBAaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGlubGluZSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4L3ByZWZpeCBmb3JtIExhYmVsc1xuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBsaW5lLWhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG92ZXJmbG93OiAkaW5wdXQtcHJlZml4LW92ZXJmbG93O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHByZWZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDpmYWxzZVxuLy9cbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IG5vbmU7XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlci1sZWZ0LWhpZGRlbjp0cnVlLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlICBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXdpZHRoICRmaWVsZHNldC1ib3JkZXItc3R5bGUgJGZpZWxkc2V0LWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcblxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xuICBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3Igb2YgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIEdvIGJhY2sgdG8gbm9ybWFsIG9uIGZvY3VzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgc2ltcGxlIG1peGluIHRvIHN0eWxlIGxhYmVscyBmb3IgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiRhbGVydC1jb2xvci4gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBlcnJvciBtZXNzYWdlIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChGb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplO1xuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcbiAgcGFkZGluZzogJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZztcblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHNlbGVjdCBlbGVtZW50c1xuQG1peGluIGZvcm0tc2VsZWN0ICB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iZy1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGN1c3RvbSBhcnJvdyBoYXMgc29tZSBmYWtlIGhvcml6b250YWwgcGFkZGluZyBzbyB3ZSBjYW4gYWxpZ24gaXRcbiAgLy8gZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHJlbHlpbmcgb24gQ1NTM1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jKycpO1xuXG4gIC8vIFdlIGNhbiBzYWZlbHkgdXNlIGxlZnRtb3N0IGFuZCByaWdodG1vc3Qgbm93XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSAncnRsJywgMCUsIDEwMCUpIGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXG5AbWl4aW4gaHRtbDVudW1iZXIoJGJyb3dzZXIsICRvbjogdHJ1ZSkge1xuICBAaWYgJG9uID09IGZhbHNlIHtcbiAgICAgIEBpZiAkYnJvd3NlciA9PSB3ZWJraXQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXIgPT0gbW96IHtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImZvcm1cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgIC8qIFN0YW5kYXJkIEZvcm1zICovXG4gICAgZm9ybSB7IG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7IH1cblxuICAgIC8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG4gICAgZm9ybSAucm93IHsgQGluY2x1ZGUgZm9ybS1yb3ctYmFzZTsgfVxuXG4gICAgLyogTGFiZWwgU3R5bGVzICovXG4gICAgbGFiZWwgeyBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxuICAgICAgJi5pbmxpbmUgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKGlubGluZSwgZmFsc2UpOyB9XG4gICAgICAvKiBTdHlsZXMgZm9yIHJlcXVpcmVkIGlucHV0cyAqL1xuICAgICAgc21hbGwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbiAgICAucHJlZml4LFxuICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcHJlZml4LXBvc3RmaXgtYmFzZTsgfVxuXG4gICAgLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbiAgICAucG9zdGZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwb3N0Zml4KGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG4gICAgLnByZWZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwcmVmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnByZWZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgIC8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi9cbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cbiAgICBzcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXggeyBAaW5jbHVkZSBwb3N0Zml4KCk7IH1cblxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAgIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCA9PSBmYWxzZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xuICAgIHRleHRhcmVhW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGUgcGxhY2Vob2xkZXIgdGV4dCBjcm9zcyBicm93c2VyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG5cbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbiAgICBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgJlttdWx0aXBsZV0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmb3JtLXNwYWNpbmcgKiAuNTtcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XG4gICAgfVxuXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cbiAgICBmaWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgICB9XG5cbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xuXG4gICAgI3tkYXRhKCdhYmlkZScpfSB7XG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgPiBzbWFsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmVycm9yLFxuICAgIHRleHRhcmVhLmVycm9yLFxuICAgIHNlbGVjdC5lcnJvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcblxuJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEB2YXJpYWJsZXNcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcbiRpY29uLWJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBpY29ucy5cbiRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBJY29uIGJhciBlbGVtZW50LlxuLy9cbkBtaXhpbiBpY29uLWJhci1iYXNlKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1JTtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodDtcbiAgICAgIHdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgJi5sYWJlbC1yaWdodCA+ICoge1xuXG4gICAgaSwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAuMDYyNXJlbSAwIDA7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgfVxuXG4gICYudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJi52ZXJ0aWNhbCwgJi5zbWFsbC12ZXJ0aWNhbHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuaXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYubWVkaXVtLXZlcnRpY2FsIHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3IgaWNvbiBiYXJzLlxuQG1peGluIGljb24tYmFyLXNpemUoXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplLFxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcbiAgJGltYWdlLWhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodCkge1xuXG4gID4gKiB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgaSwgaW1nIHtcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkaW1hZ2UtaGVpZ2h0O1xuICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gaWNvbi1iYXItc3R5bGUoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkYmFzZS1zdHlsZTp0cnVlLFxuICAkZGlzYWJsZWQ6ZmFsc2UpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgYmFja2dyb3VuZDogJGJhci1iZztcblxuICAgID4gKiB7XG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3I7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3I7IH1cbiAgICB9XG5cbiAgICA+IGE6aG92ZXIge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWhvdmVyLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG5cbiAgICAgICAgPiBhLmFjdGl2ZSB7XG5cbiAgICAgIGJhY2tncm91bmQ6ICRiYXItYWN0aXZlLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgLml0ZW0uZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgID4qIHtcbiAgICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBpY29uIGJhcnMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy8gJGhlaWdodCAtIFRoZSBvdmVyYWxsIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBpY29uIGJhciAoaG9yaXpvbnRhbClcbi8vICRiYXItYmcgLSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYmFyXG4vLyAkYmFyLWZvbnQtY29sb3IgLSB0aGUgZm9udCBjb2xvclxuLy8gJGJhci1ob3Zlci1jb2xvciAtIG9rYXkgdGhlc2UgYXJlIHByZXR0eSBvYnZpb3VzIHZhcmlhYmxlc1xuLy8gJGJhci1pY29uLWNvbG9yIC0gbWF5YmUgd2UgY291bGQgc2tpcCBleHBsYWluaW5nIHRoZW0gYWxsPyBPa2F5IHRoaXMgb25lIGRvZXMgY2hhbmdlIGljb24gY29sb3IgaWYgeW91IHVzZSBhbiBpY29uIGZvbnRcbi8vICRiYXItYWN0aXZlLWNvbG9yIC0gdGhlIGNvbG9yIG9mIGFuIGFjdGl2ZSAvIGhvdmVyIHN0YXRlXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc2FibGVkIC0gQWxsb3cgZGlzYWJsZWQgaWNvbnM/IERlZmF1bHQ6IGZhbHNlLlxuXG5AbWl4aW4gaWNvbi1iYXIoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQsXG4gICRiYXNlLXN0eWxlOnRydWUsXG4gICRkaXNhYmxlZDp0cnVlKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItYmFzZSgpO1xuICAgIEBpbmNsdWRlIGljb24tYmFyLXNpemUoJHBhZGRpbmcsICRmb250LXNpemUsICRpY29uLXNpemUsICRpbWFnZS13aWR0aCwgJGltYWdlLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc3R5bGUoJGJhci1iZywgJGJhci1mb250LWNvbG9yLCAkYmFyLWZvbnQtY29sb3ItaG92ZXIsICRiYXItaG92ZXItY29sb3IsICRiYXItaWNvbi1jb2xvciwgJGJhci1pY29uLWNvbG9yLWhvdmVyLCAkYmFyLWFjdGl2ZS1jb2xvciwgJGJhc2Utc3R5bGUsICRkaXNhYmxlZCk7XG5cbiAgLy8gQ291bnRzXG5cbiAgJi50d28tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRocmVlLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZvdXItdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDI1JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZpdmUtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNpeC11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V2ZW4tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZWlnaHQtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImljb24tYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG4gICAgLmljb24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFyO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcblxuICAvLyB0b29sYmFyIHN0eWxlc1xuXG4gIC5pY29uLWJhciB7XG5cbiAgICAvLyBDb3VudHNcblxuICAgICYudHdvLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudGhyZWUtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZvdXItdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5maXZlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2l4LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2V2ZW4tdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmVpZ2h0LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcblxuJGlubGluZS1saXN0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGlubGluZSBsaXN0c1xuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGlubGluZS1saXN0LXRvcC1tYXJnaW47XG4gIG1hcmdpbi1ib3R0b206ICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjtcbiAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW47XG4gIG92ZXJmbG93OiAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c7XG4gIHBhZGRpbmc6ICRpbmxpbmUtbGlzdC1wYWRkaW5nO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1kaXNwbGF5O1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW47XG4gICAgPiAqIHsgZGlzcGxheTogJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiaW5saW5lLWxpc3RcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzIHtcbiAgICAuaW5saW5lLWxpc3Qge1xuICAgICAgQGluY2x1ZGUgaW5saW5lLWxpc3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xuJGpveXJpZGUtdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4ICFkZWZhdWx0O1xuXG4vLyBIZXJlLCB3ZSdyZSBzZXR0aW5nIHRoZSB0aXAgZm9udCBzdHlsZXNcbiRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcbiRqb3lyaWRlLXRpcC1udWItc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4kam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcblxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cbiRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtY2xvc2Utc2l6ZTogMjRweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIFdoZW4gSm95cmlkZSBpcyBmaWxsaW5nIHRoZSBzY3JlZW4sIHdlIHVzZSB0aGlzIHN0eWxlIGZvciB0aGUgYmdcbiRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KSAhZGVmYXVsdDtcblxuXG4vLyBXZSBkZWNpZGVkIG5vdCB0byBtYWtlIGEgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpdCByZWxpZXMgb25cbi8vIHByZWRlZmluZWQgY2xhc3NlcyB0byB3b3JrIHByb3Blcmx5LlxuQGluY2x1ZGUgZXhwb3J0cyhcImpveXJpZGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBKb3lyaWRlICovXG4gICAgLmpveXJpZGUtbGlzdCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8qIERlZmF1bHQgc3R5bGVzIGZvciB0aGUgY29udGFpbmVyICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC1iZztcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIHotaW5kZXg6IDEwMztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAyLjUlO1xuICAgIH1cblxuICAgIC5sdC1pZTkgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTQwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6ICRqb3lyaWRlLXRpcC1wYWRkaW5nO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAgICAgLmpveXJpZGUtcHJldi10aXAgeyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICB9XG5cbiAgICAvKiBBZGQgYSBsaXR0bGUgY3NzIHRyaWFuZ2xlIHBpcCwgb2xkZXIgYnJvd3NlciBqdXN0IG1pc3Mgb3V0IG9uIHRoZSBmYW5jaW5lc3Mgb2YgaXQgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgLmpveXJpZGUtbnViIHtcbiAgICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtbnViLXNpemUgc29saWQgJGpveXJpZGUtdGlwLWJnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcblxuICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmc7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdG9wOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgfVxuICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWdodCB7IHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxuICAgICAgICAmLmxlZnQgeyBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFR5cG9ncmFwaHkgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDEsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgyLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMyxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDQsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg1LFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNiB7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHAge1xuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE4IDApO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvci13cmFwIHtcbiAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLWJvcmRlcjtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgaGVpZ2h0OiAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6ICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IHJlbS1jYWxjKDE3KTtcbiAgICB9XG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtY2xvc2UtdGlwIHtcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtY2xvc2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogJGpveXJpZGUtdGlwLWNsb3NlLXNpemU7XG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuNSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTJweDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBjb2xvcjogJHNtb2tlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICAuam95cmlkZS1tb2RhbC1iZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS1zY3JlZW5maWxsO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG5cbiAgICAuam95cmlkZS1leHBvc2Utd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDI7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtZXhwb3NlLWNvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgfVxuXG5cbiAgICAvKiBTdHlsZXMgZm9yIHNjcmVlbnMgdGhhdCBhcmUgYXQgbGVhc3QgNzY4cHg7ICovXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XG4gICAgICAuam95cmlkZS10aXAtZ3VpZGUgeyB3aWR0aDogJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg7ICN7JGRlZmF1bHQtZmxvYXR9OiBpbmhlcml0O1xuICAgICAgICAuam95cmlkZS1udWIge1xuICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cbiRrZXlzdHJva2UtZm9udDogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yOiAtNyUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlcy5cbiRrZXlzdHJva2UtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigka2V5c3Ryb2tlLWJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGtleXN0cm9rZSBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAka2V5c3Ryb2tlLWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuQG1peGluIGtleXN0cm9rZSgkYmc6JGtleXN0cm9rZS1iZykge1xuICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGFkanVzdCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ7IH1cblxuICBib3JkZXItc3R5bGU6ICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRrZXlzdHJva2UtYm9yZGVyLXdpZHRoO1xuICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICBmb250LXNpemU6ICRrZXlzdHJva2UtZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImtleXN0cm9rZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzICB7XG4gICAgLmtleXN0cm9rZSxcbiAgICBrYmQge1xuICAgICAgQGluY2x1ZGUga2V5c3Ryb2tlO1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRrZXlzdHJva2UtcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXG4kbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0O1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxuJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGxhYmVsIGJhc2UuXG5AbWl4aW4gbGFiZWwtYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRsYWJlbC1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRsYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc2l6ZSBzdHlsZXMuXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHBhZGRpbmcuIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdFxuLy8gJHRleHQtc2l6ZSAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHRleHQtc2l6ZS4gRGVmYXVsdDogJHRleHQtc2l6ZSBmb3VuZCBpbiBzZXR0aW5nc1xuQG1peGluIGxhYmVsLXNpemUoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nKSB7XG4gIEBpZiAkcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG4gIEBpZiAkdGV4dC1zaXplIHsgZm9udC1zaXplOiAkdGV4dC1zaXplOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc3R5bGVzLlxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUsIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBjb21lcyB0aHJvdWdoXG4gIEBpZiAkYmcge1xuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvci1hbHQ7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvcjsgfVxuICB9XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgcmFkaXVzIG9uIGxhYmVscy5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkbGFiZWwtcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBjbG9zZSBidXR0b25zIHRvIGFsZXJ0c1xuLy8gJHBhZGRpbmcgLSBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyxcbi8vICR0ZXh0LXNpemUgLSBEZWZhdWx0OiAkbGFiZWwtZm9udC1zaXppbmcsXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvcihmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlIHdoaWNoIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZywgJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcbiAgQGluY2x1ZGUgbGFiZWwtc2l6ZSgkcGFkZGluZywgJHRleHQtc2l6ZSk7XG4gIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRiZywgJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJsYWJlbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXMge1xuICAgIC5sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCB0cnVlKTsgfVxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCAkcmFkaXVzOjEwMDBweCk7IH1cblxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kbWFnZWxsYW4tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwibWFnZWxsYW5cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzIHtcblxuICAgICN7ZGF0YSgnbWFnZWxsYW4tZXhwZWRpdGlvbicpfSwgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lJyl9IHtcbiAgICAgIGJhY2tncm91bmQ6ICRtYWdlbGxhbi1iZztcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRtYWdlbGxhbi1wYWRkaW5nO1xuICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgIC5zdWItbmF2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBjYXB0aW9uIHN0eWxlc1xuJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWJnOiByZ2JhKDUxLDUxLDUxLCAuOCkgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiICFkZWZhdWx0OyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDEwIDE0KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0byAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxlZnQvcmlnaHQgbmF2IHN0eWxlc1xuJG9yYml0LW5hdi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWFycm93LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aW1lciBzdHlsZXNcbiRvcmJpdC10aW1lci1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpICFkZWZhdWx0O1xuJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yLWFjdGl2ZTogJGFsdW1pbnVtICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgdGhlIHN0eWxlIG9mIHNsaWRlIG51bWJlcnNcbiRvcmJpdC1zbGlkZS1udW1iZXItYmc6IHJnYmEoMCwwLDAsMCkgIWRlZmF1bHQ7XG4kb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG5cbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXG4kd3JhcHBlci1jbGFzczogXCJzbGlkZXNob3ctd3JhcHBlclwiICFkZWZhdWx0O1xuJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIiAhZGVmYXVsdDtcblxuLy8gSGlkZSBjb250cm9scyBvbiBzbWFsbFxuJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcIm9yYml0XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlcyB7XG5cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIE9yYml0IEdyYWNlZnVsIExvYWRpbmcgKi9cbiAgICAuI3skd3JhcHBlci1jbGFzc30ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIC8vIFByZXZlbnQgYnVsbGV0cyBzaG93aW5nIGJlZm9yZSAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAvLyBIaWRlIGFsbCBsaXN0IGl0ZW1zXG4gICAgICAgIGxpLFxuICAgICAgICBsaSAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAvLyAuLi5leGNlcHQgZm9yIHRoZSBmaXJzdCBvbmVcbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtY29udGFpbmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gU2hvdyBpbWFnZXMgd2hlbiAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxuICAgICAgICBsaSB7IGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgLm9yYml0LWNhcHRpb24geyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG4gICAgICAgIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT3JiaXQgcHJlbG9hZGVyXG4gICAgICAuI3skcHJlbG9hZGVyLWNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNoYXJjb2FsICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1jb250YWluZXItYmc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gUHJldmVudHMgaW1hZ2VzIChhbmQgY2FwdGlvbnMpIGZyb20gZGlzYXBwZWFyaW5nIGFmdGVyIGZpcnN0IHJvdGF0aW9uIG9uIENocm9tZSBmb3IgQW5kcm9pZFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgIGltZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgICAgICBAaWYgJG9yYml0LWNhcHRpb24tcG9zaXRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcInVuZGVyXCIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJnO1xuICAgICAgICAgICAgY29sb3I6ICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnO1xuICAgICAgICBjb2xvcjogJG9yYml0LXNsaWRlLW51bWJlci1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgc3BhbiB7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6ICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzt9XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC10aW1lciB7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTBweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIFxuXG4gICAgICAgIC5vcmJpdC1wcm9ncmVzcyB7XG4gICAgICAgICAgQGlmICRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC10aW1lci1iZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGxheSBidXR0b25cbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGF1c2UgYnV0dG9uXG4gICAgICAgICYucGF1c2VkIHtcbiAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtNHB4O1xuXG4gICAgICAgICAgICAmLmRhcmsge1xuICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG9pbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICAgICY6aG92ZXIgLm9yYml0LXRpbWVyID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIC8vIExldCdzIGdldCB0aG9zZSBjb250cm9scyB0byBiZSByaWdodCBpbiB0aGUgY2VudGVyIG9uIGVhY2ggc2lkZVxuICAgICAgLm9yYml0LXByZXYsXG4gICAgICAub3JiaXQtbmV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmc7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogaW5zZXQgMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JiaXQtcHJldiB7ICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JiaXQtbmV4dCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3JiaXQtYnVsbGV0cy1jb250YWluZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAub3JiaXQtYnVsbGV0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMTBweDtcblxuICAgICAgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1yYWRpdXM7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA2cHg7XG4gICAgICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcblxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG91Y2gge1xuICAgICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgICAub3JiaXQtbmV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LWJ1bGxldHMgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cbiAgICAgIC50b3VjaCB7XG4gICAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogaW5oZXJpdDsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIC5vcmJpdC1zdGFjay1vbi1zbWFsbCB7XG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDt9XG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XG4gICAgICAgICAgbWFyZ2luOjAgICFpbXBvcnRhbnQ7XG4gICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtdGltZXJ7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgICBAaWYgJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtbmV4dCwub3JiaXQtcHJldntkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICAgIEBpZiAkb3JiaXQtYnVsbGV0LWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC1idWxsZXRze2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXG4kcGFnaW5hdGlvbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFN0eWxlIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQ3VycmVudGx5IG9ubHkgdXNlZCB3aGVuIGNlbnRlcmluZyBlbGVtZW50cy5cbi8vICRjZW50ZXIgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcbiAgQGlmICRjZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbn1cblxuLy8gQG1peGluc1xuLy8gU3R5bGUgdW5hdmFpbGFibGUgbGlzdCBpdGVtc1xuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XG4gIGEsIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICY6aG92ZXIgYSxcbiAgJiBhOmZvY3VzLFxuXG4gICY6aG92ZXIgYnV0dG9uLFxuICAmIGJ1dHRvbjpmb2N1c1xuICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOyB9XG59XG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIERvIG5vdCBhc3N1bWUgdGhhdCB0aGUgY3VycmVudCBpdGVtIGhhc1xuLy8gYW4gYW5jaG9yIDxhPiBlbGVtZW50LlxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCRoYXMtYW5jaG9yOiB0cnVlKSB7XG4gIEBpZiAkaGFzLWFuY2hvciB7XG4gICAgYSwgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgIEBpbmNsdWRlIHJhZGl1cztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgY3JlYXRpbmcgRm91bmRhdGlvbiBwYWdpbmF0aW9uXG4vLyAkY2VudGVyIC0gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJHVzZS1kZWZhdWx0LWNsYXNzZXMgLSBNYWtlcyB1bmF2YWlsYWJsZSAmIGN1cnJlbnQgY2xhc3NlcyBhdmFpbGFibGUgZm9yIHVzZS4gRGVmYXVsdDogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24oJGNlbnRlcjpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSwgJHVzZS1kZWZhdWx0LWNsYXNzZXM6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24taGVpZ2h0O1xuXG4gICAgbGkge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTtcbiAgICAgIGhlaWdodDogJHBhZ2luYXRpb24tbGktaGVpZ2h0O1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1saS1tYXJnaW47XG5cbiAgICAgIGEsIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIGEsXG4gICAgICBhOmZvY3VzLFxuICAgICAgJjpob3ZlciBidXR0b24sXG4gICAgICBidXR0b246Zm9jdXNcbiAgICAgIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc7IH1cblxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcbiAgICAgICAgJi51bmF2YWlsYWJsZSB7IEBpbmNsdWRlIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSgpOyB9XG4gICAgICAgICYuY3VycmVudCB7IEBpbmNsdWRlIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHNcbiAgbGkge1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogJHBhZ2luYXRpb24tbGktZmxvYXQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYWdpbmF0aW9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlcyB7XG4gICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qIFBhZ2luYXRpb24gY2VudHJlZCB3cmFwcGVyICovXG4gICAgLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XG5cbiAgICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXG4kcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1iZzogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4kcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6IC0xMSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuJHBhbmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kcGFuZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxuLy8gJGJnIC0gU2V0cyB0aGUgcGFuZWwgYmFja2dyb3VuZCBjb2xvci4gRGVmYXVsdDogJHBhbmVsLXBnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdFxuLy8gJHBhZGRpbmcgLSBTZXRzIHRoZSBwYW5lbCBwYWRkaW5nIGFtb3VudC4gRGVmYXVsdDogJHBhbmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoMjApXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxuQG1peGluIHBhbmVsKCRiZzokcGFuZWwtYmcsICRwYWRkaW5nOiRwYW5lbC1wYWRkaW5nLCAkYWRqdXN0OiRwYW5lbC1oZWFkZXItYWRqdXN0LCAkYm9yZGVyOnRydWUpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIEBpZiAkYm9yZGVyIHtcbiAgICAgIGJvcmRlci1zdHlsZTogJHBhbmVsLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJHBhbmVsLWJvcmRlci1zaXplO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFuZWwtYm9yZGVyLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIG1hcmdpbi1ib3R0b206ICRwYW5lbC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuXG4gICAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgICA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgQGlmICRhZGp1c3Qge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcuXG4gICAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+PSA1MCUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7IH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuICAgICAgfVxuXG4gICAgICAvLyByZXNldCBoZWFkZXIgbGluZS1oZWlnaHRzIGZvciBwYW5lbHNcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIC8gMjtcbiAgICAgICAgJi5zdWJoZWFkZXIgeyBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYW5lbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXMge1xuXG4gICAgLyogUGFuZWxzICovXG4gICAgLnBhbmVsIHsgQGluY2x1ZGUgcGFuZWw7XG5cbiAgICAgICYuY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcbiAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxuJHByaWNlLXRhYmxlLWJvcmRlcjogc29saWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcbiRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcbiRwcmljZS10aXRsZS1iZzogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCkgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1jb2xvcjogJHNtb2tlICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXG4kcHJpY2UtbW9uZXktYmc6ICR2YXBvciAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCkgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgZGVzY3JpcHRpb24gc3R5bGVzXG4kcHJpY2UtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW0gc3R5bGVzXG4kcHJpY2UtaXRlbS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIENUQSBhcmVhIHN0eWxlc1xuJHByaWNlLWN0YS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWN0YS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKSAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAkcHJpY2UtdGFibGUtYm9yZGVyO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tO1xuXG4gICYgKiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgcHJpY2luZyB0YWJsZSB0aXRsZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLXRpdGxlLWJnO1xuICBjb2xvcjogJHByaWNlLXRpdGxlLWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS10aXRsZS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLXRpdGxlLXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLXRpdGxlLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS10aXRsZS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgdGhlIHByaWNpbmcgdGFibGUgcHJpY2Ugc3R5bGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1wcmljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1tb25leS1iZztcbiAgY29sb3I6ICRwcmljZS1tb25leS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRwcmljZS1tb25leS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkcHJpY2UtbW9uZXktc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1tb25leS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1tb25leS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtbW9uZXktYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGRlc2NyaXB0aW9uIHN0eWxlcyBmb3IgdGhlIHByaWNpbmcgdGFibGVcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyO1xuICBjb2xvcjogJHByaWNlLWRlc2MtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHByaWNlLWRlc2MtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLWRlc2Mtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1kZXNjLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1kZXNjLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIGJ1bGxldCBpdGVtcyBpbiB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtYnVsbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyO1xuICBjb2xvcjogJHByaWNlLWl0ZW0tY29sb3I7XG4gIGZvbnQtc2l6ZTogJHByaWNlLWl0ZW0tZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLWl0ZW0td2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtaXRlbS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtaXRlbS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHRoZSBDVEEgYXJlYSBvZiB0aGUgcHJpY2luZyB0YWJsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1jdGEtYmc7XG4gIHBhZGRpbmc6ICRwcmljZS1jdGEtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWN0YS1hbGlnbjtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInByaWNpbmctdGFibGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXMge1xuXG4gICAgLyogUHJpY2luZyBUYWJsZXMgKi9cbiAgICAucHJpY2luZy10YWJsZSB7XG4gICAgICBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWNvbnRhaW5lcjtcblxuICAgICAgLnRpdGxlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS10aXRsZTsgfVxuICAgICAgLnByaWNlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1wcmljZTsgfVxuICAgICAgLmRlc2NyaXB0aW9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbjsgfVxuICAgICAgLmJ1bGxldC1pdGVtIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1idWxsZXQ7IH1cbiAgICAgIC5jdGEtYnV0dG9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1jdGE7IH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XG4kcHJvZ3Jlc3MtYmFyLWhlaWdodDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogJHZhcG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMjAlKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtYXJnaW4gJiBwYWRkaW5nXG4kcHJvZ3Jlc3MtYmFyLXBhZDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbWV0ZXIgY29sb3JzXG4kcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHVwIHRoZSBwcm9ncmVzcyBiYXIgY29udGFpbmVyXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgYm9yZGVyOiAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplICRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1iYXItaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmc6ICRwcm9ncmVzcy1iYXItcGFkO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gJGJnIC0gRGVmYXVsdDogJHByb2dyZXNzLW1ldGVyLWNvbG9yIHx8ICRwcmltYXJ5LWNvbG9yXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInByb2dyZXNzLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuXG4gICAgLyogUHJvZ3Jlc3MgQmFyICovXG4gICAgLnByb2dyZXNzIHtcbiAgICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgICAgLy8gTWV0ZXJcbiAgICAgIC5tZXRlciB7XG4gICAgICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuXG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG4gICAgICB9XG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cygkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXMgLSAxKTsgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3JhbmdlLXNsaWRlci5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbiRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMSUpICFkZWZhdWx0O1xuXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0OiByZW0tY2FsYygyMDApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSB2YXJpYWJsZXMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmUgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItd2lkdGg7XG4gIH1cbn1cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLXN0eWxlKFxuICAkYmc6IHRydWUsXG4gICRyYWRpdXM6IGZhbHNlLFxuICAkcm91bmQ6IGZhbHNlLFxuICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XG4gIEBpZiAkcm91bmQgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJvdW5kKTsgfVxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xuICAgIGN1cnNvcjogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxuICAkYmc6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZTtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZSgpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A7XG4gIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgei1pbmRleDogMTtcblxuICAvLyBUaGlzIHJlbW92ZXMgdGhlIDMwMG1zIHRvdWNoIGRlbGF5IG9uIFdpbmRvd3MgOFxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I7XG4gIH1cbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZTtcbn1cblxuLy8gQ1NTIEdlbmVyYXRpb25cbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXMge1xuICAgIC5yYW5nZS1zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czpmYWxzZSk7XG4gICAgICAmLnZlcnRpY2FsLXJhbmdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgICBib3R0b206IC0oJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0IC0gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGgpO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQgLSByZW0tY2FsYygoc3RyaXAtdW5pdCgkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGgpICogMikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJhZGl1czp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyYWRpdXM6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLnJvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcm91bmQ6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcm91bmQ6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJGRpc2FibGVkOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGRpc2FibGVkOiB0cnVlKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czogZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQG5hbWUgX3JldmVhbC5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcbiRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlICFkZWZhdWx0O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbiRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4kcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcblxuLy8gU2V0IGJhc2Ugei1pbmRleFxuJHotaW5kZXgtYmFzZTogMTAwNTtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gYWxsb3dzIG1vZGFsIGJhY2tncm91bmQgdG8gZXh0ZW5kIGJleW9uZCB3aW5kb3cgcG9zaXRpb25cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IGlmKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlLCAkei1pbmRleC1iYXNlIC0gMSwgYXV0byApO1xuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkYmFzZS1zdHlsZSAtIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcbi8vXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2UoICRiYXNlLXN0eWxlOiB0cnVlLCAkd2lkdGg6JHJldmVhbC1kZWZhdWx0LXdpZHRoLCAkbWF4LXdpZHRoOiRyZXZlYWwtbWF4LXdpZHRoLCAkYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXMpIHtcbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIG1hcmdpbiBmcm9tIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnQgaW5zaWRlIG1vZGFsXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXG4vL1xuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cbi8vICRib3JkZXIgLSBDaG9vc2Ugd2hldGhlciByZXZlYWwgdXNlcyBhIGJvcmRlci4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXG4vLyAkYm9yZGVyLWNvbG9yIC0gQ29sb3Igb2YgYm9yZGVyLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1jb2xvci5cbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJHRvcC1vZmZzZXQgLSBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCB8fCA1MHB4XG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAkYmc6ZmFsc2UsXG4gICRwYWRkaW5nOmZhbHNlLFxuICAkYm9yZGVyOmZhbHNlLFxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAkYm94LXNoYWRvdzpmYWxzZSxcbiAgJHJhZGl1czpmYWxzZSxcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcblxuICBAaWYgJGJnIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG5cbiAgQGlmICRib3JkZXIgeyBib3JkZXI6ICRib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkYm9yZGVyLWNvbG9yOyB9XG5cbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXG4gIEBpZiAkYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xuICB9XG4gIEBlbHNle1xuICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCByYWRpdXMgaXMgdXNlZCBvbiB0aGUgbW9kYWxcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmV2ZWFsLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG4gIEBpZiAkdG9wLW9mZnNldCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgdG9wOiAkdG9wLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uIGZvciB0aGUgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJHJldmVhbC1jbG9zZS1jb2xvciB8fCAkYmFzZVxuQG1peGluIHJldmVhbC1jbG9zZSgkY29sb3I6JHJldmVhbC1jbG9zZS1jb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgZm9udC1zaXplOiAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRyZXZlYWwtY2xvc2Utd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRyZXZlYWwtY2xvc2UtdG9wO1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkcmV2ZWFsLWNsb3NlLXNpZGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInJldmVhbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzIHtcblxuICAgIC8vIFJldmVhbCBNb2RhbHNcbiAgICAucmV2ZWFsLW1vZGFsLWJnIHsgQGluY2x1ZGUgcmV2ZWFsLWJnOyB9XG5cbiAgICAuI3skcmV2ZWFsLW1vZGFsLWNsYXNzfSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZShcbiAgICAgICAgJGJnOiRyZXZlYWwtbW9kYWwtYmcsXG4gICAgICAgICRwYWRkaW5nOiRyZXZlYWwtbW9kYWwtcGFkZGluZyxcbiAgICAgICAgJGJvcmRlcjp0cnVlLFxuICAgICAgICAkYm94LXNoYWRvdzp0cnVlLFxuICAgICAgICAkcmFkaXVzOmZhbHNlLFxuICAgICAgICAkdG9wLW9mZnNldDokcmV2ZWFsLXBvc2l0aW9uLXRvcFxuICAgICAgKTtcblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHJhZGl1czp0cnVlKTsgfVxuICAgICAgJi5yb3VuZCAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHJhZGl1czokcmV2ZWFsLXJvdW5kKTsgfVxuICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcGFkZGluZzowKTsgfVxuICAgICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCAzMCUpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDQwJSk7IH1cbiAgICAgICYubWVkaXVtICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA2MCUpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDcwJSk7IH1cbiAgICAgICYueGxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDk1JSk7IH1cbiAgICAgICYuZnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgICAgIHRvcDowO1xuICAgICAgfVxuXG4gICAgICAvLyBNb2RhbHMgcHVzaGVkIHRvIGJhY2tcbiAgICAgICYudG9iYWNrIHtcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtYmFzZSAtIDI7XG4gICAgICB9XG5cbiAgICAgIC4jeyRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3N9IHsgQGluY2x1ZGUgcmV2ZWFsLWNsb3NlOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4kc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxuJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygwIDAgNyAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGluayBzdHlsZXMuXG4kc2lkZS1uYXYtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstYmctaG92ZXI6IGhzbGEoMCwgMCwgMCwgLjAyNSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1wYWRkaW5nOiByZW0tY2FsYyg3IDE0KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlOiAkc2lkZS1uYXYtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRpbmcgc3R5bGVzLlxuJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4kc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZGl2aWRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgc2lkZS1uYXZcbi8vXG4vLyAkZGl2aWRlci1jb2xvciAtIEJvcmRlciBjb2xvciBvZiBkaXZpZGVyLiBEZWZhdWx0OiAkc2lkZS1uYXYtZGl2aWRlci1jb2xvci5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgbmF2IGl0ZW1zLiBEZWZhdWx0OiAkc2lkZS1uYXYtZm9udC1zaXplLlxuLy8gJGxpbmstY29sb3IgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci5cbi8vICRsaW5rLWNvbG9yLWhvdmVyIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcyB3aGVuIGhvdmVyZWQuIERlZmF1bHQ6ICRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLlxuQG1peGluIHNpZGUtbmF2KFxuICAkZGl2aWRlci1jb2xvcjokc2lkZS1uYXYtZGl2aWRlci1jb2xvcixcbiAgJGZvbnQtc2l6ZTokc2lkZS1uYXYtZm9udC1zaXplLFxuICAkbGluay1jb2xvcjokc2lkZS1uYXYtbGluay1jb2xvcixcbiAgJGxpbmstY29sb3ItYWN0aXZlOiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZSxcbiAgJGxpbmstY29sb3ItaG92ZXI6JHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIsXG4gICRsaW5rLWJnLWhvdmVyOiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc2lkZS1uYXYtbGlzdC10eXBlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRzaWRlLW5hdi1wYWRkaW5nO1xuXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcbiAgICBtYXJnaW46ICRzaWRlLW5hdi1saXN0LW1hcmdpbjtcblxuICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAkc2lkZS1uYXYtbGluay1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkc2lkZS1uYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGluay1iZy1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlID4gYTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5kaXZpZGVyIHtcbiAgICAgIGJvcmRlci10b3A6ICRzaWRlLW5hdi1kaXZpZGVyLXNpemUgJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWhlYWRpbmctY29sb3I7XG4gICAgICBmb250OiB7XG4gICAgICAgIHNpemU6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICAgICAgd2VpZ2h0OiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICAgIH1cbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInNpZGUtbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zaWRlLW5hdiB7QGluY2x1ZGUgc2lkZS1uYXY7fVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdkcm9wZG93bi1idXR0b25zJztcblxuLy9cbi8vIEBuYW1lIF9zcGxpdC1idXR0b25zLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2J1dHRvbnMuc2NzcywgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkaWZmZXJlbnQgc2hhcmVkIHN0eWxlcyBmb3IgU3BsaXQgQnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRpbnkgc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogMTAgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC10bnk6ICRidXR0b24tcGlwLXRueSAqIDIgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzbWFsbCBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDYgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsYXJnZSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA4ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1scmc6ICRidXR0b24tcGlwLWxyZyArIHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHNwbGl0IGJ1dHRvbnMgdGhhdCBidWlsZCB1cG9uIHRoZSBidXR0b24gbWl4aW5zXG4vL1xuLy8gJHBhZGRpbmcgLSBUeXBlIG9mIHBhZGRpbmcgdG8gYXBwbHkuIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9uczogdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2UuXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci5cbi8vICRzcGFuLWJvcmRlciAtIEJvcmRlciBjb2xvciBvZiBidXR0b24gZGl2aWRlci4gRGVmYXVsdDogJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvci5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZSB0byBzcGxpdCBidXR0b24uIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3BsaXQtYnV0dG9uKFxuICAkcGFkZGluZzptZWRpdW0sXG4gICRwaXAtY29sb3I6JHNwbGl0LWJ1dHRvbi1waXAtY29sb3IsIFxuICAkc3Bhbi1ib3JkZXI6JHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBXaXRoIHRoaXMsIHdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gU3R5bGluZyBmb3IgdGhlIHNwbGl0IGFycm93IGNsaWNrYWJsZSBhcmVhXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IHNvbGlkIDFweDtcblxuICAgICAgLy8gQnVpbGRpbmcgdGhlIHRyaWFuZ2xlIHBpcCBpbmRpY2F0b3JcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItc3R5bGU6IGluc2V0O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udHJvbCB0aGUgYm9yZGVyIGNvbG9yIGZvciB0aGUgc3BhbiBhcmVhIG9mIHRoZSBzcGxpdCBidXR0b25cbiAgQGlmICRzcGFuLWJvcmRlciB7XG4gICAgc3BhbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRzcGFuLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgdGlueSBzaXplc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55O1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55O1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55O1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3Igc21hbGwgc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gc21hbGwge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGRlZmF1bHQgKG1lZGl1bSkgc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBsYXJnZSBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sIHRoZSBjb2xvciBvZiB0aGUgdHJpYW5nbGUgcGlwXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICBzcGFuOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInNwbGl0LWJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC5zcGxpdC5idXR0b24geyBAaW5jbHVkZSBzcGxpdC1idXR0b247XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgZmFsc2UpOyB9XG4gICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCBmYWxzZSwgJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgZmFsc2UpOyB9XG4gICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cblxuICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHRpbnksIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHNtYWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihsYXJnZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYuZXhwYW5kIHsgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQsIGZhbHNlLCBmYWxzZSk7IH1cblxuICAgICAgJi5yYWRpdXMgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMTAwMHB4KTsgfVxuICAgICAgJi5uby1waXB7XG4gICAgICAgIHNwYW46YmVmb3JleyBib3JkZXItc3R5bGU6bm9uZTsgfVxuICAgICAgICBzcGFuOmFmdGVyeyBib3JkZXItc3R5bGU6bm9uZTsgfVxuICAgICAgICBzcGFuPml7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yODg4OWVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ODg5ZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfc3ViLW5hdi5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWFyZ2luIGFuZCBwYWRkaW5nXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxuJHN1Yi1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuXG4kc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZyAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbiRzdWItbmF2LWl0ZW0tZGl2aWRlcjogXCJcIiAhZGVmYXVsdDtcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gQ3JlYXRlIGEgc3ViLW5hdiBpdGVtXG4vL1xuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZS4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1zaXplLlxuLy8gJGFjdGl2ZS1iZyAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmcuXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxuQG1peGluIHN1Yi1uYXYoXG4gICRmb250LWNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLFxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXG4gICRhY3RpdmUtYmc6ICRzdWItbmF2LWFjdGl2ZS1iZyxcbiAgJGFjdGl2ZS1iZy1ob3ZlcjogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRzdWItbmF2LWxpc3QtbWFyZ2luO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgZHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBkdCxcbiAgZGQsXG4gIGxpIHtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGZvbnQtZmFtaWx5OiAkc3ViLW5hdi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yO1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJHN1Yi1uYXYtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRzdWItbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmctaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRzdWItbmF2LWl0ZW0tZGl2aWRlciAhPSBcIlwiIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiN7JHN1Yi1uYXYtaXRlbS1kaXZpZGVyfVwiO1xuICAgICAgICBtYXJnaW46IDAgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzdWItbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zdWItbmF2IHsgQGluY2x1ZGUgc3ViLW5hdjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXJcbiRzd2l0Y2gtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzd2l0Y2ggaGVpZ2h0cyBmb3Igb3VyIGRlZmF1bHQgY2xhc3Nlc1xuJHN3aXRjaC1oZWlnaHQtdG55OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1zbWw6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1tZWQ6IDJyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1scmc6IDIuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtYm90dG9tLW1hcmdpbjogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcbiRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMTVzICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcbiRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIHN3aXRjaCBlbGVtZW50LlxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG5AbWl4aW4gc3dpdGNoLWJhc2UoXG4gICR0cmFuc2l0aW9uLXNwZWVkOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlKSB7XG5cbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLWJvdHRvbS1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBEZWZhdWx0IGxhYmVsIHN0eWxlcyBmb3IgdHlwZSBhbmQgdHJhbnNpdGlvblxuICBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICgkc3dpdGNoLWhlaWdodC1tZWQgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAqIDI7IGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkO1xuXG4gICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obGVmdCwgJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICB9XG5cbiAgLy8gU28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlY3JlYXRlIHRoZSBmb3JtIHdpdGggYW55IEpTLCB3ZSB1c2UgdGhlXG4gIC8vIGV4aXN0aW5nIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbiwgYnV0IHdlIGNsZXZlcmx5IHBvc2l0aW9uIGFuZCBoaWRlIGl0LlxuICBpbnB1dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG5cbiAgICAmICsgbGFiZWwgeyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGZvciB0aGUgc3dpdGNoIGlzIGNyZWF0ZWQgZnJvbSBhbiBhZnRlciBwc3VlZG9jbGFzc1xuICAvLyBjb250ZW50IGVsZW1lbnQuIFRoaXMgaXMgc2l6ZWQgYW5kIHBvc2l0aW9uZWQsIGFuZCByZWFjdHMgdG9cbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cblxuICBsYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmc7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuICAgIGxlZnQ6IC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMjVyZW07XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkc3dpdGNoLWhlaWdodC1tZWQgKyAuMjVyZW07XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3Igc3dpdGNoZXMuXG4vL1xuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgdGV4dCBpbiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtZm9udC1zaXplLW1lZC5cbi8vICRsaW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IG9mIHN3aXRjaC4gRGVmYXVsdDogMi4zcmVtLlxuQG1peGluIHN3aXRjaC1zaXplKCRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCkge1xuXG4gIGxhYmVsIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xuICB9XG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogJGhlaWdodCAtIC41cmVtO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gLjVyZW07XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRoZWlnaHQgKyAuMjVyZW07XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgY29sb3IgYW5kIG90aGVyIGZhbmNpbmVzcyB0byB0aGUgc3dpdGNoZXMuXG4vL1xuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBwb3NpdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1wb3NpdGl2ZS1jb2xvci5cbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaC1zdHlsZShcbiAgJHBhZGRsZS1iZzokc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjokc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIH1cblxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWRkbGUtYmc7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0dGluZyB1cCB0aGUgcmFkaXVzIGZvciBzd2l0Y2hlc1xuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIHN3aXRjaGVzIHdpdGggYSBzaW5nbGUgbWl4aW5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1hY3RpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaChcbiAgJHRyYW5zaXRpb24tc3BlZWQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSxcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkLFxuICAkcGFkZGxlLWJnOiAkc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjogJHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtYmFzZSgkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJGhlaWdodCk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXN0eWxlKCRwYWRkbGUtYmcsICRhY3RpdmUtY29sb3IsICRyYWRpdXMsICRiYXNlLXN0eWxlKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN3aXRjaFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgICAuc3dpdGNoIHtcbiAgICAgICAgQGluY2x1ZGUgc3dpdGNoO1xuXG4gICAgICAgIC8vIExhcmdlIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1scmcpOyB9XG5cbiAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXNtbCk7IH1cblxuICAgICAgICAvLyBUaW55IHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYudGlueSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXRueSk7IH1cblxuICAgICAgICAvLyBBZGQgYSByYWRpdXMgdG8gdGhlIHN3aXRjaFxuICAgICAgICAmLnJhZGl1cyB7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoNHB4KTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDNweCk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxuICAgICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF90YWJsZXMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRhYmxlIGFuZCBldmVuIHJvd3NcbiR0YWJsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWV2ZW4tcm93LWJnOiAkc25vdyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcbiR0YWJsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBoZWFkIHN0eWxlc1xuJHRhYmxlLWhlYWQtYmc6ICR3aGl0ZS1zbW9rZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xuJHRhYmxlLWZvb3QtYmc6ICR0YWJsZS1oZWFkLWJnICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgY2FwdGlvblxuJHRhYmxlLWNhcHRpb24tYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHJvdyBwYWRkaW5nIGFuZCBmb250IHN0eWxlc1xuJHRhYmxlLXJvdy1wYWRkaW5nOiByZW0tY2FsYyg5IDEwKSAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgYXJlIGZvciBjb250cm9sbGluZyB0aGUgbGF5b3V0LCBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXG4kdGFibGUtbGF5b3V0OiBhdXRvICFkZWZhdWx0O1xuJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGwgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5AbWl4aW4gdGFibGUge1xuICBiYWNrZ3JvdW5kOiAkdGFibGUtYmc7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci1zdHlsZSAkdGFibGUtYm9yZGVyLXNpemUgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi1ib3R0b207XG4gIHRhYmxlLWxheW91dDogJHRhYmxlLWxheW91dDtcblxuICBjYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtY2FwdGlvbi1iZztcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6ICR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iZztcblxuICAgIHRyIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmc7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3QtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1mb290LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHIge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtcm93LWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICR0YWJsZS1yb3ctZm9udC1zaXplO1xuICAgICAgcGFkZGluZzogJHRhYmxlLXJvdy1wYWRkaW5nO1xuICAgICAgdGV4dC1hbGlnbjogJGRlZmF1bHQtZmxvYXQ7XG4gICAgfVxuXG4gICAgJi5ldmVuLFxuICAgICYuYWx0LFxuICAgICY6bnRoLW9mLXR5cGUoZXZlbikgeyBiYWNrZ3JvdW5kOiAkdGFibGUtZXZlbi1yb3ctYmc7IH1cbiAgfVxuXG4gIHRoZWFkIHRyIHRoLFxuICB0Zm9vdCB0ciB0aCxcbiAgdGZvb3QgdHIgdGQsXG4gIHRib2R5IHRyIHRoLFxuICB0Ym9keSB0ciB0ZCxcbiAgdHIgdGQgeyBkaXNwbGF5OiAkdGFibGUtZGlzcGxheTsgbGluZS1oZWlnaHQ6ICR0YWJsZS1saW5lLWhlaWdodDsgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXMge1xuICAgIHRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSkgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHRhYnMtY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XG5cbiR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlcyB7XG4gICAgLnRhYnMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgZGQsXG4gICAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmc6ICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgKiAyO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBkZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkZCxcbiAgICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuY29udGFpbmVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgLnRhYnMge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgICYudmVydGljYWwge1xuICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0xcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vLWpzIHtcbiAgICAgIC50YWJzLWNvbnRlbnQgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfdGh1bWJzLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbHMuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4kdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0aHVtYi1ib3JkZXItd2lkdGg6IDRweCAhZGVmYXVsdDtcbiR0aHVtYi1ib3JkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJHRodW1iLWJveC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsMC41KSAhZGVmYXVsdDtcblxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbiR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGltYWdlIHRodW1ibmFpbCBzdHlsZXMuXG4vL1xuLy8gJGJvcmRlci13aWR0aCAtIFdpZHRoIG9mIGJvcmRlciBhcm91bmQgdGh1bWJuYWlsLiBEZWZhdWx0OiAkdGh1bWItYm9yZGVyLXdpZHRoLlxuLy8gJGJveC1zaGFkb3cgLSBCb3ggc2hhZG93IHRvIGFwcGx5IHRvIHRodW1ibmFpbC4gRGVmYXVsdDogJHRodW1iLWJveC1zaGFkb3cuXG4vLyAkYm94LXNoYWRvdy1ob3ZlciAtIEJveCBzaGFkb3cgdG8gYXBwbHkgb24gaG92ZXIuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyLlxuQG1peGluIHRodW1iKFxuICAkYm9yZGVyLXdpZHRoOiR0aHVtYi1ib3JkZXItd2lkdGgsXG4gICRib3gtc2hhZG93OiR0aHVtYi1ib3gtc2hhZG93LFxuICAkYm94LXNoYWRvdy1ob3ZlcjokdGh1bWItYm94LXNoYWRvdy1ob3Zlcikge1xuICBib3JkZXI6ICR0aHVtYi1ib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkdGh1bWItYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRodW1iXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBJbWFnZSBUaHVtYm5haWxzICovXG4gICAgLnRoIHtcbiAgICAgIEBpbmNsdWRlIHRodW1iO1xuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYWxsLCAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZCwgZWFzZS1vdXQpO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkdGh1bWItcmFkaXVzKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIFRvb2x0aXAgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbiAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKSAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuJHRvb2x0aXAtcGlwLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b29sdGlwXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzIHtcblxuICAgIC8qIFRvb2x0aXBzICovXG4gICAgLmhhcy10aXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3ItdHlwZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyO1xuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cblxuICAgICAgJi50aXAtbGVmdCxcbiAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIH1cblxuICAgIC50b29sdGlwIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJnO1xuICAgICAgY29sb3I6ICR0b29sdGlwLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDY7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuXG4gICAgICA+IC5udWIge1xuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkdG9vbHRpcC1waXAtc2l6ZTtcblxuICAgICAgICAmLnJ0bCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkdG9vbHRpcC1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgJi5yb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkdG9vbHRpcC1yb3VuZGVkKTtcbiAgICAgICAgPiAubnViIHtcbiAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbmVkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YXAtdG8tY2xvc2Uge1xuICAgICAgY29sb3I6ICR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xuICAgICAgLnRvb2x0aXAge1xuICAgICAgICA+IC5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgIH1cbiAgICAgICAgJi50aXAtdG9wPi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm90dG9tOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50aXAtbGVmdCxcbiAgICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgJi50aXAtbGVmdD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICAgIHJpZ2h0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJi50aXAtcmlnaHQ+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBsZWZ0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50b29sdGlwLnRpcC1vdmVycmlkZSB7XG4gICAgICAgID4gLm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGlwLWxlZnQ+Lm51YixcbiAgICAgICAgJi50aXAtcmlnaHQ+Lm51YiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdmb3Jtcyc7XG5cbi8vXG4vLyBUb3AgQmFyIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4kdG9wYmFyLWJnLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvciAhZGVmYXVsdDtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbiR0b3BiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdG9wYmFyLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcbiR0b3BiYXItbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWhvdmVyLWxpZ2h0bmVzczogLTEwJSAhZGVmYXVsdDsgLy8gRGFya2VuIGJ5IDEwJVxuJHRvcGJhci1saW5rLWJnOiAkdG9wYmFyLWJnICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWJhY2stbGluay1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi10b3A6IDdweCAhZGVmYXVsdDtcblxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcbiR0b3BiYXItZHJvcGRvd24tYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XG5cbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbCAhZGVmYXVsdDtcblxuLy8gVG9wIG1lbnUgaWNvbiBzdHlsZXNcbiR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbjogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvICRkZWZhdWx0LWZsb2F0IGZvciBhIGxlZnQgbWVudSBpY29uXG5cbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xuJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbi8vIFVzaW5nIHJlbS1jYWxjIGZvciB0aGUgYmVsb3cgYnJlYWtwb2ludCBjYXVzZXMgaXNzdWVzIHdpdGggdG9wIGJhclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbiR0b3BiYXItbWVkaWEtcXVlcnk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR0b3BiYXItYnJlYWtwb2ludCl9KVwiICFkZWZhdWx0O1xuXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xuJHRvcGJhci1pbnB1dC1oZWlnaHQ6IHJlbS1jYWxjKDI4KSAhZGVmYXVsdDtcblxuLy8gRGl2aWRlciBTdHlsZXNcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKSAhZGVmYXVsdDtcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG5cbi8vIFN0aWNreSBDbGFzc1xuJHRvcGJhci1zdGlja3ktY2xhc3M6IFwiLnN0aWNreVwiICFkZWZhdWx0O1xuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cbiR0b3BiYXItZHJvcGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIFxcMDBiYiA+PiB0ZXh0IGZyb20gZHJvcGRvd24gc3VibmF2aWdhdGlvbiBsaVxuXG4vLyBBY2Nlc3NpYmlsaXR5IG1peGlucyBmb3IgaGlkaW5nIGFuZCBzaG93aW5nIHRoZSBtZW51IGRyb3Bkb3duIGl0ZW1zXG5AbWl4aW4gdG9wYmFyLWhpZGUtZHJvcGRvd24ge1xuICAvLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiBieSBkZWZhdWx0LCBidXQgdmlzaWJsZSB3aGVuIGZvY3VzZWQuXG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gdG9wYmFyLXNob3ctZHJvcGRvd24ge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmYoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyAvLyBSZXNldCB0aGUgcG9zaXRpb24gZnJvbSBzdGF0aWMgdG8gYWJzb2x1dGVcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRvcC1iYXJcIikge1xuXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XG5cbiAgICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXG4gICAgLy8gVGhpcyBjbGFzcyBpcyBnZW5lcmF0ZWQgZGVzcGl0ZSB0aGUgdmFsdWUgb2YgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXNcbiAgICAvLyB0byBlbnN1cmUgd2lkdGggY2FsY3VsYXRpb25zIHdvcmsgY29ycmVjdGx5LlxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6ICR0b3BiYXItYnJlYWtwb2ludDtcbiAgICB9XG5cbiAgICAvKiBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBjb250YWluIHRvIGdyaWQgd2lkdGggKi9cbiAgICAuY29udGFpbi10by1ncmlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcblxuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gbWFrZSBpdCBzdGljayB0byB0aGUgdG9wXG4gICAgLmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJi5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIHlvdSBjYW4gc2Nyb2xsIHRoZSBtZW51IG9uIHNtYWxsIHNjcmVlbnNcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgei1pbmRleDogOTg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFRvcGJhciBHbG9iYWwgbGlzdCBTdHlsZXNcbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgZm9ybSxcbiAgICAgIGlucHV0LFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHRvcDogLTFweDtcblxuICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGUgQXJlYVxuICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBwLCBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLXRpdGxlLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNZW51IHRvZ2dsZSBidXR0b24gb24gc21hbGwgZGV2aWNlc1xuICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICN7JHRvcGJhci1tZW51LWljb24tcG9zaXRpb259OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0O1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGRpbmcgdGhlIGNsYXNzIFwibWVudS1pY29uXCIgd2lsbCBhZGQgdGhlIDMtbGluZSBpY29uIHBlb3BsZSBsb3ZlIGFuZCBhZG9yZS5cbiAgICAgICAgJi5tZW51LWljb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXIoMTZweCwgZmFsc2UsIDAsIDFweCwgNnB4LCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvciwgXCJcIiwgZmFsc2UpO1xuXG4gICAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtNThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvcjtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nICsgcmVtLWNhbGMoMjUpIDAgJHRvcGJhci1saW5rLXBhZGRpbmc7IC8vIHRvZG9cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoYW5nZSB0aGluZ3MgdXAgd2hlbiB0aGUgdG9wLWJhciBpcyBleHBhbmRlZFxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIH1cblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDtcblxuICAgICAgICAgICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAvLyBTaGgsIGRvbid0IHRlbGwsIGJ1dCBib3gtc2hhZG93cyBjcmVhdGUgdGhlIG1lbnUgaWNvbiA6KVxuICAgICAgICAgICAgICAvLyBDaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZSBiYXJzIHdoZW4gdGhlIG1lbnUgaXMgZXhwYW5kZWQsIHVzaW5nIGdpdmVuIHRoaWNrbmVzcyBmcm9tIGhhbWJ1cmdlcigpIGFib3ZlXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAwIDdweCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAwIDE0cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXhlcyBhbiBpc3N1ZSB3aXRoIERlc2t0b3AgYW5kIE1vYmlsZSBTYWZhcmkgd2hlcmUgZGVlcGx5LW5lc3RlZCBtZW51cyBkb24ndCBhcHBlYXJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duLm1vdmVkID4gLmRyb3Bkb3duLFxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgY2xpcDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGhpcyB3YXMgbmVlZGVkIGFzIHBhcmVudCB1bCdzIGhhZCBwYWRkaW5nLCBhbmQgdGhlIGNsaXA6IHdhcyBhbGxvd2luZyBjb250ZW50IHRvIHBlYWsgdGhyb3VnaFxuICAgICAgICAgICAgLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKSA+IHVsIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaWdodCBhbmQgTGVmdCBOYXZpZ2F0aW9uIHRoYXQgc3RhY2tlZCBieSBkZWZhdWx0XG4gICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oJGRlZmF1bHQtZmxvYXQsICR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZCk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5kaXZpZGVyLFxuICAgICAgW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICBib3JkZXItdG9wOiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgdWwgbGkge1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1iZztcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0b3BiYXItbGluay1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYnV0dG9uLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuXG4gICAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IpOyB9XG4gICAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAmOmhvdmVyOm5vdCguaGFzLWZvcm0pID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG5cbiAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBZGQgc29tZSBleHRyYSBwYWRkaW5nIGZvciBsaXN0IGl0ZW1zIGNvbnRhaW5zIGJ1dHRvbnNcbiAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGZvciBsaXN0IGl0ZW1zIHRoYXQgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiB0aGVtLlxuICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWFycm93cykge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCAkZGVmYXVsdC1mbG9hdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpIC0gMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1vdmVkIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGVsZW1lbnRzIGluc2lkZSBvZiBkcm9wZG93bnNcbiAgICAgIC5kcm9wZG93biB7XG4gICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50aXRsZSBoNSxcbiAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgIC8vIEJhY2sgQnV0dG9uXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1iYWNrLWxpbmstc2l6ZTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDpub25lOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5oYXMtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nIDJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbiAgICAvLyBUb3AgQmFyIHN0eWxlcyBpbnRlbmRlZCBmb3Igc2NyZWVuIHNpemVzIGFib3ZlIHRoZSBicmVha3BvaW50LlxuICAgIEBtZWRpYSAjeyR0b3BiYXItbWVkaWEtcXVlcnl9IHtcbiAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC50aXRsZS1hcmVhIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgICAgIC5uYW1lIGgxIGEsXG4gICAgICAgIC5uYW1lIGgyIGEsXG4gICAgICAgIC5uYW1lIGgzIGEsXG4gICAgICAgIC5uYW1lIGg0IGEsXG4gICAgICAgIC5uYW1lIGg1IGEsXG4gICAgICAgIC5uYW1lIGg2IGEgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzZWxlY3QsXG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgLy90b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTsvLyB0b2RvXG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1mb3JtID4gLmJ1dHRvbixcbiAgICAgICAgLmhhcy1mb3JtID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAvL3RvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpOyAvLyB0b2RvXG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obm9uZSwwLDApO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICBAaWYgJHRvcGJhci1hcnJvd3Mge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgLy9wYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nICsgJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmcgIWltcG9ydGFudDsgLy8gdG9kb1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCB0b3ApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpO1xuICAgICAgICAgICAgICAgIHRvcDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLm1vdmVkIHsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaG92ZXIsICYubm90LWNsaWNrOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGJiXCI7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuXG4gICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlY29uZCBMZXZlbCBEcm9wZG93bnNcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiB1bCA+IC5kaXZpZGVyLFxuICAgICAgICA+IHVsID4gW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uIG92ZXJyaWRlcyBmb3IgdWwucmlnaHQgYW5kIHVsLmxlZnRcbiAgICAgICAgLiN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBEZWdyYWRlIGdyYWNlZnVsbHkgd2hlbiBKYXZhc2NyaXB0IGlzIGRpc2FibGVkLiBEaXNwbGF5cyBkcm9wZG93biBhbmQgY2hhbmdlc1xuICAgICAgLy8gYmFja2dyb3VuZCAmIHRleHQgY29sb3Igb24gaG92ZXIuXG4gICAgICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6YWN0aXZlID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIElNUE9SVCBPTkNFXG4vLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cbiRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcblxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXG4gICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xuICAvLyBDaGVjayBpZiBhIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBsaXN0XG4gICRtb2R1bGVfaW5kZXg6IGluZGV4KCRtb2R1bGVzLCAkbmFtZSk7XG4gIEBpZiAoKCRtb2R1bGVfaW5kZXggPT0gbnVsbCkgb3IgKCRtb2R1bGVfaW5kZXggPT0gZmFsc2UpKSB7XG4gICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9cbi8vIEBmdW5jdGlvbnNcbi8vXG5cblxuLy8gUkFOR0VTXG4vLyBXZSB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGRlZmluZSByYW5nZXMgZm9yIHZhcmlvdXMgdGhpbmdzLCBsaWtlIG1lZGlhIHF1ZXJpZXMuXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcbn1cblxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDIpO1xufVxuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gVEVYVCBJTlBVVCBUWVBFU1xuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0ICkge1xuXG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdGV4dC1pbnB1dC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yXG4gICAgdGV4dGFyZWE7XG5cbiAgQGlmICR0eXBlcyA9PSBhbGwgeyAkdHlwZXM6ICRhbGwtdGV4dC1pbnB1dC10eXBlczsgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgQGlmICR0eXBlID09IHRleHRhcmVhIHtcbiAgICAgIEBpZiAkc2VsZWN0b3IgPT0gaW5wdXQge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0nKSwgY29tbWEpXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9I3skc2VsZWN0b3J9JyksIGNvbW1hKVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHNlbGVjdG9yfVt0eXBlPVwiI3skdHlwZX1cIl0nKSwgY29tbWEpXG4gICAgfVxuICB9XG5cbiAgICBAcmV0dXJuICRyZXR1cm47XG5cbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHZhbHVlOiBjYWxjKHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbSk7XG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBkYXRhKCRhdHRyKSB7XG4gIEBpZiAkbmFtZXNwYWNlIHtcbiAgICBAcmV0dXJuICdbZGF0YS0nICsgJG5hbWVzcGFjZSArICctJyArICRhdHRyICsgJ10nO1xuICB9XG5cbiAgQHJldHVybiAnW2RhdGEtJyArICRhdHRyICsgJ10nO1xufVxuXG4vLyBSRU0gQ0FMQ1xuXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcbi8vXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xuLy9cbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy9cbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxuLy9cbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XG4vL1xuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XG4vL1xuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblxuICAkcmVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbiAgfVxuICBAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG5cblxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkcmVtVmFsdWVzOiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKTtcblxuICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgMSkpICogMWVtOyB9XG5cbiAgJGVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xuICB9XG4gIEByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG5cbi8vIERlcHJlY2F0ZWQ6IE9MRCBFTSBDQUxDXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcbiAgQHJldHVybiBlbS1jYWxjKCR2YWx1ZXMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xuJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcbiRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kaDMtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNS1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcbiRoNi1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxuJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEEgZ2VuZXJhbCA8c21hbGw+IHN0eWxpbmdcbiRzbWFsbC1mb250LXNpemU6IDYwJSAhZGVmYXVsdDtcbiRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBwYXJhZ3JhcGhzXG4kcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3NcbiRjb2RlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG4kY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRjb2RlLWJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDcwJSkgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNvZGUtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxuJGhyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGhyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcbiRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtICFkZWZhdWx0O1xuJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xuJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQWNyb255bSBzdHlsZXNcbiRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cbiRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMikgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xzIHRoZSBwYWdlIG1hcmdpbiB3aGVuIHByaW50aW5nIHRoZSB3ZWJzaXRlXG4kcHJpbnQtbWFyZ2luOiAwLjM0aW4gIWRlZmF1bHQ7XG5cbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzIG5hbWVzXG4kYWxpZ24tY2xhc3MtbmFtZXM6XG4gIHNtYWxsLW9ubHksXG4gIHNtYWxsLFxuICBtZWRpdW0tb25seSxcbiAgbWVkaXVtLFxuICBsYXJnZS1vbmx5LFxuICBsYXJnZSxcbiAgeGxhcmdlLW9ubHksXG4gIHhsYXJnZSxcbiAgeHhsYXJnZS1vbmx5LFxuICB4eGxhcmdlO1xuXG4vLyBUZXh0IGFsaWdubWVudCBicmVha3BvaW50c1xuJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzOlxuICAkc21hbGwtb25seSxcbiAgJHNtYWxsLXVwLFxuICAkbWVkaXVtLW9ubHksXG4gICRtZWRpdW0tdXAsXG4gICRsYXJnZS1vbmx5LFxuICAkbGFyZ2UtdXAsXG4gICR4bGFyZ2Utb25seSxcbiAgJHhsYXJnZS11cCxcbiAgJHh4bGFyZ2Utb25seSxcbiAgJHh4bGFyZ2UtdXA7XG5cbi8vIEdlbmVyYXRlcyB0ZXh0IGFsaWduIGFuZCBqdXN0aWZ5IGNsYXNzZXNcbkBtaXhpbiBhbGlnbi1jbGFzc2Vze1xuICAudGV4dC1sZWZ0ICAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAudGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGFsaWduLWNsYXNzLW5hbWVzKSB7XG4gICAgQG1lZGlhICN7KG50aCgkYWxpZ24tY2xhc3MtYnJlYWtwb2ludHMsICRpKSl9IHtcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFR5cG9ncmFwaHkgUGxhY2Vob2xkZXJzXG4vL1xuXG4vLyBUaGVzZSB3aWxsIHRocm93IGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiB1c2VkIHdpdGhpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGxlYWQge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuQG1peGluIHN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xuICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XG59XG5AaW5jbHVkZSBleHBvcnRzKFwidHlwZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlcyB7XG4gICAgLy8gUmVzcG9uc2l2ZSBUZXh0IGFsaWdubWVudFxuICAgIEBpbmNsdWRlIGFsaWduLWNsYXNzZXM7XG5cbiAgICAvKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuICAgIGRpdixcbiAgICBkbCxcbiAgICBkdCxcbiAgICBkZCxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBsaSxcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwcmUsXG4gICAgZm9ybSxcbiAgICBwLFxuICAgIGJsb2NrcXVvdGUsXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBMaW5rIFN0eWxlcyAqL1xuICAgIGEge1xuICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICBcdHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHsgYm9yZGVyOm5vbmU7IH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcblxuICAgICAgJi5sZWFkIHsgQGluY2x1ZGUgbGVhZDsgfVxuXG4gICAgICAmIGFzaWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlO1xuICAgICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XG4gICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXRvcC1tYXJnaW47XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemUgLSAkaDEtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAtICRoMi1mb250LXJlZHVjdGlvbjsgfVxuICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gJGgzLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAkaDQtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZSAtICRoNS1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplIC0gJGg2LWZvbnQtcmVkdWN0aW9uOyB9XG5cbiAgICAuc3ViaGVhZGVyIHsgQGluY2x1ZGUgc3ViaGVhZGVyOyB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXI6ICRoci1ib3JkZXItc3R5bGUgJGhyLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJGhyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogJGhyLW1hcmdpbiAwICgkaHItbWFyZ2luIC0gcmVtLWNhbGMoJGhyLWJvcmRlci13aWR0aCkpO1xuICAgIH1cblxuICAgIC8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuICAgIGVtLFxuICAgIGkge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc3Ryb25nLFxuICAgIGIge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29kZS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItc3R5bGU6ICRjb2RlLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XG4gICAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIExpc3RzICovXG4gICAgdWwsXG4gICAgb2wsXG4gICAgZGwge1xuICAgICAgZm9udC1mYW1pbHk6ICRsaXN0LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZS1oZWlnaHQ7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICB9XG5cbiAgICAvKiBVbm9yZGVyZWQgTGlzdHMgKi9cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc3F1YXJlLFxuICAgICAgJi5jaXJjbGUsXG4gICAgICAmLmRpc2Mge1xuICAgICAgICBsaSB1bCB7IGxpc3Qtc3R5bGU6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgJi5zcXVhcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmNpcmNsZSB7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYuZGlzYyB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgfVxuXG4gICAgLyogT3JkZXJlZCBMaXN0cyAqL1xuICAgIG9sIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjtcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3RzIHdpdGhvdXQgYnVsbGV0c1xuICAgIC5uby1idWxsZXQge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ7XG4gICAgICBcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xuICAgIGRsIHtcbiAgICAgIGR0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDtcbiAgICAgIH1cbiAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOyB9XG4gICAgfVxuXG4gICAgLyogQWJicmV2aWF0aW9ucyAqL1xuICAgIGFiYnIsXG4gICAgYWNyb255bSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1oZWxwLXZhbHVlO1xuICAgIH1cbiAgICBhYmJyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgJlt0aXRsZV0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQmxvY2txdW90ZXMgKi9cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICAgY2l0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQge1xuICAgICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYmxvY2txdW90ZSxcbiAgICBibG9ja3F1b3RlIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICAvKiBNaWNyb2Zvcm1hdHMgKi9cbiAgICAudmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAkbWljcm9mb3JtYXQtbWFyZ2luO1xuICAgICAgYm9yZGVyOiAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoICRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGUgJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1wYWRkaW5nO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZm4ge1xuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZldmVudCB7XG4gICAgICAuc3VtbWFyeSB7IGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDsgfVxuXG4gICAgICBhYmJyIHtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uO1xuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDsgfVxuICAgICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cbiAgICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XG4gICAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuICAgICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cbiAgICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG4gICAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgaW5jbHVkZSB0aGVzZSBzdHlsZXMgaWYgeW91IHdhbnQgdGhlbS5cbiAgICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcbiAgICAgIC8qXG4gICAgICAgKiBQcmludCBzdHlsZXMuXG4gICAgICAgKlxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICAgICAgKiBDcmVkaXQgdG8gUGF1bCBJcmlzaCBhbmQgSFRNTDUgQm9pbGVycGxhdGUgKGh0bWw1Ym9pbGVycGxhdGUuY29tKVxuICAgICAgKi9cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICoge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG4gICAgICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG5cbiAgICAgICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgICAgIC5pciBhOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuXG4gICAgICAgIHByZSxcbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsdW1pbnVtO1xuICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvKiBoNWJwLmNvbS90ICovIH1cblxuICAgICAgICB0cixcbiAgICAgICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBAcGFnZSB7IG1hcmdpbjogJHByaW50LW1hcmdpbjsgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgICB3aWRvd3M6IDM7XG4gICAgICAgIH1cblxuICAgICAgICBoMixcbiAgICAgICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAndHlwZSc7XG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBWYXJpYWJsZXNcbiRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJiYXItYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xuJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgRGl2aWRlciBTdHlsZXNcbiR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xuJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuXG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBIZWFkZXJzXG4kdGFiYmFyLWhlYWRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtd2lkdGg6IHJlbS1jYWxjKDI1MCkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1oZWlnaHQ6IHJlbS1jYWxjKDMwMCkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZzogJG9pbCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnLWFjdGl2ZTogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBMaXN0IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogLjNyZW0gcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJnOiAkdHVhdGFyYSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW46MCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstcGFkZGluZzogcmVtLWNhbGMoMTAsIDE1KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iZywgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJnOiAjNDQ0ICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZzogc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmFjay1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXG4kdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcblxuJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDM1KSAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWljb24td2lkdGggIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24tcGFkZGluZzogMCAhZGVmYXVsdDtcblxuJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0OiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHggIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcDogNnB4ICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XG4kb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjIpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXNcbiRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCIgIWRlZmF1bHQ7XG5cblxuLy8gTUlYSU5TXG4vLyBSZW1vdmUgdHJhbnNpdGlvbiBmbGlja2VyIG9uIHBob25lc1xuQG1peGluIGtpbGwtZmxpY2tlciB7XG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDB4KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIEJhc2ljIHByb3BlcnRpZXMgZm9yIHRoZSBjb250ZW50IHdyYXBzXG5AbWl4aW4gd3JhcC1iYXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHR4LCAkdHkpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KVxufVxuXG4vLyBiYXNpYyBzdHlsZXMgZm9yIG9mZi1jYW52YXMgbWVudSBjb250YWluZXJcbkBtaXhpbiBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xuICB3aWR0aDogJG9mZi1jYW52YXMtd2lkdGg7XG4gIHotaW5kZXg6IDEwMDE7XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0O1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0O1xuICB9XG59XG5cbi8vIE9GRiBDQU5WQVMgV1JBUFxuLy8gV3JhcCB2aXNpYmxlIGNvbnRlbnQgYW5kIHByZXZlbnQgc2Nyb2xsIGJhcnNcbkBtaXhpbiBvZmYtY2FudmFzLXdyYXAge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJi5tb3ZlLXJpZ2h0LFxuICAmLm1vdmUtbGVmdCxcbiAgJi5tb3ZlLWJvdHRvbSxcbiAgJi5tb3ZlLXRvcCB7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxufVxuXG4vLyBJTk5FUiBXUkFQXG4vLyBNYWluIGNvbnRlbnQgYXJlYSB0aGF0IG1vdmVzIHRvIHJldmVhbCB0aGUgb2ZmLWNhbnZhcyBuYXZcbkBtaXhpbiBpbm5lci13cmFwIHtcbiAgLy8gQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAvLyByZW1vdmVkIGZvciBub3cgdGlsbCBjaHJvbWUgZml4ZXMgYmFja2ZhY2UgaXNzdWVcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LSN7JG1lbnUtc2xpZGV9O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XG4gIC1vLXRyYW5zaXRpb246IC1vLSN7JG1lbnUtc2xpZGV9O1xuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcbn1cblxuLy8gVEFCIEJBUlxuLy8gVGhpcyBpcyB0aGUgdGFiIGJhciBiYXNlXG5AbWl4aW4gdGFiLWJhci1iYXNlIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuXG4gIC8vIGJhc2Ugc3R5bGVzXG4gIGJhY2tncm91bmQ6ICR0YWJiYXItYmc7XG4gIGNvbG9yOiAkdGFiYmFyLWNvbG9yO1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJHRhYmJhci1saW5lLWhlaWdodDtcblxuICAvLyBtYWtlIHN1cmUgaXQncyBiZWxvdyB0aGUgLmV4aXQtb2ZmLWNhbnZhcyBsaW5rXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gei1pbmRleDogOTk5O1xuXG4gIC8vIFR5cG9ncmFwaHlcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICR0YWJiYXItaGVhZGVyLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFiYmFyLWhlYWRlci13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbjogJHRhYmJhci1oZWFkZXItbWFyZ2luO1xuICB9XG4gIGgxLCBoMiwgaDMsIGg0IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG59XG5cbi8vIFNNQUxMIFNFQ1RJT05TXG4vLyBUaGVzZSBhcmUgc21hbGwgc2VjdGlvbnMgb24gdGhlIGxlZnQgYW5kIHJpZ2h0IHRoYXQgY29udGFpbiB0aGUgb2ZmLWNhbnZhcyB0b2dnbGUgYnV0dG9ucztcbkBtaXhpbiB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb24pIHtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkdGFiYmFyLWljb24td2lkdGg7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG4gICAgLy8gYm94LXNoYWRvdzogMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAxMyUpO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI7XG4gICAgLy8gYm94LXNoYWRvdzogLTFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSk7XG4gICAgcmlnaHQ6MDtcbiAgfVxufVxuXG5AbWl4aW4gdGFiLWJhci1zZWN0aW9uIHtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgcGFkZGluZzogJHRhYmJhci1taWRkbGUtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgICAmLmxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgJi5yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cblxuICAvLyBzdGlsbCBuZWVkIHRvIG1ha2UgdGhlc2Ugbm9uLXByZXNlbnRhdGlvbmFsXG4gICYubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xuICB9XG4gICYucmlnaHQge1xuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgICByaWdodDogMDtcbiAgfVxuICAmLm1pZGRsZSB7XG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gIH1cbn1cblxuLy8gT0ZGIENBTlZBUyBMSVNUXG4vLyBUaGlzIGlzIHRoZSBsaXN0IG9mIGxpbmtzIGluIHRoZSBvZmYtY2FudmFzIG1lbnVcbkBtaXhpbiBvZmYtY2FudmFzLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG5cbiAgbGkge1xuICAgIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWxhYmVsLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A7XG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTtcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1saW5rLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctaG92ZXI7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBCQUNLIExJTktcbi8vIFRoaXMgaXMgYW4gb3ZlcmxheSB0aGF0LCB3aGVuIGNsaWNrZWQsIHdpbGwgdG9nZ2xlIG9mZiB0aGUgb2ZmIGNhbnZhcyBtZW51XG5AbWl4aW4gYmFjay1saW5rIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuXG4gIGJveC1zaGFkb3c6ICRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdztcbiAgY3Vyc29yOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjtcbiAgdHJhbnNpdGlvbjogJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uO1xuXG4gIC8vIGZpbGwgdGhlIHNjcmVlblxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyO1xuXG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIE9mZi1DYW52YXMgU3VibWVudSBDbGFzc2VzXG4vL1xuQG1peGluIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xuICBoZWlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDtcbiAgei1pbmRleDogMTAwMjtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLC0xMDAlLDApO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfSAgXG4gIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLSN7JG1lbnUtc2xpZGV9O1xuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XG5cbiAgLy9iYWNrIGJ1dHRvbiBzdHlsZSBsaWtlIGxhYmVsXG4gIC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1iZztcbiAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b207XG4gICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYmc7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b207XG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A7XG4gICAgfVxuXG4gICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XG4gICAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vTGVmdCBkb3VibGUgYW5nbGUgcXVvdGUgb3IgUmlnaHQgZG91YmxlIGFuZ2xlIHF1b3RlIGNoYXJzXG5AbWl4aW4gaWNvbi1kb3VibGUtYXJyb3dzICgkcG9zaXRpb24pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBjb250ZW50OiBcIlxcQUJcIjtcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIH1cbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBjb250ZW50OiBcIlxcQkJcIjtcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIH1cbiAgfVxuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8vXG4vLyBERUZBVUxUIENMQVNTRVNcbi8vXG5AaW5jbHVkZSBleHBvcnRzKFwib2ZmY2FudmFzXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzIHtcblxuICAgIC5vZmYtY2FudmFzLXdyYXAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXA7IH1cbiAgICAuaW5uZXItd3JhcCB7IEBpbmNsdWRlIGlubmVyLXdyYXA7IH1cblxuICAgIC50YWItYmFyIHsgQGluY2x1ZGUgdGFiLWJhci1iYXNlOyB9XG5cbiAgICAubGVmdC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogbGVmdCk7IH1cbiAgICAucmlnaHQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IHJpZ2h0KTsgfVxuXG4gICAgLnRhYi1iYXItc2VjdGlvbiB7IEBpbmNsdWRlIHRhYi1iYXItc2VjdGlvbjsgfVxuXG4gICAgLy8gTUVOVSBCVVRUT05cbiAgICAvLyBUaGlzIGlzIGEgbGl0dGxlIGJvbnVzLiBZb3UgZG9uJ3QgbmVlZCBpdCBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrLiBNaXhpbnMgdG8gYmUgd3JpdHRlbiBpbiB0aGUgZnV0dXJlLlxuICAgIC50YWItYmFyIC5tZW51LWljb24ge1xuICAgICAgY29sb3I6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICR0YWJiYXItbWVudS1pY29uLWhlaWdodDtcbiAgICAgIHBhZGRpbmc6ICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHdpZHRoOiAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDtcblxuICAgICAgLy8gQGluY2x1ZGUgZm9yIHRoZSBoYW1idXJnZXIgbWVudS1pY29uXG4gICAgICAvL1xuICAgICAgLy8gQXJndW1lbnRzIGFzIGZvbGxvd3M6ICgkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvcilcbiAgICAgIC8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLlxuICAgICAgLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0PSBGYWxzZVxuICAgICAgLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogPSBGYWxzZVxuICAgICAgLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzID0gMXB4XG4gICAgICAvLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwID0gNnB4XG4gICAgICAvLyAkY29sb3IgLSBpY29uIGNvbG9yIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yXG4gICAgICAvLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIHdoZW4gaG92ZXJlZCBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlclxuICAgICAgLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlXG4gICAgICBAaW5jbHVkZSBoYW1idXJnZXIoJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0LCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwLCAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJHRhYmJhci1tZW51LWljb24taG92ZXIsIHRydWUpXG4gICAgfVxuXG4gICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogbGVmdCk7IH1cbiAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogcmlnaHQpOyB9XG4gICAgLnRvcC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiB0b3ApOyB9XG4gICAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiBib3R0b20pOyB9XG5cbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgeyBAaW5jbHVkZSBvZmYtY2FudmFzLWxpc3Q7IH1cblxuXG4gICAgLy8gQU5JTUFUSU9OIENMQVNTRVNcbiAgICAvLyBUaGVzZSBjbGFzc2VzIGFyZSBhZGRlZCB3aXRoIEpTIGFuZCB0cmlnZ2VyIHRoZSBhY3R1YWwgYW5pbWF0aW9uLlxuICAgIC5tb3ZlLXJpZ2h0IHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgkb2ZmLWNhbnZhcy13aWR0aCwwLDApO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazt9XG4gICAgfVxuXG4gICAgLm1vdmUtbGVmdCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLSgkb2ZmLWNhbnZhcy13aWR0aCksMCwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAubW92ZS10b3Age1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsLSgkb2ZmLWNhbnZhcy1oZWlnaHQpLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5tb3ZlLWJvdHRvbSB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwoJG9mZi1jYW52YXMtaGVpZ2h0KSwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51LCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51LFxuICAgICAgLnRvcC1vZmYtY2FudmFzLW1lbnUsIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQge1xuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtdG9wIHtcbiAgICAgIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSB7XG4gICAgICAudG9wLW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuXG4gICAgLy8gT2xkZXIgYnJvd3NlcnNcbiAgICAubm8tY3NzdHJhbnNmb3JtcyB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBsZWZ0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IHJpZ2h0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxuICAgICAgLnRvcC1vZmYtY2FudmFzLW1lbnUgeyB0b3A6IC0oJG9mZi1jYW52YXMtaGVpZ2h0KTsgfVxuICAgICAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUgeyBib3R0b206IC0oJG9mZi1jYW52YXMtaGVpZ2h0KTsgfVxuXG4gICAgICAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAgeyByaWdodDogJG9mZi1jYW52YXMtd2lkdGg7IH1cbiAgICAgIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAgeyBsZWZ0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxuICAgICAgLm1vdmUtdG9wID4gLmlubmVyLXdyYXAgeyByaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0OyB9XG4gICAgICAubW92ZS1ib3R0b20gPiAuaW5uZXItd3JhcCB7IGxlZnQ6ICRvZmYtY2FudmFzLWhlaWdodDsgfVxuXG5cbiAgICB9XG5cbiAgICAubGVmdC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IGxlZnQpO1xuICAgICAgJi5tb3ZlLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAmLm1vdmUtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogdG9wKTtcbiAgICAgICYubW92ZS1ib3R0b20sICYub2ZmY2FudmFzLW92ZXJsYXAtYm90dG9tLCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwwJSwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogYm90dG9tKTtcbiAgICAgICYubW92ZS10b3AsICYub2ZmY2FudmFzLW92ZXJsYXAtdG9wLCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwwJSwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgIH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgIC5wcmludC1vbmx5LFxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucHJpbnQtb25seSxcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oaWRlLW9uLXByaW50LFxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG4gIH1cbn1cbiIsIi8vQGZvbnQtZmFjZSB7XG4vLyAgICBmb250LWZhbWlseTogJ0N1cHJ1bSc7XG4vLyAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgICBmb250LXdlaWdodDogNDAwO1xuLy8gICAgc3JjOiB1cmwoLi4vLi4vY3NzL2ZvbnRzL2N1cHJ1bS9jdXBydW0ud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4vL31cbi8vXG5cbi5mb250LWgxIHtcbiAgICBmb250LWZhbWlseTogJGN1cHJ1bS1mb250O1xuICAgIC8vZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vKlxuUkVERVNJR04uU0NTU1xuQ3VzdG9tIGZyYW1ld29yayAqL1xuLnRvb2x0aXAge1xuICAgIHotaW5kZXg6IDEwMDY7XG59XG5pbnB1dC5lcnJvciwgdGV4dGFyZWEuZXJyb3Ige1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5zcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5hbGVydC1ib3ggYS5idXR0b246dmlzaXRlZCB7dGV4dC1kZWNvcmF0aW9uOiBub25lO2NvbG9yOiAjMDAwMDAwO31cbi5hbGVydC1ib3ggYS5idXR0b24ge3RleHQtZGVjb3JhdGlvbjogbm9uZTt9XG5cblxuLnVzZXItYmxvY2stLWF2YXRhciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuXG4udXNlci1ibG9jay0tbWVzc2FnZS1pY29uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnVzZXItYmxvY2stLW1lc3NhZ2UtaWNvbjpob3ZlciB7XG4gIGNvbG9yOndoaXRlO1xufVxuZm9vdGVyIC5zZW5kLWVtYWlsIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4vKnVsIHsqL1xuLyptYXJnaW4tbGVmdDogM3JlbTsqL1xuLyp9Ki9cbi8qIGZyYW1ld29yayBFTkQgKi9cblxuLm1hcmdpbi1hZnRlci1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuLnJpZ2h0LWNoYXQsIC5yaWdodC1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuLnJpZ2h0LWNoYXQgLmNoYXQtbWVudSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OjA7XG4gIHdpZHRoOjIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2l0ZS1tYWluLWJnLWNvbG9yLCA3JSk7XG59XG5cbi5jaGF0X3dpbmRvdyB7XG4gIGhlaWdodDogNDAwcHg7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDAgNHB4O1xuLy8gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHNpdGUtbWFpbi1iZy1jb2xvciwgNyUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXG4gLnVzZXItbmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuICAgIC5idWJibGUge1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzaXRlLW1haW4tYmctY29sb3IsIDQlKTtcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLWNvbG9yIHNvbGlkIDFweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDlweCA3cHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJHNpdGUtbWFpbi1iZy1jb2xvciwgNCUpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgOXB4IDdweDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLyogQmxvY2sgQ2hhdCBFTkQgKi9cblxuLyoqXG4gKiBQcml2YXRlIENoYXQgQmVnaW5cbiAqIEBzZWUgaHR0cDovL2h0bWwtZ2VuZXJhdG9yLndlZWJseS5jb20vY3NzLXNwZWVjaC1idWJibGUtZ2VuZXJhdG9yLmh0bWxcbiAqL1xuLmNoYXQtcHJpdmF0ZSAudXNlcnMtbGlzdCwgLmNoYXQtcHJpdmF0ZSAuZnJpZW5kLWxpc3Qge1xuICBoZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAkYm9yZGVyLWNvbG9yIHNvbGlkIDFweDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLmNoYXQtcHJpdmF0ZSAudXNlcnMtbGlzdCAuY2xpY2stem9uZSB7XG4gIHdpZHRoOjgwJTtcbiAgaGVpZ2h0OiAzN3B4O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udXNlci1jaGF0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA3cHggOHB4IDAgMTBweDtcbn1cbi5jdXJyZW50LWNoYXQge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbn1cbi5jaGF0X3dpbmRvdyAubm9yZWFkeyBiYWNrZ3JvdW5kOnVybCgvcHVibGljL2ltZy9tYWluL2JnL25vcmVhZC5wbmcpIHJlcGVhdC14IGxlZnQgdG9wO31cblxuLmNoYXQtcHJpdmF0ZSAuZnJpZW5kLWxpc3Qge1xuICBib3JkZXItcmlnaHQ6ICBzb2xpZCAxcHg7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBwYWRkaW5nLXRvcDogM3B4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cbi8qIFByaXZhdGUgQ2hhdCBFTkQgKi9cblxuXG4vKk1FTlUgKi9cblxuLmNhYmluZXQtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uY2FiaW5ldC1iYXIgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jYWJpbmV0LWJhciBzcGFuIHttYXJnaW4tbGVmdDogLTVweDttYXJnaW4tcmlnaHQ6IDEycHh9XG4uY2FiaW5ldC1iYXIgPiAqIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBmbG9hdDogbGVmdDtcbn1cblxuXG4uY2FiaW5ldC1iYXIgPiAqOmhvdmVyLCAuY2FiaW5ldC1iYXIgLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yOyB9XG5cbi8qIE1lbnUgRU5EICovXG5cbi8q0JTQu9GPINCy0YHQv9C70YvQstCw0Y7RidC10Lkg0L/QvtC00YHQutCw0LfQutC4Ki9cbiNqcXVlcnktc3RpY2tlcnMge3otaW5kZXg6IDM7fVxuLnN0aWNrIGEuY2xvc2Uge2NvbG9yOiAjZmZmZmZmOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHBhZGRpbmctbGVmdDogMTBweDt9XG5cbiNsb2FkIHtcbiAgICBkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtcblxuICAgICYubGlzdCB7XG4gICAgICAgIHJpZ2h0OmF1dG87dG9wOjE1cHg7bGVmdDowO1xuICAgIH1cbn1cblxuI3NvY2tldFNlcnZlciB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMjAwMHB4O3RvcDotMjAwMHB4O31cblxuI3RvdXJuYW1lbnRUcmVlIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG5cbiAgICBkaXYgc3BhbiB7XG4gICAgICAgIHdpZHRoOjE1MHB4O2hlaWdodDozMHB4O2JvcmRlcjoxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICB9XG59XG5cbi51c2VyLWRhdGEtYWJvdXQge1xuICAgIHBhZGRpbmc6M3B4O3dpZHRoOjEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgICBib3JkZXI6MDttYXJnaW46NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXgtd2lkdGg6MjAwcHg7bWF4LWhlaWdodDoyMDBweDtcbiAgICB9XG59XG5cblxuLyogTGlzdHMgKi9cbi50YWJsZS1saXN0LW5ldyB0ZCB7cGFkZGluZzogMXB4O31cbi5nYW1lcy1ncm91cC1saXN0IHtwYWRkaW5nOiAzcHg7cGFkZGluZy1sZWZ0OjEycHg7YmFja2dyb3VuZDogI2Y1ZjVmNTtib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO2ZvbnQtc2l6ZTogMC45cmVtO2JvcmRlci10b3A6IG5vbmU7fVxudGFibGUudGFibGUtbGlzdCB7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOiAwO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt9XG50YWJsZS5nYW1lLXBhcmFtcyB7bWFyZ2luLWJvdHRvbTogMDsgd2lkdGg6IDEwMCU7fVxudGFibGUuZ2FtZS1wYXJhbXMgdGQge3BhZGRpbmc6IDVweCAycHg7fVxudHIubGlzdC1maXJzdC1saW5lIHRkIHtwYWRkaW5nOjFweCA1cHg7fVxudHIubGlzdC1taWRkbGUtbGluZSB0ZCB7cGFkZGluZzoxcHggNXB4O31cbnRyLmxpc3Qtc2Vjb25kLWxpbmUgdGQge3BhZGRpbmc6MXB4IDVweDt9XG50ci5saXN0LXNlY29uZC1saW5lIHtib3JkZXItYm90dG9tOiAycHggc29saWQgJGJvcmRlci1jb2xvcjt9XG4jY3VycmVudC1saXN0IHRkIC5idXR0b24ge21hcmdpbi1ib3R0b206IDA7cGFkZGluZzogMTBweDtjb2xvcjogI2ZmZmZmZjt9XG5cbi5idXR0b25zZXQge1xuICAgIC5vIHtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGVhY2ZmO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmNoZWNrZWQsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0ZWFjZmY7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMFxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFkM2ZmO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGVhY2ZmO1xuICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maXJzdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OztcbiAgICB9XG4gICAgLmxhc3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgICAmLnZlcnRpY2FsIC5vLmNoZWNrZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2lkZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgLm8ge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0ZWFjZmY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52ZXJ0aWNhbC53aWRlIC5vLmNoZWNrZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2lkZSAuZmlyc3QsXG4gICAgJi52ZXJ0aWNhbC53aWRlIC5vLmNoZWNrZWQuZmlyc3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcbiAgICB9XG4gICAgJi53aWRlIC5sYXN0LFxuICAgICYudmVydGljYWwud2lkZSAuby5jaGVja2VkLmxhc3Qge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbiAgICB9XG59XG5cblxuLnByb2dyZXNzLXN0YWNrZWQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuXG4gICAgLnByb2dyZXNzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOjJweCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgLm1ldGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZ3Jlc3Mud2FybmluZyAubWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7XG59XG5cblxuLnJvbGxpbmctZG91YmxlLWN1YmUge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMjFweCAyMXB4IDA7XG4gICAgYW5pbWF0aW9uOiBkb3VibGUtY3ViZS1yb2xsIDhzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkb3VibGUtY3ViZS1yb2xsIDhzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgZGl2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvZ2FtZV9yZWRlc2lnbi9uYXJkeS9jdWJlLWRvdWJsZS1mYWNlLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDFweCAjMDAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuXG4gICAgLmZhY2UxIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDIxcHgpO1xuICAgIH1cbiAgICAuZmFjZTIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgfVxuICAgIC5mYWNlMyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpIHJvdGF0ZVgoOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgfVxuICAgIC5mYWNlNCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgfVxuICAgIC5mYWNlNSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpIHJvdGF0ZVooOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgfVxuICAgIC5mYWNlNiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBkb3VibGUtY3ViZS1yb2xsIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xM2RlZykgcm90YXRlWSg0NWRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg3ODBkZWcpIHJvdGF0ZVkoLTIwMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xM2RlZykgcm90YXRlWSg0NWRlZyk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGRvdWJsZS1jdWJlLXJvbGwge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTEzZGVnKSByb3RhdGVZKDQ1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDc4MGRlZykgcm90YXRlWSgtMjAwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTEzZGVnKSByb3RhdGVZKDQ1ZGVnKTtcbiAgICB9XG59XG5cblxuXG4ucHJvbW8tYmFja2dyb3VuZCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLXBvc2l0aW9uO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLXBvc2l0aW9uO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1wb3NpdGlvbjtcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1wb3NpdGlvbjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSwgNTAlIDUwJSwgNTAlIDUwJTtcbn1cblxuLm5vLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnN0YXJzLXJldmlldyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDtcbiAgICAgICAgY29sb3I6ICNmZmUwMDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG59XG5cbi8vIENoYW1waW9uc2hpcFxuXG5cbi5oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZWUgMCUsICNmZmZmY2MgMTAwJSkgIWltcG9ydGFudDtcbn1cbi5oaWdobGlnaHQtY2xpY2tlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZjYyAwJSwgI2ZmZmZiYiAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4ud2lubmVyLFxuLndpbm5lci5oaWdobGlnaHQsXG4ud2lubmVyIC5vdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjRDlDQUY4IDAlLCAjQzBBNEZBIDEwMCUpICFpbXBvcnRhbnQ7XG59XG4ub3ZlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y0ZmZmNCAwJSwgI2U1ZmZlNSAxMDAlKSAhaW1wb3J0YW50O1xufVxuLmhpZ2hsaWdodCAub3Zlcixcbi5oaWdobGlnaHQub3ZlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZhYSAwJSwgI2Q1ZmZkNSAxMDAlKSAhaW1wb3J0YW50O1xufVxuLmV4dHJhLXJvdW5kLFxuLmhpZ2hsaWdodCAuZXh0cmEtcm91bmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmUxZDAgMCUsICNmZmViZTAgMTAwJSkgIWltcG9ydGFudDtcbn1cbnRyLnVzZXItc2NvcmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5vYmxpZ2F0ZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucGxheWVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBvaW50cy1zbWFsbCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1heC13aWR0aDogMTZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIH1cbiAgICAucG9pbnRzIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIH1cbn1cblxuXG5cbi5wbGFpbi1wcm9ncmVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzcHggMXB4O1xufVxuXG4ucGxhaW4tcHJvZ3Jlc3MgLm1ldGVyLWZ1bGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGluZm8tY29sb3I7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMXB4ICM3Nzc7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMXB4ICM3Nzc7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAjNzc3O1xufVxuLnBsYWluLXByb2dyZXNzIC5tZXRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgJi5zdWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgICYuYWxlcnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuICAgICYud2FybmluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3YXJuaW5nLWNvbG9yO1xuICAgIH1cbiAgICAmLmluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW5mby1jb2xvcjtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNCQVNFIFNUWUxFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5ib2R5IHtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuXG4gICAgJi5zaXRlLW1haW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2l0ZS1tYWluLWJnLWNvbG9yO1xuICAgIH1cbn1cblxubWFpbiB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG5cbi8qKlxuICogU3RpY2sgZm9vdGVyXG4gKi9cblxuaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuLmgxLFxuLmgyIHtcbiAgICBmb250LWZhbWlseTogJGN1cHJ1bS1mb250O1xuICAgIC8vZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2ICB7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItYm90dG9tLW1hcmdpbjtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcbn1cbi5oMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAtICRoMS1mb250LXJlZHVjdGlvbjsgfVxuLmgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplIC0gJGgyLWZvbnQtcmVkdWN0aW9uOyB9XG4uaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemUgLSAkaDMtZm9udC1yZWR1Y3Rpb247IH1cbi5oNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtICRoNC1mb250LXJlZHVjdGlvbjsgfVxuLmg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplIC0gJGg1LWZvbnQtcmVkdWN0aW9uOyB9XG4uaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemUgLSAkaDYtZm9udC1yZWR1Y3Rpb247IH1cblxuLnBhZ2Utd3JhcCB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAvKiBlcXVhbCB0byBmb290ZXIgaGVpZ2h0ICovXG4gICAgbWFyZ2luLWJvdHRvbTogLTE4M3B4O1xufVxuXG4ucGFnZS13cmFwOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2l0ZS1mb290ZXIsXG4ucGFnZS13cmFwOmFmdGVyIHtcbiAgICAvKiAucHVzaCBtdXN0IGJlIHRoZSBzYW1lIGhlaWdodCBhcyBmb290ZXIgKi9cbiAgICBoZWlnaHQ6IDE4M3B4O1xufVxuXG4uc2l0ZS1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cblxuXG50YWJsZSB7XG4gICAgdGFibGUtbGF5b3V0OiBhdXRvO1xufVxuXG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbnVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBhLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0hFQURFUiBOQVZJR0FUSU9OIEJBUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKipcbiAqIEZpeGVkIG5hdmlnYXRpb24gYmFyLlxuICogQWRkIHRoaXMgY2xhc3MgXCIubmF2LWJhci1maXhlZFwiIHRvIGJvZHkgdGFnIHRvIGZpeGVkIHRvcCBuYXZpZ2F0aW9uIGJsb2NrXG4gKi9cbi5uYXYtYmFyLWZpeGVkIHtcbiAgICAucGFnZS13cmFwIHtcbiAgICAgICAgLy9wYWRkaW5nLXRvcDogNjVweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLW5hdmlnYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwuMSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKTtcbiAgICB9XG5cbn1cblxuXG5cblxuXG5cblxuLyoqXG4gKiBMb2dvdHlwZSBzdHlsZVxuICovXG4udG9wLWJhciAubmFtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG5cblxuXG5cbi8qKlxuICogQWRkZWQgc2VwYXJhdG9yIGluIHJpZ2h0IG1lbnVcbiAqL1xuLmhlYWRlci1uYXZpZ2F0aW9uIHtcblxufVxuLnRvcC1iYXItc2VjdGlvbiB7XG5cbiAgICAucmlnaHQudXNlcixcbiAgICAubGVmdCB7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZXItYmxvY2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAudXNlci1ibG9jay0td3JhcCB7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIH1cblxuICAgIC5yZWdpc3RyYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLyoqXG4gKiBBdXRoIHVzZXIgYmxvY2tcbiAqL1xuLnVzZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1uYXZpZ2F0aW9uIHtcblxuICAgIC51c2VyLWJsb2NrLS1tZW51LWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAudXNlci1ibG9jay1hY3RpdmUtdXNlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZmxvYXQ6bm9uZTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgYS51c2VyLWJsb2NrLS1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2ZiMzdmO1xuXG4gICAgICAgICAgICAgICAgYS51c2VyLWJsb2NrLS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS51c2VyLWJsb2NrLS1saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250OiByZW0tY2FsYygxMikgJHZlcmRhbmEtZm9udDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M2YzZjNjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8qKlxuICogQ3VycmVuY3kgYW5kIGF2YXRhclxuICovXG4udXNlci1ibG9jay0tYXZhdGFyIHtcbiAgICBtYXJnaW46IDNweCAwIDAgMTBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIHdpZHRoOiA1OHB4O1xuICAgIGhlaWdodDogNThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gU3R5bGUgZm9yIHVzZXIgbmV3IG1lc3NhZ2UgaWNvblxuLnVzZXItYmxvY2stLW1lc3NhZ2UtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZmIzN2Y7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogMTVweDtcbn1cblxuLnVzZXItYmxvY2stLWN1cnJlbmN5LFxuLnVzZXItYmxvY2stLWF2YXRhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBpbWcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbn1cblxuLnVzZXItYmxvY2stLWN1cnJlbmN5LWNoaXBzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgY29sb3I6ICNmZjAwMDA7XG59XG5cbi51c2VyLWJsb2NrLS1jdXJyZW5jeS1tb25leSB7XG4gICAgY29sb3I6ICM2ZWE2MjI7XG59XG5cbi51c2VyLWJsb2NrLS1jdXJyZW5jeS1jaGlwcyxcbi51c2VyLWJsb2NrLS1jdXJyZW5jeS1tb25leSB7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4vKipcbiAqIERlc2NrdG9wIHdpZGVcbiAqL1xuQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXG4gIC8vIHVzZXIgZHJvcGRvd24gbWVudVxuICAgIC5jb2xsYXBzZSB7XG4gICAgLnVzZXItYmxvY2stLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICAgLnRvcC1iYXItc2VjdGlvbiB7XG5cbiAgICAgICAgLnVzZXItYmxvY2sge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAudXNlci1ibG9jay0td3JhcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAvLyBhZGQgdGhyZWUgbGluZSBpY29uXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICAgICAgICByaWdodDogMjEuMzMzMzNweDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDBweCAwIDFweCAjNjY2LDAgN3B4IDAgMXB4ICM2NjYsMCAxNHB4IDAgMXB4ICM2NjY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC51c2VyLWJsb2NrLS1hdmF0YXIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAudXNlci1ibG9jay0tbWVzc2FnZS1pY29uIHtcbiAgICAgICAgcmlnaHQ6IDQycHg7XG4gICAgfVxuXG4gICAgLnVzZXItYmxvY2stLWN1cnJlbmN5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW46IDdweCAyMHB4IDAgMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjYzRjNGM0O1xuICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51c2VyLWJsb2NrLS1jdXJyZW5jeSxcbiAgICAudXNlci1ibG9jay0tYXZhdGFyIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51c2VyLWJsb2NrLS1jdXJyZW5jeS1jaGlwcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgY29sb3I6ICNmZjAwMDA7XG4gICAgfVxuXG4gICAgLnVzZXItYmxvY2stLWN1cnJlbmN5LWNoaXBzLFxuICAgIC51c2VyLWJsb2NrLS1jdXJyZW5jeS1tb25leSB7XG4gICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI01FTlVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLyoqXG4gKiBPdmVycmlkZSBmb250IGZvciBvdXIgbWVudVxuICovXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYSB7XG4gICAgZm9udDogcmVtLWNhbGMoMTcpICRjdXBydW0tZm9udDtcbiAgICAvL2ZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuXG4vKipcbiAqIEFkZCBib3R0b20gYm9yZGVyIGZvciBhY3RpdmUgaXRlbSBvZiBtZW51XG4gKi9cblxuLnRvcC1iYXItc2VjdGlvbiB7XG5cbiAgICAubGVmdCB7XG5cbiAgICAgICAgLmFjdGl2ZSB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuXG5cblxuLyoqXG4gKiBSZWR1Y2UgcGFkZGluZyBmb3IgbG9nbyBhbmQgbWVudSBpdGVtcyBvbiA3NjhweFxuICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcblxuICAgIC8vIExvZ28sIHJlbW92ZSBtYXJnaW5cbiAgICAudGl0bGUtYXJlYSB7XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAudG9wLWJhci1zZWN0aW9uIHtcblxuICAgICAgICAubGVmdCB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLyogQ3VzdG9tIGZyYW1ld29yayAqL1xuLnRvb2x0aXAge1xuICAgIHotaW5kZXg6IDEwMDY7XG59XG5pbnB1dC5lcnJvciwgdGV4dGFyZWEuZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbnNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5sYWJlbCBzbWFsbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbiNjc3MtdGVzdHMge2Rpc3BsYXk6IG5vbmU7fVxuXG4uaGlkZGVuIHt2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDt9XG5cbmh0bWwubm8tc3ZnIHtcbiAgICAuc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbmh0bWwuc3ZnIHtcblxuICAgIC5ub24tc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zdmdpY29uLWZpc2hraSxcbiAgICAuc3ZnaWNvbi1tb25leSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvc3ZnL3Nwcml0ZS5zdmcpO1xuICAgIH1cblxuICAgIC5zdmdpY29uLWZpc2hraSxcbiAgICAuc3ZnaWNvbi1tb25leSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmLnRpbnkge1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC41LCAwLjUpOyAvKiBJRSA5ICovXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41LCAwLjUpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41LCAwLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN2Z2ljb24tZmlzaGtpIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwcHggLTY1cHg7IH1cbiAgICAuc3ZnaWNvbi1tb25leSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC02NXB4OyB9XG59XG5cbmh0bWwubm8tc3ZnIHtcblxuICAgIC5zdmdpY29uLWZpc2hraSxcbiAgICAuc3ZnaWNvbi1tb25leSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvc3ByaXRlLnBuZyk7XG4gICAgfVxuXG4gICAgLnN2Z2ljb24tZmlzaGtpLFxuICAgIC5zdmdpY29uLW1vbmV5IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICYudGlueSB7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjUsIDAuNSk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUsIDAuNSk7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUsIDAuNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3ZnaWNvbi1maXNoa2kgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTlweCAwcHg7IH1cbiAgICAuc3ZnaWNvbi1tb25leSB7IGJhY2tncm91bmQtcG9zaXRpb246IC01OXB4IC0yNHB4OyB9XG59XG5cbi5zdmdpY29uLWZpc2hraSArIG1hcmssIC5zdmdpY29uLWNoaXBzICsgbWFyaywgbWFyay5jaGlwcyB7XG4gICAgY29sb3I6ICNmZjAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3ZnaWNvbi1tb25leSArIG1hcmssIG1hcmsubW9uZXkge1xuICAgIGNvbG9yOiAjNmVhNjIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5cblxuLmVtb2ppIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTRweCAwIC04cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG59XG4uYnViYmxlIC5lbW9qaSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xufVxuLy8ubWVzc2FnZS1jaGF0XG5cbi8qKlxuICogQ2xlYXIgdGFibGUgY2xhc3NcbiAqL1xuXG50YWJsZS5ibGFuay10YWJsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICB0ciB7XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSxcbiAgICAgICAgJi5hbHQsXG4gICAgICAgICYuZXZlbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxufVxuXG4ucmVkIHtjb2xvcjogI2ZmMDAwMDt9XG4uaW1wb3J0YW50IHtjb2xvcjojQzY2MzAwO31cbi5wcmltYXJ5IHtjb2xvcjokcHJpbWFyeS1jb2xvcjt9XG4uZm9udC1wcmltYXJ5IHtjb2xvcjokcHJpbWFyeS1jb2xvcjt9XG4uZ29sZCB7Y29sb3I6I0M2NjMwMDt9XG4uaGludCB7Y29sb3I6Z3JheTt9XG4uaGludC5tZWRpdW0sIC5oaW50LW1lZGl1bSB7Y29sb3I6ICNiN2I3Yjc7fVxuLmhpbnQudGlueSwgLmhpbnQtdGlueSB7Y29sb3I6I2RkZGRkZDt9XG4uYmxhY2sge2NvbG9yOiMwMDAwMDA7fVxuLndoaXRlIHtjb2xvcjojZmZmO31cbi5mb250LXN1Y2Nlc3Mge2NvbG9yOiM0M2FjNmE7fVxuLmZvbnQteWVsbG93IHtjb2xvcjojZmZlMDA0O31cbi5mb250LXNoYWRvdyB7dGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMzMzM7fVxuLmZvbnQtbW9uZXkge2NvbG9yOiM2ZWE2MjI7fVxuLmZvbnQtd2FybmluZyB7Y29sb3I6I2ZmNjYwMDt9XG4uZm9udC1hbGVydCB7Y29sb3I6I2ZmMDAwMCAhaW1wb3J0YW50O31cbi5mb250LXNlY29uZGFyeSB7Y29sb3I6IzRlYWNmZjt9XG5pbWcuY2lyY2xlIHtib3JkZXItcmFkaXVzOiA1MCU7IG1heC13aWR0aDogMzBweDsgbWluLXdpZHRoOiAzMHB4O31cbmltZy5jaXJjbGUtYmlnIHtib3JkZXItcmFkaXVzOiA1MCU7IG1heC13aWR0aDogNjBweDsgbWluLXdpZHRoOiA2MHB4O31cbmltZy5jaXJjbGUtbGFyZ2Uge2JvcmRlci1yYWRpdXM6IDUwJTsgbWF4LXdpZHRoOiAxMjBweDsgbWluLXdpZHRoOiAxMjBweDt9XG5cblxuLmZvbnQtdGlueSB7Zm9udC1zaXplOiAwLjVyZW07fVxuLmZvbnQtc21hbGwge2ZvbnQtc2l6ZTogMC43NXJlbTt9XG4uZm9udC1ub3JtYWwge2ZvbnQtc2l6ZTogMXJlbTt9XG4uZm9udC1tZWRpdW0tMiB7Zm9udC1zaXplOiAxLjEyNXJlbTt9XG4uZm9udC1tZWRpdW0ge2ZvbnQtc2l6ZTogMS4yNXJlbTt9XG4uZm9udC1sYXJnZSB7Zm9udC1zaXplOiAxLjVyZW07fVxuLmZvbnQteGxhcmdlIHtmb250LXNpemU6IDJyZW07fVxuLmZvbnQteHhsYXJnZSB7Zm9udC1zaXplOiAyLjVyZW07fVxuLmZvbnQtaHVnZSB7Zm9udC1zaXplOiAzLjVyZW07IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxuXG4udzUwIHt3aWR0aDo1MHB4ICFpbXBvcnRhbnQ7fVxuLncxMDAge3dpZHRoOjEwMHB4ICFpbXBvcnRhbnQ7fVxuLncxMjAge3dpZHRoOjEyMHB4ICFpbXBvcnRhbnQ7fVxuLncxNTAge3dpZHRoOjE1MHB4ICFpbXBvcnRhbnQ7fVxuLncyMDAge3dpZHRoOjIwMHB4ICFpbXBvcnRhbnQ7fVxuLncyNTAge3dpZHRoOjI1MHB4ICFpbXBvcnRhbnQ7fVxuLnczMDAge3dpZHRoOjMwMHB4ICFpbXBvcnRhbnQ7fVxuLnczNTAge3dpZHRoOjM1MHB4ICFpbXBvcnRhbnQ7fVxuLnc0MDAge3dpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7fVxuLnc1MDAge3dpZHRoOjUwMHB4ICFpbXBvcnRhbnQ7fVxuLndGdWxsIHt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7fVxuc2VsZWN0IHt3aWR0aDogYXV0bztwYWRkaW5nLXJpZ2h0OiAyMHB4fVxuXG4ubm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ueC10cmFuc2xhdGUtOTAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTkwcHgpO1xufVxuXG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIC5oaWRlLW9uLXNtYWxsIHtkaXNwbGF5OiBub25lO31cbn1cblxuYS5leHRlcm5hbCB7YmFja2dyb3VuZDowIDYwJSB1cmwoJy9wdWJsaWMvaW1nL3BpYy9leHRlcm5hbC5wbmcnKSBuby1yZXBlYXQ7cGFkZGluZy1sZWZ0OjEycHg7fSAvKmljb24tbmV3dGFiKi9cblxuLmNhcmQtbWluaSwgLm1pbmkge1xuICAgIG1hcmdpbjowO1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDoxOHB4O1xuICAgIGhlaWdodDoyNXB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6dXJsKCcvcHVibGljL2ltZy9jYXJkcy9taW5pXzEuZ2lmJykgbm8tcmVwZWF0IC0yMzRweCAtMTAwcHg7XG59XG5cbi5taW5pX2NhcmRfcHJlZiB7bWFyZ2luOjA7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjMwcHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZDp1cmwoJy9wdWJsaWMvaW1nL2NhcmRzL21pbmlfcHJlZi5naWYnKSBuby1yZXBlYXQ7fVxuXG4jc2Nyb2xsdXAge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBvcGFjaXR5OjAuNTtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICByaWdodDo5MHB4O1xuICAgIGJvdHRvbTo0NXB4O1xuICAgIHotaW5kZXg6MztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICNzY3JvbGx1cCB7Ym90dG9tOiAtMTAwcHg7fVxufVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb25zIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbjogLTFweCAwIDAgMDsgfVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb25zIC5hdXRvY29tcGxldGUtc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7fVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb25zIGRpdiB7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb25zIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNSUpOyB9XG5cblxuXG4uZG91YmxpbmctY3ViZSB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNSB1cmwoL3B1YmxpYy9pbWcvbWFpbi9mbGF0L2dhbWVfcmVkZXNpZ24vbmFyZHkvY3ViZS1kb3VibGUtZmFjZS5wbmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMXB4ICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxuXG4gICAgJi5yb3VuZCB7XG4gICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cbn1cblxuLnJvbGxpbmctZG91YmxlLWN1YmUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAyMXB4IDIxcHggMDtcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDIxcHggMjFweCAwO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAyMXB4IDIxcHggMDtcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAyMXB4IDIxcHggMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAyMXB4IDIxcHggMDtcblxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAtby1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG5cbiAgICBkaXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvZ2FtZV9yZWRlc2lnbi9uYXJkeS9jdWJlLWRvdWJsZS1mYWNlLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDFweCAjMDAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuXG4gICAgLmZhY2UxIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigyMXB4KTtcblxuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLmZhY2UyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZykgdHJhbnNsYXRlWigyMXB4KTtcblxuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLmZhY2UzIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSByb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpIHJvdGF0ZVgoOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSByb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSByb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSByb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuXG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICAuZmFjZTQge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgcm90YXRlWig5MGRlZykgdHJhbnNsYXRlWigyMXB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG5cbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICAgIC5mYWNlNSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZykgcm90YXRlWig5MGRlZykgdHJhbnNsYXRlWigyMXB4KTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSByb3RhdGVaKDkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZykgcm90YXRlWig5MGRlZykgdHJhbnNsYXRlWigyMXB4KTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZykgcm90YXRlWig5MGRlZykgdHJhbnNsYXRlWigyMXB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZykgcm90YXRlWig5MGRlZykgdHJhbnNsYXRlWigyMXB4KTtcblxuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLmZhY2U2IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpIHRyYW5zbGF0ZVooMjFweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGVaKDIxcHgpO1xuXG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgICYuZmFjZWQwIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTE0NGRlZykgcm90YXRlWSgtOTlkZWcpIHNjYWxlWCgwLjUpIHNjYWxlWSgwLjUpIHNjYWxlWigwLjUpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCgtMTQ0ZGVnKSByb3RhdGVZKC05OWRlZykgc2NhbGVYKDAuNSkgc2NhbGVZKDAuNSkgc2NhbGVaKDAuNSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoLTE0NGRlZykgcm90YXRlWSgtOTlkZWcpIHNjYWxlWCgwLjUpIHNjYWxlWSgwLjUpIHNjYWxlWigwLjUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoLTE0NGRlZykgcm90YXRlWSgtOTlkZWcpIHNjYWxlWCgwLjUpIHNjYWxlWSgwLjUpIHNjYWxlWigwLjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE0NGRlZykgcm90YXRlWSgtOTlkZWcpIHNjYWxlWCgwLjUpIHNjYWxlWSgwLjUpIHNjYWxlWigwLjUpO1xuICAgIH1cbiAgICAmLmZhY2VkMSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigyMXB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigyMXB4KTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDIxcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMjFweCk7XG4gICAgfVxuICAgICYuZmFjZWQyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZyk7XG4gICAgfVxuICAgICYuZmFjZWQzIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHJvdGF0ZVooLTkwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHJvdGF0ZVooLTkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSg5MGRlZykgcm90YXRlWigtOTBkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHJvdGF0ZVooLTkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSByb3RhdGVaKC05MGRlZyk7XG4gICAgfVxuICAgICYuZmFjZWQ0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKDkwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKDkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooOTBkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgcm90YXRlWig5MGRlZyk7XG4gICAgfVxuICAgICYuZmFjZWQtMSxcbiAgICAmLmZhY2VkNSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSByb3RhdGVYKDkwZGVnKTtcbiAgICB9XG4gICAgJi5mYWNlZDYge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgfVxufVxuXG4uZ2FtZS1jdWJlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3B1YmxpYy9pbWcvbWFpbi9mbGF0L2dhbWVfcmVkZXNpZ24vbmFyZHkvc3ByaXRlLnBuZyk7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMHB4IDEwMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICYuZG91YmxlcyB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMS4yNSkgc2NhbGVZKDEuMjUpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGVYKDEuMjUpIHNjYWxlWSgxLjI1KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKDEuMjUpIHNjYWxlWSgxLjI1KTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoMS4yNSkgc2NhbGVZKDEuMjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjI1KSBzY2FsZVkoMS4yNSk7XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMC41KSBzY2FsZVkoMC41KTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgwLjUpIHNjYWxlWSgwLjUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMC41KSBzY2FsZVkoMC41KTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoMC41KSBzY2FsZVkoMC41KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KSBzY2FsZVkoMC41KTtcblxuICAgICAgICBtYXJnaW46IC03cHg7XG4gICAgfVxuICAgICYuaGFsZi11c2VkIHtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgIH1cbiAgICAmLnVzZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxufVxuXG4kY3ViZS1jb2xvcjogd2hpdGUtIHJlZC0gYmxhY2stO1xuXG5AZWFjaCAkY29sb3IgaW4gJGN1YmUtY29sb3Ige1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggNSB7XG4gICAgICAgIC5jdWJlLSN7JGNvbG9yfSN7JGkrMX0ge1xuICAgICAgICAgICAgQGlmICRjb2xvciA9PSB3aGl0ZS0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4ICogKCRpKSAtMzA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkY29sb3IgPT0gcmVkLSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggKiAoJGkpIC0zNDJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRjb2xvciA9PSBibGFjay0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4ICogKCRpKSAtMzc5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAjU1ZHIElDT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qKlxuICogU1ZHIGljb24gaW4gdXNlciBibG9jayBpbiBuYXYgYmFyXG4gKi9cblxuaHRtbC5zdmcge1xuXG4gICAgLnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3B1YmxpYy9pbWcvbWFpbi9mbGF0L3N2Zy9zcHJpdGUuc3ZnKTtcbiAgICB9XG5cbiAgICAudXNlci1ibG9jay0tY3VycmVuY3ktY2hpcHMge1xuXG4gICAgICAgIC5zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMHB4IC02NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVzZXItYmxvY2stLWN1cnJlbmN5LW1vbmV5IHtcblxuICAgICAgICAucyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51c2VyLWJsb2NrLS1jdXJyZW5jeS1jaGlwcyxcbiAgICAudXNlci1ibG9jay0tY3VycmVuY3ktbW9uZXkge1xuXG4gICAgICAgIC5zIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cblxuICAgIC8vIFVzZXIgbGluayBpdGVtIGljb25zXG4gICAgLnVzZXItYmxvY2stLW1lbnUtbGlzdCB7XG5cbiAgICAgICAgLnMge1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucy11c2VyLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzRweCAtOTFweDsgIH1cbiAgICAucy1tZXNzYWdlICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzRweCAtMTIxcHg7IH1cbiAgICAucy1hY2NvdW50ICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTUycHg7IH1cbiAgICAucy1leGl0ICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTgzcHg7IH1cblxuICAgIC51c2VyLWJsb2NrLS1tZW51LWl0ZW0ge1xuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAucy11c2VyLWljb24gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwM3B4IC05MXB4OyAgfVxuICAgICAgICAgICAgLnMtbWVzc2FnZSAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMDNweCAtMTIxcHg7IH1cbiAgICAgICAgICAgIC5zLWFjY291bnQgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAxcHggLTE1MnB4OyB9XG4gICAgICAgICAgICAucy1leGl0ICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMXB4IC0xODNweDsgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbi8qKlxuICogUE5HIGljb24gZmFsbGJhY2tcbiAqL1xuXG5odG1sLm5vLXN2ZyB7XG5cbiAgICAucyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvc3ByaXRlLnBuZyk7XG4gICAgfVxuXG4gICAgLy8gQ3VycmVuY3kgaWNvbnNcbiAgICAudXNlci1ibG9jay0tY3VycmVuY3ktY2hpcHMsXG4gICAgLnVzZXItYmxvY2stLWN1cnJlbmN5LW1vbmV5IHtcblxuICAgICAgICAucyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC51c2VyLWJsb2NrLS1jdXJyZW5jeS1jaGlwcyB7XG5cbiAgICAgICAgLnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU5cHggMHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAudXNlci1ibG9jay0tY3VycmVuY3ktbW9uZXkge1xuXG4gICAgICAgIC5zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01OXB4IC0yNHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBVc2VyIGxpbmsgaXRlbSBpY29uc1xuICAgIC51c2VyLWJsb2NrLS1tZW51LWxpc3Qge1xuXG4gICAgICAgIC5zIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnMtdXNlci1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAycHg7ICAgICB9XG4gICAgLnMtbWVzc2FnZSAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMHB4OyB9XG4gICAgLnMtYWNjb3VudCAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMnB4IC02MHB4OyB9XG4gICAgLnMtZXhpdCAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC05MXB4OyB9XG5cbiAgICAudXNlci1ibG9jay0tbWVudS1pdGVtIHtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5zLXVzZXItaWNvbiAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjVweCAycHg7ICAgfVxuICAgICAgICAgICAgLnMtbWVzc2FnZSAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNHB4IC0zMHB4OyB9XG4gICAgICAgICAgICAucy1hY2NvdW50ICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzcHggLTYwcHg7IH1cbiAgICAgICAgICAgIC5zLWV4aXQgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjJweCAtOTFweDsgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLnJlZmlsbC10aW1lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBhZGRpbmc6IDFweCA4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIHRvcDogOXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzkyZWMxNiA1MCUsICMwMDAwMDAgNTAlKTtcblxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMnB4ICMwMDA7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDFweCAycHggIzAwMDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggIzAwMDtcbn1cblxuXG5cblxuLyoqXG4gKiBHYW1lcyBpY29uc1xuICovXG5cbiNibG9jay1nYW1lcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbn1cblxuXG4vKiBDcmVhdGUgZ2FtZXMgbGluayBidXR0b25zICovXG4vLyBDcmVhdGUgYmFjayBjaXJjbGVcbi5nLWNpcmNsZSxcbi5nLWNpcmNsZS1pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uZy1jaXJjbGU6aG92ZXIge1xuICAgIGZpbGw6ICNGRkUwMDQ7XG5cbiAgICBzdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNGRkUwMDQ7XG4gICAgfVxuXG4gICAgLmctY2lyY2xlLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZFMDA0O1xuICAgIH1cblxufVxuXG4uZy1jaXJjbGUge1xuICAgIGJvcmRlcjogMjhweCBzb2xpZCAkYmctY2lyY2xlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jaXJjbGU7XG4gICAgd2lkdGg6IDE3MHB4O1xuICAgIGhlaWdodDogMTcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuLmctY2lyY2xlLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY2lyY2xlO1xuICAgIHdpZHRoOiAxNDJweDtcbiAgICBoZWlnaHQ6IDE0MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIGxlZnQ6IC0xNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbmh0bWwuc3ZnIHtcblxuICAgIC5nLWljb24tbmFyZHksXG4gICAgLmctaWNvbi10eXNhY2hhLFxuICAgIC5nLWljb24tdHJ5bmthLFxuICAgIC5nLWljb24ta296ZWwsXG4gICAgLmctaWNvbi1wZXJmLFxuICAgIC5nLWljb24tc2hhc2hraSB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmctaWNvbi1kdXJhayxcbiAgICAuZy1pY29uLXNoYWhtYXR5IHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmctdGl0bGUge1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBoZWlnaHQ6IDYxcHg7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxLCBoMiwgaDUge1xuICAgICAgICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkY3VwcnVtLWZvbnQ7XG4gICAgICAgIC8vZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICBzcGFuLFxuICAgIC5zaG93LWRlc2Mge1xuICAgICAgICBmb250OiBub3JtYWwgMTBweCBWZXJkYW5hLCBzZXJpZjtcbiAgICB9XG5cbn1cblxuXG4vKipcbiAqIEhpZGUgaWNvbnMgb24gbW9iaWxlIGRldmljZVxuICovXG5cbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG5cbiAgICAuZy10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLmctY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgfVxuXG4gICAgLmctY2lyY2xlLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbn1cblxuXG5cblxuXG4vKipcbiAqIEljb25zIGluIGZvb3RlclxuICovXG5cbmZvb3RlciB7XG5cbiAgICAucyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG5cbn1cblxuLnMtc3ZnLWZiICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjQwcHg7ICB9XG4ucy1zdmctdmsgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMXB4IC0yNDBweDsgIH1cbi5zLXN2Zy10d2l0dGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg1cHggLTI0MHB4OyAgfVxuLnMtc3ZnLWcgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIycHggLTI0MHB4OyB9XG5cbi5zZW5kLWVtYWlsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODI4MjgyO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgd2lkdGg6IDE1NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5zLnMtbWVzc2FnZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MHB4IC0xMTdweDtcbiAgICB9XG59XG5cbi5jaGFuZ2UtbGFuZ3VhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUgeyBjb2xvcjogd2hlYXQ7fVxuXG4gICAgaW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZW51LWNoYW5nZS1sYW5ndWFnZSB7XG4gICAgaW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmltZ1tzcmM9XCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDd0FBQUFBQVFBQkFBQT1cIl0ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xufVxuaW1nLm1pbmkyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5pbWcubWluaTJbc3JjPVwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ3dBQUFBQUFRQUJBQUE9XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAjUEFHRSBCTE9DS1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI1lFTExPVyBQTEFZIEJVVFRPTlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmJsb2NrLXBsYXktYnV0dG9uLS15ZWxsb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYjFiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNWQ1MjAxO1xuICAgIHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLmRldGFjaGVkIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxufVxuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICNCTE9DSyBCRU5FRklUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmJsb2NrLWJlbmVmaXRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxufVxuXG4vKipcbiAqIEhpZGUgc2Vjb25kIGFuZCB0aGlyZCBpdGVtXG4gKi9cbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG5cbiAgICAuYmxvY2stYmVuZWZpdHMge1xuXG4gICAgICAgIC50YWItdGl0bGUge1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSwgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI0dBTUVTIERFU0NSSVBUSU9OIEJMT0NLXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4jZ2FtZS1kZXNjcmlwdGlvbnMge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zaG93LWRlc2Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbn1cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAjR1JFRU4gUExBWSBCVVRUT05cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5ibG9jay1wbGF5LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoL3B1YmxpYy9pbWcvbWFpbi9mbGF0L2JnLXBsYXkuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMDAwO1xuXG4gICAgLnBsYXktYnV0dG9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2Nik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wbGF5LWRlc2Mge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5iZWdpbi1nYW1lLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvcGxheS1idXR0b24ucG5nKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MjJweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5wbGF5LWJ1dHRvbi10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmJlZ2luLWdhbWUtYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZmIzN2Y7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI1VTRVIgQ09NTUVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250OiByZW0tY2FsYygzMCkgJGN1cHJ1bS1mb250O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbjogMzBweCAwIDQwcHggMDtcbiAgICAvL2ZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLmJsb2NrLWNvbW1lbnRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbn1cblxuLmJsb2NrLWNvbW1lbnQtLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ibG9jay1jb21tZW50LS1hdmF0YXIge1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJsb2NrLWNvbW1lbnQtLWFjaGlldmVtZW50IHtcblxuICAgIGltZyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgcmlnaHQ6IC03cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgvcHVibGljL2ltZy9tYWluL2ZsYXQvYXZhdGFyLXByby5wbmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgfVxufVxuXG4uYmxvY2stY29tbWVudC0tYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogIzAwMDtcblxuICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6IzQ4NDg0ODtcbiAgICB9XG5cbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgc3JjOnVybCgnLi4vLi4vY3NzL2ZvbnRzL2ljb21vb24uZW90P2t1eWYxeScpO1xuICAgIHNyYzp1cmwoJy4uLy4uL2Nzcy9mb250cy9pY29tb29uLmVvdD8jaWVmaXhrdXlmMXknKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi8uLi9jc3MvZm9udHMvaWNvbW9vbi53b2ZmP2t1eWYxeScpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vLi4vY3NzL2ZvbnRzL2ljb21vb24udHRmP2t1eWYxeScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJy4uLy4uL2Nzcy9mb250cy9pY29tb29uLnN2Zz9rdXlmMXkjL2Nzcy9mb250cy9pY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tZHJpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjY1wiO1xufVxuLmljb24tY29mZmVlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3Y2RcIjtcbn1cbi5pY29uLW11ZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2NlXCI7XG59XG4uaWNvbi1pY2VjcmVhbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2NmXCI7XG59XG4uaWNvbi1jYWtlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZDBcIjtcbn1cbi5pY29uLXdhdGNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZDFcIjtcbn1cbi5pY29uLWNocm9ub21ldGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZDJcIjtcbn1cbi5pY29uLWFsYXJtY2xvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkM1wiO1xufVxuLmljb24tdGltZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2Q0XCI7XG59XG4uaWNvbi1nYW1lcGFkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZDVcIjtcbn1cbi5pY29uLXNhbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkNlwiO1xufVxuLmljb24tbWVkYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkN1wiO1xufVxuLmljb24tbWVkYWwyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZDhcIjtcbn1cbi5pY29uLWJhdG1hbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2Q5XCI7XG59XG4uaWNvbi1za2VsZXRvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2RhXCI7XG59XG4uaWNvbi1iYWc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkYlwiO1xufVxuLmljb24tbW9uZXliYWc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkY1wiO1xufVxuLmljb24tc3RhdHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkZFwiO1xufVxuLmljb24tc3RhdHMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZGVcIjtcbn1cbi5pY29uLWRpc2NvdXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdkZlwiO1xufVxuLmljb24tZG9sbGFyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZTBcIjtcbn1cbi5pY29uLWRvbGxhcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdlMVwiO1xufVxuLmljb24tY29pbnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdlMlwiO1xufVxuLmljb24tcGlnOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZTNcIjtcbn1cbi5pY29uLWJvb2ttYXJrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZTRcIjtcbn1cbi5pY29uLWVudmVsb3BlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZTVcIjtcbn1cbi5pY29uLWJhZGdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ZTZcIjtcbn1cbi5pY29uLWJhZGdlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2U3XCI7XG59XG4uaWNvbi10aWNrZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdlOFwiO1xufVxuLmljb24tdW5pRTYwNjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjA2XCI7XG59XG4uaWNvbi11bmlFNjA1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDVcIjtcbn1cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MTFcIjtcbn1cbi5pY29uLWdvb2dsZXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjNlwiO1xufVxuLmljb24tbWFpbHJ1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzdcIjtcbn1cbi5pY29uLW9rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzhcIjtcbn1cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjOVwiO1xufVxuLmljb24tdmtjb206YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjYVwiO1xufVxuLmljb24teWFuZGV4OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3Y2JcIjtcbn1cbi5pY29uLWVudmVsb3BlLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwM1wiO1xufVxuLmljb24tdGgtbGFyZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuLmljb24tdGg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwYVwiO1xufVxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuLmljb24tcG93ZXItb2ZmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMTFcIjtcbn1cbi5pY29uLXNpZ25hbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDEyXCI7XG59XG4uaWNvbi1nZWFyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMTNcIjtcbn1cbi5pY29uLXRyYXNoLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAxNFwiO1xufVxuLmljb24tY2xvY2stbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XG59XG4uaWNvbi1pbmJveDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XG59XG4uaWNvbi1yZWZyZXNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbi5pY29uLWZsYWc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAyNFwiO1xufVxuLmljb24tcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NVwiO1xufVxuLmljb24tbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTZcIjtcbn1cbi5pY29uLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG4uaWNvbi1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1OFwiO1xufVxuLmljb24tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTlcIjtcbn1cbi5pY29uLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbi5pY29uLWNyb3NzaGFpcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1YlwiO1xufVxuLmljb24tY2hlY2stY2lyY2xlLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuLmljb24tYmFuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWVcIjtcbn1cbi5pY29uLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG4uaWNvbi1yYW5kb206YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3NFwiO1xufVxuLmljb24tY29tbWVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG4uaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cbi5pY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG4uaWNvbi1iYXItY2hhcnQtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XG59XG4uaWNvbi1rZXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuLmljb24tZ2VhcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuLmljb24tY29tbWVudHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA4NlwiO1xufVxuLmljb24tZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDhlXCI7XG59XG4uaWNvbi10cm9waHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA5MVwiO1xufVxuLmljb24tY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBhM1wiO1xufVxuLmljb24tY3V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbi5pY29uLXBhcGVyY2xpcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG4uaWNvbi1zYXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbi5pY29uLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG4uaWNvbi1uYXZpY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbi5pY29uLW1vbmV5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cbi5pY29uLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmljb24tdW5zb3J0ZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkY1wiO1xufVxuLmljb24tc29ydC1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZGRcIjtcbn1cbi5pY29uLXNvcnQtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuLmljb24tZW52ZWxvcGUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbi5pY29uLXJvdGF0ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZTJcIjtcbn1cbi5pY29uLWRhc2hib2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XG59XG4uaWNvbi1jb21tZW50LW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBlNVwiO1xufVxuLmljb24tY29tbWVudHMtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGU2XCI7XG59XG4uaWNvbi1mbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG4uaWNvbi11c2VyLW1kOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbi5pY29uLWxhcHRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA5XCI7XG59XG4uaWNvbi10YWJsZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEwYVwiO1xufVxuLmljb24tbW9iaWxlLXBob25lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMGJcIjtcbn1cbi5pY29uLWNpcmNsZS1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMGNcIjtcbn1cbi5pY29uLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuLmljb24tcXVvdGUtcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xufVxuLmljb24tc3Bpbm5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTEwXCI7XG59XG4uaWNvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuLmljb24tZ2FtZXBhZDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuLmljb24tZmxhZy1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMWRcIjtcbn1cbi5pY29uLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMWVcIjtcbn1cbi5pY29uLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMjRcIjtcbn1cbi5pY29uLXF1ZXN0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMjhcIjtcbn1cbi5pY29uLWluZm86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEyOVwiO1xufVxuLmljb24tZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuLmljb24tcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMmVcIjtcbn1cbi5pY29uLXNoaWVsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XG59XG4uaWNvbi1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XG59XG4uaWNvbi1yb2NrZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEzNVwiO1xufVxuLmljb24tYW5jaG9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cbi5pY29uLWJ1bGxzZXllOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cbi5pY29uLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuLmljb24tZWxsaXBzaXMtdjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTQyXCI7XG59XG4uaWNvbi1sZXZlbC1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxNDlcIjtcbn1cbi5pY29uLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG4uaWNvbi1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbi5pY29uLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxNGNcIjtcbn1cbi5pY29uLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG4uaWNvbi1jb21wYXNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cbi5pY29uLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTYwXCI7XG59XG4uaWNvbi1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbi5pY29uLXRodW1icy11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG4uaWNvbi10aHVtYnMtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTY1XCI7XG59XG4uaWNvbi1sb25nLWFycm93LWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE3NVwiO1xufVxuLmljb24tZmVtYWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxODJcIjtcbn1cbi5pY29uLW1hbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE4M1wiO1xufVxuLmljb24tc3VuLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE4NVwiO1xufVxuLmljb24tbW9vbi1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbi5pY29uLWRvdC1jaXJjbGUtbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG4uaWNvbi1pbnN0aXR1dGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTljXCI7XG59XG4uaWNvbi1tb3J0YXItYm9hcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuLmljb24tY2hpbGQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFhZVwiO1xufVxuLmljb24tcGF3OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxYjBcIjtcbn1cbi5pY29uLWN1YmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFiMlwiO1xufVxuLmljb24tY3ViZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFiM1wiO1xufVxuLmljb24tcmVjeWNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWI4XCI7XG59XG4uaWNvbi10cmVlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxYmJcIjtcbn1cbi5pY29uLWRhdGFiYXNlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cbi5pY29uLWxpZmUtYm91eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWNkXCI7XG59XG4uaWNvbi13ZWNoYXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFkN1wiO1xufVxuLmljb24tc2VuZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uaWNvbi1zZW5kLW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFkOVwiO1xufVxuLmljb24taGlzdG9yeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWRhXCI7XG59XG4uaWNvbi1jaXJjbGUtdGhpbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG59XG4uaWNvbi1zbGlkZXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cbi5pY29uLXNoYXJlLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWUwXCI7XG59XG4uaWNvbi1ib21iOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxZTJcIjtcbn1cbi5pY29uLWhvbWUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MGVcIjtcbn1cbi5pY29uLWhvbWUzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MTJcIjtcbn1cbi5pY29uLWhvbWUyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XG59XG4uaWNvbi1vZmZpY2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwN1wiO1xufVxuLmljb24tbmV3c3BhcGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MTNcIjtcbn1cbi5pY29uLXBlbmNpbDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYxNFwiO1xufVxuLmljb24tcGVuY2lsMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjE1XCI7XG59XG4uaWNvbi1xdWlsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjE2XCI7XG59XG4uaWNvbi1wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYxN1wiO1xufVxuLmljb24tYmxvZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XG59XG4uaWNvbi1kcm9wbGV0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MThcIjtcbn1cbi5pY29uLXBhaW50LWZvcm1hdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjE5XCI7XG59XG4uaWNvbi1pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjFhXCI7XG59XG4uaWNvbi1pbWFnZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYxYlwiO1xufVxuLmljb24taW1hZ2VzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MWNcIjtcbn1cbi5pY29uLWNhbWVyYTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYxZFwiO1xufVxuLmljb24tbXVzaWMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MWVcIjtcbn1cbi5pY29uLWhlYWRwaG9uZXMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MWZcIjtcbn1cbi5pY29uLXBsYXkyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MjBcIjtcbn1cbi5pY29uLWZpbG0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MjFcIjtcbn1cbi5pY29uLWNhbWVyYTIyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDlcIjtcbn1cbi5pY29uLWRpY2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwYVwiO1xufVxuLmljb24tcGFjbWFuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MjJcIjtcbn1cbi5pY29uLXNwYWRlczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjIzXCI7XG59XG4uaWNvbi1jbHViczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjI0XCI7XG59XG4uaWNvbi1kaWFtb25kczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjI1XCI7XG59XG4uaWNvbi1wYXduOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MjZcIjtcbn1cbi5pY29uLWJ1bGxob3JuMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjI3XCI7XG59XG4uaWNvbi1jb25uZWN0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MjhcIjtcbn1cbi5pY29uLXBvZGNhc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYyOVwiO1xufVxuLmljb24tZmVlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjJhXCI7XG59XG4uaWNvbi1ib29rMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjJiXCI7XG59XG4uaWNvbi1ib29rczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjJjXCI7XG59XG4uaWNvbi1saWJyYXJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MmRcIjtcbn1cbi5pY29uLWZpbGUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MmVcIjtcbn1cbi5pY29uLXByb2ZpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYyZlwiO1xufVxuLmljb24tZmlsZTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzMFwiO1xufVxuLmljb24tZmlsZTQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzMVwiO1xufVxuLmljb24tZmlsZTU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzMlwiO1xufVxuLmljb24tY29weTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzM1wiO1xufVxuLmljb24tY29weTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzNFwiO1xufVxuLmljb24tY29weTQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzNVwiO1xufVxuLmljb24tcGFzdGUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MzZcIjtcbn1cbi5pY29uLXBhc3RlMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjM3XCI7XG59XG4uaWNvbi1wYXN0ZTQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzOFwiO1xufVxuLmljb24tc3RhY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzOVwiO1xufVxuLmljb24tZm9sZGVyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjNhXCI7XG59XG4uaWNvbi1mb2xkZXItb3BlbjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYzYlwiO1xufVxuLmljb24tdGFnMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjNjXCI7XG59XG4uaWNvbi10YWdzMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjNkXCI7XG59XG4uaWNvbi1iYXJjb2RlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjNlXCI7XG59XG4uaWNvbi1xcmNvZGUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2M2ZcIjtcbn1cbi5pY29uLXRpY2tldDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY0MFwiO1xufVxuLmljb24tY2FydDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjQxXCI7XG59XG4uaWNvbi1jYXJ0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjQyXCI7XG59XG4uaWNvbi1jYXJ0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjQzXCI7XG59XG4uaWNvbi1jb2luOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NDRcIjtcbn1cbi5pY29uLWNyZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjQ1XCI7XG59XG4uaWNvbi1jYWxjdWxhdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY0NlwiO1xufVxuLmljb24tc3VwcG9ydDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjQ3XCI7XG59XG4uaWNvbi1waG9uZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY0OFwiO1xufVxuLmljb24tcGhvbmUtaGFuZy11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjQ5XCI7XG59XG4uaWNvbi1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY0YVwiO1xufVxuLmljb24tbm90ZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY0YlwiO1xufVxuLmljb24tZW52ZWxvcGUyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjRjXCI7XG59XG4uaWNvbi1wdXNocGluOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NGRcIjtcbn1cbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NGVcIjtcbn1cbi5pY29uLWxvY2F0aW9uMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjRmXCI7XG59XG4uaWNvbi1jb21wYXNzMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjUwXCI7XG59XG4uaWNvbi1tYXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY1MVwiO1xufVxuLmljb24tbWFwMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjUyXCI7XG59XG4uaWNvbi1oaXN0b3J5MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjUzXCI7XG59XG4uaWNvbi1jbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjU0XCI7XG59XG4uaWNvbi1jbG9jazI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY1NVwiO1xufVxuLmljb24tYWxhcm06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY1NlwiO1xufVxuLmljb24tYWxhcm0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NTdcIjtcbn1cbi5pY29uLWJlbGwyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NThcIjtcbn1cbi5pY29uLXN0b3B3YXRjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjU5XCI7XG59XG4uaWNvbi1jYWxlbmRhcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY1YVwiO1xufVxuLmljb24tY2FsZW5kYXIzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NWJcIjtcbn1cbi5pY29uLXByaW50MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjVjXCI7XG59XG4uaWNvbi1rZXlib2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjVkXCI7XG59XG4uaWNvbi1zY3JlZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY1ZVwiO1xufVxuLmljb24tbGFwdG9wMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjVmXCI7XG59XG4uaWNvbi1tb2JpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY2MFwiO1xufVxuLmljb24tbW9iaWxlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjYxXCI7XG59XG4uaWNvbi10YWJsZXQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NjJcIjtcbn1cbi5pY29uLXR2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NjNcIjtcbn1cbi5pY29uLWNhYmluZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY2NFwiO1xufVxuLmljb24tZHJhd2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NjVcIjtcbn1cbi5pY29uLWRyYXdlcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY2NlwiO1xufVxuLmljb24tZHJhd2VyMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjY3XCI7XG59XG4uaWNvbi1ib3gtYWRkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NjhcIjtcbn1cbi5pY29uLWJveC1yZW1vdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY2OVwiO1xufVxuLmljb24tZG93bmxvYWQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NmFcIjtcbn1cbi5pY29uLXVwbG9hZDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY2YlwiO1xufVxuLmljb24tZGlzazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjZjXCI7XG59XG4uaWNvbi1zdG9yYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NmRcIjtcbn1cbi5pY29uLXVuZG86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY2ZVwiO1xufVxuLmljb24tcmVkbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjZmXCI7XG59XG4uaWNvbi1mbGlwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzBcIjtcbn1cbi5pY29uLWZsaXAyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzFcIjtcbn1cbi5pY29uLXVuZG8yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzJcIjtcbn1cbi5pY29uLXJlZG8yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzNcIjtcbn1cbi5pY29uLWZvcndhcmQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzRcIjtcbn1cbi5pY29uLXJlcGx5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzVcIjtcbn1cbi5pY29uLWJ1YmJsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjc2XCI7XG59XG4uaWNvbi1idWJibGVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzdcIjtcbn1cbi5pY29uLWJ1YmJsZXMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2NzhcIjtcbn1cbi5pY29uLWJ1YmJsZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY3OVwiO1xufVxuLmljb24tYnViYmxlczM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY3YVwiO1xufVxuLmljb24tYnViYmxlczQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY3YlwiO1xufVxuLmljb24tdXNlcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY3Y1wiO1xufVxuLmljb24tdXNlcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY3ZFwiO1xufVxuLmljb24tdXNlcjM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY3ZVwiO1xufVxuLmljb24tdXNlcnMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2N2ZcIjtcbn1cbi5pY29uLXVzZXI0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ODBcIjtcbn1cbi5pY29uLXVzZXI1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ODFcIjtcbn1cbi5pY29uLXF1b3Rlcy1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ODJcIjtcbn1cbi5pY29uLWJ1c3k6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4M1wiO1xufVxuLmljb24tc3Bpbm5lcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4NFwiO1xufVxuLmljb24tc3Bpbm5lcjM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4NVwiO1xufVxuLmljb24tc3Bpbm5lcjQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4NlwiO1xufVxuLmljb24tc3Bpbm5lcjU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4N1wiO1xufVxuLmljb24tc3Bpbm5lcjY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4OFwiO1xufVxuLmljb24tc3Bpbm5lcjc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4OVwiO1xufVxuLmljb24tYmlub2N1bGFyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjhhXCI7XG59XG4uaWNvbi1zZWFyY2gyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OGJcIjtcbn1cbi5pY29uLXpvb21pbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjhjXCI7XG59XG4uaWNvbi16b29tb3V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OGRcIjtcbn1cbi5pY29uLWV4cGFuZDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4ZVwiO1xufVxuLmljb24tY29udHJhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY4ZlwiO1xufVxuLmljb24tZXhwYW5kMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjkwXCI7XG59XG4uaWNvbi1jb250cmFjdDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY5MVwiO1xufVxuLmljb24ta2V5MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjkyXCI7XG59XG4uaWNvbi1rZXkzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OTNcIjtcbn1cbi5pY29uLWxvY2syOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OTRcIjtcbn1cbi5pY29uLWxvY2szOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OTVcIjtcbn1cbi5pY29uLXVubG9ja2VkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OTZcIjtcbn1cbi5pY29uLXdyZW5jaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY5N1wiO1xufVxuLmljb24tc2V0dGluZ3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY5OFwiO1xufVxuLmljb24tZXF1YWxpemVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OTlcIjtcbn1cbi5pY29uLWNvZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjlhXCI7XG59XG4uaWNvbi1jb2dzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OWJcIjtcbn1cbi5pY29uLWNvZzI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY5Y1wiO1xufVxuLmljb24taGFtbWVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OWRcIjtcbn1cbi5pY29uLXdhbmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTY5ZVwiO1xufVxuLmljb24tYWlkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2OWZcIjtcbn1cbi5pY29uLWJ1ZzI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZhMFwiO1xufVxuLmljb24tcGllOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YTFcIjtcbn1cbi5pY29uLXN0YXRzMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmEyXCI7XG59XG4uaWNvbi1iYXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YTNcIjtcbn1cbi5pY29uLWJhcnMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YTRcIjtcbn1cbi5pY29uLWdpZnQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YTVcIjtcbn1cbi5pY29uLXRyb3BoeTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZhNlwiO1xufVxuLmljb24tZ2xhc3MyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YTdcIjtcbn1cbi5pY29uLW11ZzI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZhOFwiO1xufVxuLmljb24tZm9vZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmE5XCI7XG59XG4uaWNvbi1sZWFmMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmFhXCI7XG59XG4uaWNvbi1yb2NrZXQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YWJcIjtcbn1cbi5pY29uLW1ldGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YWNcIjtcbn1cbi5pY29uLW1ldGVyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmFkXCI7XG59XG4uaWNvbi1kYXNoYm9hcmQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YWVcIjtcbn1cbi5pY29uLWhhbW1lcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZhZlwiO1xufVxuLmljb24tZmlyZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiMFwiO1xufVxuLmljb24tbGFiOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YjFcIjtcbn1cbi5pY29uLW1hZ25ldDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiMlwiO1xufVxuLmljb24tcmVtb3ZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YjNcIjtcbn1cbi5pY29uLXJlbW92ZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiNFwiO1xufVxuLmljb24tYnJpZWZjYXNlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmI1XCI7XG59XG4uaWNvbi1haXJwbGFuZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmI2XCI7XG59XG4uaWNvbi10cnVjazI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiN1wiO1xufVxuLmljb24tcm9hZDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiOFwiO1xufVxuLmljb24tYWNjZXNzaWJpbGl0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmI5XCI7XG59XG4uaWNvbi10YXJnZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiYVwiO1xufVxuLmljb24tc2hpZWxkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmJiXCI7XG59XG4uaWNvbi1saWdodG5pbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiY1wiO1xufVxuLmljb24tc3dpdGNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YmRcIjtcbn1cbi5pY29uLXBvd2VyY29yZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmJlXCI7XG59XG4uaWNvbi1zaWdudXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZiZlwiO1xufVxuLmljb24tbGlzdDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjMFwiO1xufVxuLmljb24tbGlzdDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjMVwiO1xufVxuLmljb24tbnVtYmVyZWQtbGlzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmMyXCI7XG59XG4uaWNvbi1tZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YzNcIjtcbn1cbi5pY29uLW1lbnUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YzRcIjtcbn1cbi5pY29uLXRyZWUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2YzVcIjtcbn1cbi5pY29uLWNsb3VkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmM2XCI7XG59XG4uaWNvbi1jbG91ZC1kb3dubG9hZDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjN1wiO1xufVxuLmljb24tY2xvdWQtdXBsb2FkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmM4XCI7XG59XG4uaWNvbi1kb3dubG9hZDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjOVwiO1xufVxuLmljb24tdXBsb2FkMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmNhXCI7XG59XG4uaWNvbi1kb3dubG9hZDQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjYlwiO1xufVxuLmljb24tdXBsb2FkNDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmNjXCI7XG59XG4uaWNvbi1nbG9iZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjZFwiO1xufVxuLmljb24tZWFydGg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZjZVwiO1xufVxuLmljb24tbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmNmXCI7XG59XG4uaWNvbi1mbGFnMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmQwXCI7XG59XG4uaWNvbi1hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZDFcIjtcbn1cbi5pY29uLWV5ZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkMlwiO1xufVxuLmljb24tZXllLWJsb2NrZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkM1wiO1xufVxuLmljb24tZXllMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmQ0XCI7XG59XG4uaWNvbi1ib29rbWFyazI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkNVwiO1xufVxuLmljb24tYm9va21hcmtzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZDZcIjtcbn1cbi5pY29uLWJyaWdodG5lc3MtbWVkaXVtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZDdcIjtcbn1cbi5pY29uLWJyaWdodG5lc3MtY29udHJhc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkOFwiO1xufVxuLmljb24tY29udHJhc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkOVwiO1xufVxuLmljb24tc3RhcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkYVwiO1xufVxuLmljb24tc3RhcjM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkYlwiO1xufVxuLmljb24tc3RhcjQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkY1wiO1xufVxuLmljb24taGVhcnQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZGRcIjtcbn1cbi5pY29uLWhlYXJ0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmRlXCI7XG59XG4uaWNvbi1oZWFydC1icm9rZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZkZlwiO1xufVxuLmljb24tdGh1bWJzLXVwMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmUwXCI7XG59XG4uaWNvbi10aHVtYnMtdXAzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZTFcIjtcbn1cbi5pY29uLWhhcHB5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZTJcIjtcbn1cbi5pY29uLWhhcHB5MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmUzXCI7XG59XG4uaWNvbi1zbWlsZXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZlNFwiO1xufVxuLmljb24tc21pbGV5MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmU1XCI7XG59XG4uaWNvbi10b25ndWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZlNlwiO1xufVxuLmljb24tdG9uZ3VlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmU3XCI7XG59XG4uaWNvbi1zYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZlOFwiO1xufVxuLmljb24tc2FkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmU5XCI7XG59XG4uaWNvbi13aW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZWFcIjtcbn1cbi5pY29uLXdpbmsyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZWJcIjtcbn1cbi5pY29uLWdyaW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZlY1wiO1xufVxuLmljb24tZ3JpbjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZlZFwiO1xufVxuLmljb24tY29vbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmVlXCI7XG59XG4uaWNvbi1jb29sMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmVmXCI7XG59XG4uaWNvbi1hbmdyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmYwXCI7XG59XG4uaWNvbi1hbmdyeTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZmMVwiO1xufVxuLmljb24tZXZpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmYyXCI7XG59XG4uaWNvbi1ldmlsMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmYzXCI7XG59XG4uaWNvbi1zaG9ja2VkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZjRcIjtcbn1cbi5pY29uLXNob2NrZWQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZjVcIjtcbn1cbi5pY29uLWNvbmZ1c2VkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZjZcIjtcbn1cbi5pY29uLWNvbmZ1c2VkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmY3XCI7XG59XG4uaWNvbi1uZXV0cmFsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZjhcIjtcbn1cbi5pY29uLW5ldXRyYWwyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZjlcIjtcbn1cbi5pY29uLXdvbmRlcmluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmZhXCI7XG59XG4uaWNvbi13b25kZXJpbmcyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZmJcIjtcbn1cbi5pY29uLXBvaW50LXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZmNcIjtcbn1cbi5pY29uLXBvaW50LXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2ZmRcIjtcbn1cbi5pY29uLXBvaW50LWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTZmZVwiO1xufVxuLmljb24tcG9pbnQtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNmZmXCI7XG59XG4uaWNvbi13YXJuaW5nMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzAwXCI7XG59XG4uaWNvbi1ub3RpZmljYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcwMVwiO1xufVxuLmljb24tcXVlc3Rpb24yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MDJcIjtcbn1cbi5pY29uLWluZm8yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MDNcIjtcbn1cbi5pY29uLWluZm8zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MDRcIjtcbn1cbi5pY29uLWJsb2NrZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcwNVwiO1xufVxuLmljb24tY2FuY2VsLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzA2XCI7XG59XG4uaWNvbi1jaGVja21hcmstY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MDdcIjtcbn1cbi5pY29uLXNwYW06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcwOFwiO1xufVxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcwOVwiO1xufVxuLmljb24tY2hlY2ttYXJrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MGFcIjtcbn1cbi5pY29uLWNoZWNrbWFyazI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcwYlwiO1xufVxuLmljb24tc3BlbGwtY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcwY1wiO1xufVxuLmljb24tbWludXMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MGRcIjtcbn1cbi5pY29uLXBsdXMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MGVcIjtcbn1cbi5pY29uLWVudGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MGZcIjtcbn1cbi5pY29uLWV4aXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxMFwiO1xufVxuLmljb24tcGxheTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxMVwiO1xufVxuLmljb24tcGF1c2UyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MTJcIjtcbn1cbi5pY29uLXN0b3AyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MTNcIjtcbn1cbi5pY29uLWJhY2t3YXJkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzE0XCI7XG59XG4uaWNvbi1mb3J3YXJkMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzE1XCI7XG59XG4uaWNvbi1wbGF5NDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzE2XCI7XG59XG4uaWNvbi1wYXVzZTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxN1wiO1xufVxuLmljb24tc3RvcDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxOFwiO1xufVxuLmljb24tYmFja3dhcmQzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MTlcIjtcbn1cbi5pY29uLWZvcndhcmQ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MWFcIjtcbn1cbi5pY29uLWZpcnN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MWJcIjtcbn1cbi5pY29uLWxhc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxY1wiO1xufVxuLmljb24tcHJldmlvdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxZFwiO1xufVxuLmljb24tbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzFlXCI7XG59XG4uaWNvbi1lamVjdDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcxZlwiO1xufVxuLmljb24tdm9sdW1lLWhpZ2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcyMFwiO1xufVxuLmljb24tdm9sdW1lLW1lZGl1bTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzIxXCI7XG59XG4uaWNvbi12b2x1bWUtbG93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MjJcIjtcbn1cbi5pY29uLXZvbHVtZS1tdXRlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjBiXCI7XG59XG4uaWNvbi12b2x1bWUtbXV0ZTIyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MGNcIjtcbn1cbi5pY29uLXZvbHVtZS1pbmNyZWFzZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzIzXCI7XG59XG4uaWNvbi12b2x1bWUtZGVjcmVhc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcyNFwiO1xufVxuLmljb24tbG9vcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzI1XCI7XG59XG4uaWNvbi1sb29wMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzI2XCI7XG59XG4uaWNvbi1sb29wMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzI3XCI7XG59XG4uaWNvbi1zaHVmZmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MjhcIjtcbn1cbi5pY29uLWFycm93LXVwLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcyOVwiO1xufVxuLmljb24tYXJyb3ctdXAyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MmFcIjtcbn1cbi5pY29uLWFycm93LXVwLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MmJcIjtcbn1cbi5pY29uLWFycm93LXJpZ2h0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDFcIjtcbn1cbi5pY29uLWFycm93LWRvd24yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MGRcIjtcbn1cbi5pY29uLWFycm93LWRvd24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzJjXCI7XG59XG4uaWNvbi1hcnJvdy1sZWZ0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzJkXCI7XG59XG4uaWNvbi1hcnJvdy11cC1sZWZ0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzJlXCI7XG59XG4uaWNvbi1hcnJvdy11cDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTcyZlwiO1xufVxuLmljb24tYXJyb3ctdXAtcmlnaHQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MzBcIjtcbn1cbi5pY29uLWFycm93LXJpZ2h0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzMxXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duLXJpZ2h0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzMyXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzMzXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duLWxlZnQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3MzRcIjtcbn1cbi5pY29uLWFycm93LWxlZnQyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjAyXCI7XG59XG4uaWNvbi1hcnJvdy11cC1sZWZ0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjAzXCI7XG59XG4uaWNvbi1hcnJvdy11cDIyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MGZcIjtcbn1cbi5pY29uLWFycm93LXVwLXJpZ2h0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzM1XCI7XG59XG4uaWNvbi1hcnJvdy1yaWdodDQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTczNlwiO1xufVxuLmljb24tYXJyb3ctZG93bi1yaWdodDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTczN1wiO1xufVxuLmljb24tYXJyb3ctZG93bjQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTczOFwiO1xufVxuLmljb24tYXJyb3ctZG93bi1sZWZ0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzM5XCI7XG59XG4uaWNvbi1hcnJvdy1sZWZ0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzNhXCI7XG59XG4uaWNvbi10YWI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTczYlwiO1xufVxuLmljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzNjXCI7XG59XG4uaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTczZFwiO1xufVxuLmljb24tY2hlY2tib3gtcGFydGlhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzNlXCI7XG59XG4uaWNvbi1yYWRpby1jaGVja2VkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MTBcIjtcbn1cbi5pY29uLXJhZGlvLXVuY2hlY2tlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzNmXCI7XG59XG4uaWNvbi1jcm9wMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzQwXCI7XG59XG4uaWNvbi1zY2lzc29yczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzQxXCI7XG59XG4uaWNvbi1maWx0ZXIyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NDJcIjtcbn1cbi5pY29uLWZpbHRlcjM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc0M1wiO1xufVxuLmljb24tZm9udDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc0NFwiO1xufVxuLmljb24tdGV4dC1oZWlnaHQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NDVcIjtcbn1cbi5pY29uLXRleHQtd2lkdGgyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NDZcIjtcbn1cbi5pY29uLWJvbGQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NDdcIjtcbn1cbi5pY29uLXVuZGVybGluZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc0OFwiO1xufVxuLmljb24taXRhbGljMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzQ5XCI7XG59XG4uaWNvbi1zdHJpa2V0aHJvdWdoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzRhXCI7XG59XG4uaWNvbi1vbWVnYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzRiXCI7XG59XG4uaWNvbi1zaWdtYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzRjXCI7XG59XG4uaWNvbi10YWJsZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc0ZFwiO1xufVxuLmljb24tdGFibGUzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NGVcIjtcbn1cbi5pY29uLWluc2VydC10ZW1wbGF0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzRmXCI7XG59XG4uaWNvbi1waWxjcm93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTBcIjtcbn1cbi5pY29uLWxlZnR0b3JpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTFcIjtcbn1cbi5pY29uLXJpZ2h0dG9sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTJcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTNcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1jZW50ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc1NFwiO1xufVxuLmljb24tcGFyYWdyYXBoLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTVcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1qdXN0aWZ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTZcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1sZWZ0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzU3XCI7XG59XG4uaWNvbi1wYXJhZ3JhcGgtY2VudGVyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzU4XCI7XG59XG4uaWNvbi1wYXJhZ3JhcGgtcmlnaHQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NTlcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1qdXN0aWZ5MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzVhXCI7XG59XG4uaWNvbi1pbmRlbnQtaW5jcmVhc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc1YlwiO1xufVxuLmljb24taW5kZW50LWRlY3JlYXNlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NWNcIjtcbn1cbi5pY29uLW5ld3RhYjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzVkXCI7XG59XG4uaWNvbi1lbWJlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzVlXCI7XG59XG4uaWNvbi1jb2RlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzVmXCI7XG59XG4uaWNvbi1jb25zb2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NjBcIjtcbn1cbi5pY29uLXNoYXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NjFcIjtcbn1cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2MlwiO1xufVxuLmljb24tbWFpbDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2M1wiO1xufVxuLmljb24tbWFpbDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2NFwiO1xufVxuLmljb24tbWFpbDQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2NVwiO1xufVxuLmljb24tZ29vZ2xlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzY2XCI7XG59XG4uaWNvbi1nb29nbGVwbHVzMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzY3XCI7XG59XG4uaWNvbi1nb29nbGVwbHVzMjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2OFwiO1xufVxuLmljb24tZ29vZ2xlcGx1czM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2OVwiO1xufVxuLmljb24tZ29vZ2xlcGx1czQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2YVwiO1xufVxuLmljb24tZ29vZ2xlLWRyaXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NmJcIjtcbn1cbi5pY29uLWZhY2Vib29rMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzZjXCI7XG59XG4uaWNvbi1mYWNlYm9vazM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2ZFwiO1xufVxuLmljb24tZmFjZWJvb2s0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NmVcIjtcbn1cbi5pY29uLWluc3RhZ3JhbTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc2ZlwiO1xufVxuLmljb24tdHdpdHRlcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3MFwiO1xufVxuLmljb24tdHdpdHRlcjM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3MVwiO1xufVxuLmljb24tdHdpdHRlcjQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3MlwiO1xufVxuLmljb24tZmVlZDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3M1wiO1xufVxuLmljb24tZmVlZDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3NFwiO1xufVxuLmljb24tZmVlZDQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3NVwiO1xufVxuLmljb24teW91dHViZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3NlwiO1xufVxuLmljb24teW91dHViZTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3N1wiO1xufVxuLmljb24tdmltZW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3OFwiO1xufVxuLmljb24tdmltZW8yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3NzlcIjtcbn1cbi5pY29uLXZpbWVvMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzdhXCI7XG59XG4uaWNvbi1sYW55cmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3YlwiO1xufVxuLmljb24tZmxpY2tyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzdjXCI7XG59XG4uaWNvbi1mbGlja3IzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3N2RcIjtcbn1cbi5pY29uLWZsaWNrcjQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc3ZVwiO1xufVxuLmljb24tZmxpY2tyNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzdmXCI7XG59XG4uaWNvbi1waWNhc3NhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ODBcIjtcbn1cbi5pY29uLXBpY2Fzc2EyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ODFcIjtcbn1cbi5pY29uLWRyaWJiYmxlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzgyXCI7XG59XG4uaWNvbi1kcmliYmJsZTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc4M1wiO1xufVxuLmljb24tZHJpYmJibGU0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ODRcIjtcbn1cbi5pY29uLWZvcnJzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzg1XCI7XG59XG4uaWNvbi1mb3Jyc3QyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ODZcIjtcbn1cbi5pY29uLWRldmlhbnRhcnQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ODdcIjtcbn1cbi5pY29uLWRldmlhbnRhcnQzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3ODhcIjtcbn1cbi5pY29uLXN0ZWFtMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzg5XCI7XG59XG4uaWNvbi1zdGVhbTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc4YVwiO1xufVxuLmljb24tZ2l0aHViMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzhiXCI7XG59XG4uaWNvbi1naXRodWIzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3OGNcIjtcbn1cbi5pY29uLWdpdGh1YjQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc4ZFwiO1xufVxuLmljb24tZ2l0aHViNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzhlXCI7XG59XG4uaWNvbi1naXRodWI2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3OGZcIjtcbn1cbi5pY29uLXdvcmRwcmVzczI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc5MFwiO1xufVxuLmljb24td29yZHByZXNzMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzkxXCI7XG59XG4uaWNvbi1qb29tbGEyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3OTJcIjtcbn1cbi5pY29uLWJsb2dnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc5M1wiO1xufVxuLmljb24tYmxvZ2dlcjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc5NFwiO1xufVxuLmljb24tdHVtYmxyMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzk1XCI7XG59XG4uaWNvbi10dW1ibHIzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3OTZcIjtcbn1cbi5pY29uLXlhaG9vMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzk3XCI7XG59XG4uaWNvbi10dXg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTc5OFwiO1xufVxuLmljb24tYXBwbGUyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3OTlcIjtcbn1cbi5pY29uLWZpbmRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzlhXCI7XG59XG4uaWNvbi1hbmRyb2lkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzliXCI7XG59XG4uaWNvbi13aW5kb3dzMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzljXCI7XG59XG4uaWNvbi13aW5kb3dzODpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzlkXCI7XG59XG4uaWNvbi1zb3VuZGNsb3VkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzllXCI7XG59XG4uaWNvbi1zb3VuZGNsb3VkMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNzlmXCI7XG59XG4uaWNvbi1za3lwZTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdhMFwiO1xufVxuLmljb24tcmVkZGl0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2ExXCI7XG59XG4uaWNvbi1saW5rZWRpbjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdhMlwiO1xufVxuLmljb24tbGFzdGZtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YTNcIjtcbn1cbi5pY29uLWxhc3RmbTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdhNFwiO1xufVxuLmljb24tZGVsaWNpb3VzMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2E1XCI7XG59XG4uaWNvbi1zdHVtYmxldXBvbjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdhNlwiO1xufVxuLmljb24tc3R1bWJsZXVwb24zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YTdcIjtcbn1cbi5pY29uLXN0YWNrb3ZlcmZsb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdhOFwiO1xufVxuLmljb24tcGludGVyZXN0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2E5XCI7XG59XG4uaWNvbi1waW50ZXJlc3QzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YWFcIjtcbn1cbi5pY29uLXhpbmcyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YWJcIjtcbn1cbi5pY29uLXhpbmczOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YWNcIjtcbn1cbi5pY29uLWZsYXR0cjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2FkXCI7XG59XG4uaWNvbi1mb3Vyc3F1YXJlMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2FlXCI7XG59XG4uaWNvbi1mb3Vyc3F1YXJlMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2FmXCI7XG59XG4uaWNvbi1wYXlwYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdiMFwiO1xufVxuLmljb24tcGF5cGFsMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2IxXCI7XG59XG4uaWNvbi1wYXlwYWwzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YjJcIjtcbn1cbi5pY29uLXllbHA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdiM1wiO1xufVxuLmljb24tbGlicmVvZmZpY2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdiNFwiO1xufVxuLmljb24tZmlsZS1wZGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdiNVwiO1xufVxuLmljb24tZmlsZS1vcGVub2ZmaWNlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YjZcIjtcbn1cbi5pY29uLWZpbGUtd29yZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2I3XCI7XG59XG4uaWNvbi1maWxlLWV4Y2VsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YjhcIjtcbn1cbi5pY29uLWZpbGUtemlwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YjlcIjtcbn1cbi5pY29uLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2JhXCI7XG59XG4uaWNvbi1maWxlLXhtbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2JiXCI7XG59XG4uaWNvbi1maWxlLWNzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2JjXCI7XG59XG4uaWNvbi1odG1sNTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdiZFwiO1xufVxuLmljb24taHRtbDUzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YmVcIjtcbn1cbi5pY29uLWNzczMyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YmZcIjtcbn1cbi5pY29uLWNocm9tZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2MwXCI7XG59XG4uaWNvbi1maXJlZm94OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzFcIjtcbn1cbi5pY29uLUlFOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzJcIjtcbn1cbi5pY29uLW9wZXJhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzNcIjtcbn1cbi5pY29uLXNhZmFyaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlN2M0XCI7XG59XG4uaWNvbi1pY29tb29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzVcIjtcbn1cbiIsIi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MTFcIjtcbn1cbi5pY29uLWdvb2dsZXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjNlwiO1xufVxuLmljb24tbWFpbHJ1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzdcIjtcbn1cbi5pY29uLW9rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3YzhcIjtcbn1cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjOVwiO1xufVxuLmljb24tdmtjb206YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTdjYVwiO1xufVxuLmljb24teWFuZGV4OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU3Y2JcIjtcbn1cblxuLmljb24teWFuZGV4IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYzI0O1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBleHRlbmQgLmljb24teWFuZGV4O1xuICAgIH1cbn1cblxuLmljb24tdHdpdHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwYWNlZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXR3aXR0ZXI7XG4gICAgfVxufVxuXG4uaWNvbi1mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzNiNTk5ODtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLWZhY2Vib29rO1xuICAgIH1cbn1cblxuLmljb24tdmtjb20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM0NTY3OGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi12a2NvbTtcbiAgICB9XG59XG5cbi5pY29uLXZrY29tMixcbi5pY29uLW1haWxydTIge1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uaWNvbi12a2NvbTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3B1YmxpYy9pbWcvbWFpbi9mbGF0L3ZrY29tLnBuZycpO1xufVxuXG4uaWNvbi1tYWlscnUge1xuLy8gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YTUxYTtcbi8vICAgIGNvbG9yOiAjMGU0Yzg3O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3B1YmxpYy9pbWcvbWFpbi9mbGF0L21haWxydS5wbmcnKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLW1haWxydTtcbiAgICB9XG59XG5cbi5pY29uLW1haWxydTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3B1YmxpYy9pbWcvbWFpbi9mbGF0L21haWxydS5wbmcnKTtcbn1cblxuLmljb24tZ29vZ2xlcGx1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogI2QxNDgzNjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLWdvb2dsZXBsdXM7XG4gICAgfVxufVxuXG4uaWNvbi1vayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogI2VkODEyYjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLW9rO1xuICAgIH1cbn1cblxuLmljLWRpY2Uge1xuICAgIG1hcmdpbjogMXB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9wdWJsaWMvaW1nL25hcmR5L2tvc3RpXzFfc21hbGwucG5nKTtcblxuICAgICYuZGljZTEge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgfVxuICAgICYuZGljZTIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTVweCAwO1xuICAgIH1cbiAgICAmLmRpY2UzIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwcHggMDtcbiAgICB9XG4gICAgJi5kaWNlNCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NXB4IDA7XG4gICAgfVxuICAgICYuZGljZTUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjBweCAwO1xuICAgIH1cbiAgICAmLmRpY2U2IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc1cHggMDtcbiAgICB9XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHtcbiAgei1pbmRleDogMTtcbn1cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qXG4gKiAgQ29yZSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldixcbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQsXG4ub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1kb3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5vd2wtY2Fyb3VzZWwub3dsLXRleHQtc2VsZWN0LW9uIC5vd2wtaXRlbSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG87XG4gIC1tb3otdXNlci1zZWxlY3Q6IGF1dG87XG4gIC1tcy11c2VyLXNlbGVjdDogYXV0bztcbiAgdXNlci1zZWxlY3Q6IGF1dG87XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtZ3JhYiB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW8tZ3JhYjtcbiAgY3Vyc29yOiAtbXMtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG4ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgLy9iYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0OyB0b2RvXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogc2NhbGUgMTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBzY2FsZSAxMDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogc2NhbGUgMTAwbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogc2NhbGUgMTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogc2NhbGUgMTAwbXMgZWFzZTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHNjYWxlKDEuMywgMS4zKTtcbiAgLW1vei10cmFuc2l0aW9uOiBzY2FsZSgxLjMsIDEuMyk7XG4gIC1tcy10cmFuc2l0aW9uOiBzY2FsZSgxLjMsIDEuMyk7XG4gIC1vLXRyYW5zaXRpb246IHNjYWxlKDEuMywgMS4zKTtcbiAgdHJhbnNpdGlvbjogc2NhbGUoMS4zLCAxLjMpO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbiIsIiRsaWdodC1ncmF5OiAjY2NjO1xuJGJvcmRlci1ncmF5OiAjZWVlO1xuJGJvYXJkLXRleHQtY29sb3I6ICMyMjI7XG4kZG90LWNvbG9yOiAjOTk5O1xuXG4uZm9ydW0ge1xuICAgIGZvbnQ6IDMwMCByZW0tY2FsYygxNCkgJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYm9hcmQtdGV4dC1jb2xvcjtcbiAgICB9XG5cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI0JPQVJEU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZvcnVtX19ib2FyZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItZ3JheTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGJvYXJkLXRleHQtY29sb3I7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYm9hcmQtdGV4dC1jb2xvciwgNDAlKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi5mb3J1bV9fdGl0bGUge1xuICAgIGZvbnQ6IDMwMCByZW0tY2FsYygyMCkgJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZm9ydW1fX2xhc3QtcG9zdC1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbn1cblxuLmZvcnVtX19mcm9tLXVzZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvcnVtX19wb3N0LWRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuXG4uZm9ydW1fX2ljb24tYm9hcmQge1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG59XG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI1RPUElDIExJU1RcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mb3J1bV9fdG9waWMtbGlzdCB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbn1cblxuLmZvcnVtX190b3BpYyB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWdyYXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLmZvcnVtX19sYXN0LXBvc3QtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgIH1cblxufVxuXG4uZm9ydW1fX3RvcGljLXRpdGxlIHtcbiAgICBmb250OiAzMDAgcmVtLWNhbGMoMTQpICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJvYXJkLXRleHQtY29sb3IsIDQwJSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRib2FyZC10ZXh0LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG4uZm9ydW0gLnRoZW1lX2Fuc3dlciAudGV4dCBhIHtcbiAgY29sb3I6ICMwMDhjYmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbi5mb3J1bSAudGhlbWVfYW5zd2VyIC50ZXh0ICBhOmhvdmVyLCAuZm9ydW0gLnRoZW1lX2Fuc3dlciAudGV4dCAgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDA3YmEwOyB9XG5cbi5mb3J1bV9faWNvbi10b3BpYyB7XG4gICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcnVtX19ib2FyZC0tbGFzdC1hY3RpdmUge1xuXG4gICAgLmZvcnVtX190b3BpYyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIH1cblxufVxuXG5cbi5mb3J1bV9fcG9zdC1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDE4cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC03cHg7XG4gICAgcGFkZGluZzogOHB4IDhweCA1cHggOHB4O1xuXG4gICAgZGl2IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZG90LWNvbG9yLCAxNSUpO1xuICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGRvdC1jb2xvciwgMTUlKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI1BPU1RcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi50b3BpY19fc3RhcnRlci1oZWFkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BpY19fc3RhcnRlci10aXRsZSB7XG4gICAgZm9udDogMzAwIHJlbS1jYWxjKDIwKSAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udG9waWNfX3N0YXJ0dGVyLW1ldGEge31cblxuLnRvcGljX19zdGFydGVyLWF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogNTZweDtcbiAgICB9XG5cbn1cblxuXG4uZm9ydW0gYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMi4zcmVtO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM5OTk5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7fVxuLmZvcnVtIGJsb2NrcXVvdGU6YmVmb3JlIHtjb250ZW50OiBcIlxcZTY4MiBcIjtmb250LWZhbWlseTogJ2ljb21vb24nO21hcmdpbi1sZWZ0OiAtMzJweDttYXJnaW4tcmlnaHQ6IDE1cHg7Y29sb3I6ICM5OTk5OTl9XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI0FOU1dFUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZvcnVtIHAge3BhZGRpbmctdG9wOiAwO21hcmdpbi10b3A6IDA7fVxuXG4uZm9ydW0gLmFuc3dlci1tZW51IHtcbiAgYm9yZGVyOjFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgYm9yZGVyLXJhZGl1czo1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDdweDtcbiAgZm9udC1zaXplOiAxNHB0O1xufVxuLmZvcnVtIC50aGVtZV9hbnN3ZXIgLnRleHQge1xuICBmb250LXNpemU6IDE0cHQ7XG59XG4uZm9ydW0gLnRoZW1lX2Fuc3dlciAuZGF0ZS10aW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTZweDtcbiAgYm90dG9tOiAtMTVweDtcbn1cbi5mb3J1bSAudGhlbWVfYW5zd2VyIC5ub3QtcmVhZCB7YmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1nL21haW4vYmcvbm9yZWFkLnBuZykgcmVwZWF0LXggbGVmdCB0b3A7fVxuLmZvcnVtIC50aGVtZV9hbnN3ZXIgLnNlcGFyYXRvciB7Ym9yZGVyLXRvcDoxcHggZ3JleSBkb3R0ZWQ7bWFyZ2luLXRvcDoyMHB4O2NvbG9yOmdyZXk7Zm9udC1zaXplOjEwcHg7dGV4dC1hbGlnbjpyaWdodDt9XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAjQ1VTVE9NIFNUWUxFIEZPUiBDQVJPVVNFTFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmJsb2NrLXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRlbW8tc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzAwMDtcbn1cblxuLmRlbW8tc2xpZGUtLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbn1cblxuLmRlbW8tb25lLWJnIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWcvbWFpbi9mbGF0L2JnLXNsaWRlci5qcGcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLy8gU2V0IHRleHQgY29sb3IgZm9yIG91ciBjdXN0b20gYnV0dG9uXG4uYnV0dG9uLmRlbW8tc2xpZGUtLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxufVxuXG5cbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG5cbiAgICAuZGVtby1zbGlkZSB7XG4gICAgICAgIC8vaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5kZW1vLXNsaWRlLS1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAzNXB4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NiMDAwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICB9XG5cbn1cblxuQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXG4gICAgLy8gQ3VzdG9tIHN0eWxlIGZvciBzbGlkZXJcbiAgICAub3dsLXRoZW1lIC5vd2wtY29udHJvbHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG5cbiAgICAuYmxvY2stc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zbGlkZS1pdGVtLWlubmVyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEN1c3RvbSBzdHlsZSBmb3Igc2xpZGVcbiAgICAuZGVtby1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiA4MDBweDtcbiAgICAgICAgcGFkZGluZzogNzBweCAxMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLmRlbW8tc2xpZGUtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2Nik7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5kZW1vLXNsaWRlLS10aXRsZS1zZWNvbmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICB9XG5cbiAgICAuZGVtby1zbGlkZS0tZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuZGVtby1zbGlkZS0tYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2IwMDAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDcwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICAuZGVtby1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuXG4vKipcbiAqIFN0eWxlIGZvciBjb21tZW50IGNhcm91c2VsXG4gKi9cblxuLmJsb2NrLWNvbW1lbnRzIHtcblxuICAgIC5vd2wtY2Fyb3VzZWwge1xuXG4gICAgICAgIC5vd2wtY29udHJvbHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI0NVU1RPTSBUQUJTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIFN0eWxpbmcgdGFicyBpbiBiZW5lZml0cyBibG9ja1xuICovXG5cbi5ibG9jay1iZW5lZml0cyB7XG5cbiAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYnMge1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250OiBub3JtYWwgIHJlbS1jYWxjKDIwKSAkY3VwcnVtLWZvbnQ7XG4gICAgICAgICAgICAvL2ZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLWJ1dHRvbi1iZztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1idXR0b24tYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3RpdmUge1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1idXR0b24tYmctaG92ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkICNmZmUwMDQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTlweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbi8qKlxuICogU3R5bGluZyB0YWIgY29udGVudCBpbiBiZW5lZml0cyBibG9ja1xuICovXG5cbi5ibG9jay1iZW5lZml0cy1iYXIge1xuXG4gICAgQGluY2x1ZGUgaWNvbi1iYXIoXG4gICAgICAgICRiYXItYmc6IHRyYW5zcGFyZW50XG4gICAgKTtcblxuICAgIC5pdGVtIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udDogbm9ybWFsIHJlbS1jYWxjKDIwKSAkY3VwcnVtLWZvbnQ7XG4gICAgICAgICAgICAvL2ZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgJjpob3ZlciBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmUwMDQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0ZPT1RFUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkO1xuICAgIGNvbG9yOiAjODI4MjgyO1xuICAgIHBhZGRpbmc6IDMwcHggMCA0MHB4IDA7XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNCVVRUT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYnV0dG9uLCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbn1cbi8qKlxuICogRXh0cmEgc21hbGwgdHJhbnNwYXJlbnQgYnV0dG9uXG4gKi9cbi5idXR0b24ubGluayAge1xuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI7XG4gICAgfVxufVxuXG4vKipcbiAqIEV4dHJhIHNtYWxsIHRyYW5zcGFyZW50IGJ1dHRvblxuICovXG4ueHMtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjJyZW0gMC4zMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBCbHVlIGJ1dHRvblxuICovXG4uYnV0dG9uLWJsdWUsXG4uaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGNiYTtcbn1cblxuXG4vKiAzZCBidXR0b25zICovXG5cbi5idXR0b24ge1xuICAgICYuczNkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udDogNjAwIDIwcHggc2Fucy1zZXJpZiwgJ09wZW4gU2Fucyc7XG5cbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpO1xuXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjcpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjcpO1xuXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmUwNTM7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmUwNTMgMCUsI2ZmOWQwNCAxMDAlKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmY5ZDA0IDAlLCNmZmUwNTMgMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vLW1hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgICBmb250OiA2MDAgMjRweCBzYW5zLXNlcmlmLCAnT3BlbiBTYW5zJztcbiAgICAgICAgfVxuXG4gICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgZm9udDogNjAwIDE2cHggc2Fucy1zZXJpZiwgJ09wZW4gU2Fucyc7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRpbnkge1xuICAgICAgICAgICAgZm9udDogNjAwIDEycHggc2Fucy1zZXJpZiwgJ09wZW4gU2Fucyc7XG4gICAgICAgIH1cblxuICAgICAgICAmLnhzIHtcbiAgICAgICAgICAgIGZvbnQ6IDYwMCAxMnB4IHNhbnMtc2VyaWYsICdPcGVuIFNhbnMnO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjhyZW07O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdWNjZXNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNiZWY2NDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYmVmNjQxIDAlLCM1MWRkMDMgMTAwJSk7XG5cbiAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzUxZGQwMyAwJSwgI2JlZjY0MSAxMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxlcnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZhNzU3ZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmYTc1N2QgMCUsI2ViMGQxMSAxMDAlKTtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjMDAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlYjBkMTEgMCUsI2ZhNzU3ZCAxMDAlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAwICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDFmNGY0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2QxZjRmNCAwJSwjNzdkYWQ5IDEwMCUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNzdkYWQ5IDAlLCNkMWY0ZjQgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyYXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmNmY2ZjYgMCUsI0M2QzZjNiAxMDAlKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0M2QzZjNiAwJSwjZjZmNmY2IDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJi5zZWNvbmRhcnksXG4gICAgICAgICAgICAmLmFsZXJ0LFxuICAgICAgICAgICAgJi5zdWNjZXNzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNyk7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZTBlMGUwIDAlLCNDNkM2YzYgMTAwJSk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2UwZTBlMCAwJSwjQzZDNmM2IDEwMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgI0lDT05TIEZPTlQgQURESVRJT05BTCBGRUFUVVJFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyoqXG4gKiBJY29uIGZvbnQgc2l6ZXNcbiAqL1xuXG4uaWNvLWxnIHsgZm9udC1zaXplOiAxLjMzMzMzZW07IH1cbi5pY28teDIgeyBmb250LXNpemU6IDJlbTsgfVxuLmljby14MyB7IGZvbnQtc2l6ZTogM2VtOyB9XG4uaWNvLXg0IHsgZm9udC1zaXplOiA0ZW07IH1cbi5pY28teDUgeyBmb250LXNpemU6IDVlbTsgfVxuXG4vKiBDaXJjbGUgZm9yIGljb24gc2l6ZSAqL1xuLmljby1jaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFzcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgQGV4dGVuZCAuaWNvLXgyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG59XG5cbi5pY28tc3RhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pY28tc3RhY2stMXgsIC5pY28tc3RhY2stMngge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmljby1pbnZlcnNlIHtjb2xvcjojZmZmfVxuW2NsYXNzXj1cImljb24tXCJdICxbY2xhc3MqPVwiIGljb24tXCJdIHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7fVxuXG4qOm5vdCguYnV0dG9uKSA+IC5pY29uLWNsb3NlIHtjb2xvcjogI2ZmMDAwMDt9XG4qOm5vdCguYnV0dG9uKSA+IC5pY29uLWNsb3NlOmhvdmVyIHtjb2xvcjogI2NmMjgwZTt9XG5cblxuLyoqXG4gKiBTcGluIGFuaW1hdGlvblxuICovXG5cbkAtbW96LWtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB9XG59XG5cbkAtby1rZXlmcmFtZXMgc3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIH1cbn1cblxuXG4uaWNvLXNwaW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAtbW96LWFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgLW8tYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICBhbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG5cblxuLyoqXG4gKiBSb3RhdGUgaWNvblxuICovXG5cbi5pY28tcm90YXRlLTkwIHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLmljby1yb3RhdGUtMTgwIHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uaWNvLXJvdGF0ZS0yNzAge1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG5cbi5pY28tZmxpcC1ob3Jpem9udGFsIHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4uaWNvLWZsaXAtdmVydGljYWwge1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAjQ1VTVE9NIE1PREFMIFdJTkRPV1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyoqXG4gKiBTdHlsZSBmb3IgbG9naW4gbW9kYWwgd2luZG93XG4gKi9cblxuLmxvZ2luTW9kYWwge1xuXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoXG4gICAgICAgIC8vIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS5cbiAgICAgICAgJGJhc2Utc3R5bGU6dHJ1ZSxcbiAgICAgICAgLy8gU2V0cyByZXZlYWwgd2lkdGggRGVmYXVsdDogJHJldmVhbC1kZWZhdWx0LXdpZHRoIG9yIDgwJVxuICAgICAgICAkd2lkdGg6IDUwJVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoXG4gICAgICAgIC8vIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtYmcgb3IgI2ZmZlxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcbiAgICAgICAgLy8gU2V0IHJldmVhbCBib3JkZXIgc3R5bGUuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXN0eWxlIG9yIHNvbGlkXG4gICAgICAgICRib3JkZXI6dHJ1ZSxcbiAgICAgICAgLy8gV2lkdGggb2YgYm9yZGVyIChpLmUuIDFweCkuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXdpZHRoLlxuICAgICAgICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAgICAgICAvLyBDb2xvciBvZiBib3JkZXIuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLWNvbG9yLlxuICAgICAgICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAgICAgICAvLyBDb2xvciBvZiBib3JkZXIuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLWNvbG9yLlxuICAgICAgICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAgICAgICAvLyBDaG9vc2Ugd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgZGVmYXVsdCBib3gtc2hhZG93LiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuICAgICAgICAkYm94LXNoYWRvdzp0cnVlLFxuICAgICAgICAvLyBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCBvciA1MHB4XG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXG4gICAgKTtcblxuXG4gICAgLmNsb3NlLXJldmVhbC1tb2RhbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG5cbiAgICAuZm9yZ290LXBhc3MtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB9XG5cbiAgICAuZW50ZXItdGl0bGUge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC5hdXRoLWljb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbn1cblxuLmxvZ2luTW9kYWwtaGVhZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubG9naW5Nb2RhbC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5sb2dpbk1vZGFsLXNvY2lhbC1hdXRoIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5cbi8qKlxuICogU3R5bGUgZm9yIGxvZ2luIHBhZ2VcbiAqL1xuXG4ubG9naW5Nb2RhbC1wYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgbWFyZ2luOiAwIGF1dG8gNjBweDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICNQQU5FTCBCTE9DSyBTVFlMRVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnBhbmVsLWJsb2NrIHtcblxuICAgIEBpbmNsdWRlIHBhbmVsKFxuICAgICAgICAkcGFkZGluZzowLFxuICAgICAgICAkYmc6IGxpZ2h0ZW4oJHNpdGUtbWFpbi1iZy1jb2xvciwgNyUpXG4gICAgKTtcblxuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmLmFsZXJ0ICAge1xuXG4gICAgICAgIC5wYW5lbC1ibG9jay1oZWFkaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeSB7XG5cbiAgICAgICAgLnBhbmVsLWJsb2NrLWhlYWRpbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnN1Y2Nlc3Mge1xuXG4gICAgICAgIC5wYW5lbC1ibG9jay1oZWFkaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbi5wYW5lbC1ibG9jay1oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnBhbmVsLWJsb2NrLWJvZHkge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNBTEVSVCBCT1ggV0lUSCBDVVNUT00gQ09MT1JTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYWxlcnQtYm94IHtcbiAgICBjb2xvcjogIzIyMjtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA0MCUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDIwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDgwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNsb3NlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuc3VjY2VzcyB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRzdWNjZXNzLWNvbG9yLCAzMCUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzdWNjZXNzLWNvbG9yLCAxNSUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeSB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDMwJSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgNTUlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/