/*
 * A partial implementation of the Ruby list functions from Compass:
 * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb
 */
/*
 * A partial implementation of the Ruby constants functions from Compass:
 * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb
 */
/*
 * A partial implementation of the Ruby display functions from Compass:
 * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb
 */
/* $h3-font-size: rem-calc(23);
$h4-font-size: rem-calc(20);
$h5-font-size: rem-calc(18);
$h6-font-size: rem-calc(16); */
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.063em)/";
  width: 40.063em; }

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

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: false; }

html, body {
  height: 100%; }

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

html,
body {
  font-size: 16px; }

body {
  background: #fff;
  color: #222;
  cursor: auto;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 24px;
  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, .row-expanded {
  margin: 0 auto;
  max-width: 73.125rem;
  width: 100%; }
  .row:before, .row-expanded:before, .row:after, .row-expanded:after {
    content: " ";
    display: table; }
  .row:after, .row-expanded:after {
    clear: both; }
  .row.collapse > .column, .collapse.row-expanded > .column,
  .row.collapse > .columns, .collapse.row-expanded > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.collapse .row, .collapse.row-expanded .row, .row.collapse .row-expanded, .collapse.row-expanded .row-expanded {
    margin-left: 0;
    margin-right: 0; }
  .row .row, .row-expanded .row, .row .row-expanded, .row-expanded .row-expanded {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    .row .row:before, .row-expanded .row:before, .row .row-expanded:before, .row-expanded .row-expanded:before, .row .row:after, .row-expanded .row:after, .row .row-expanded:after, .row-expanded .row-expanded:after {
      content: " ";
      display: table; }
    .row .row:after, .row-expanded .row:after, .row .row-expanded:after, .row-expanded .row-expanded:after {
      clear: both; }
    .row .row.collapse, .row-expanded .row.collapse, .row .collapse.row-expanded, .row-expanded .collapse.row-expanded {
      margin: 0;
      max-width: none;
      width: auto; }
      .row .row.collapse:before, .row-expanded .row.collapse:before, .row .collapse.row-expanded:before, .row-expanded .collapse.row-expanded:before, .row .row.collapse:after, .row-expanded .row.collapse:after, .row .collapse.row-expanded:after, .row-expanded .collapse.row-expanded:after {
        content: " ";
        display: table; }
      .row .row.collapse:after, .row-expanded .row.collapse:after, .row .collapse.row-expanded:after, .row-expanded .collapse.row-expanded:after {
        clear: both; }

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

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

.column + .column.end,
.columns + .column.end, .column +
.columns.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.33333%;
    right: auto; }
  .small-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .small-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .small-pull-2 {
    position: relative;
    right: 16.66667%;
    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.33333%;
    right: auto; }
  .small-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .small-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .small-pull-5 {
    position: relative;
    right: 41.66667%;
    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.33333%;
    right: auto; }
  .small-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .small-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .small-pull-8 {
    position: relative;
    right: 66.66667%;
    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.33333%;
    right: auto; }
  .small-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .small-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .small-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .small-1 {
    width: 8.33333%; }
  .small-2 {
    width: 16.66667%; }
  .small-3 {
    width: 25%; }
  .small-4 {
    width: 33.33333%; }
  .small-5 {
    width: 41.66667%; }
  .small-6 {
    width: 50%; }
  .small-7 {
    width: 58.33333%; }
  .small-8 {
    width: 66.66667%; }
  .small-9 {
    width: 75%; }
  .small-10 {
    width: 83.33333%; }
  .small-11 {
    width: 91.66667%; }
  .small-12 {
    width: 100%; }
  .small-offset-0 {
    margin-left: 0 !important; }
  .small-offset-1 {
    margin-left: 8.33333% !important; }
  .small-offset-2 {
    margin-left: 16.66667% !important; }
  .small-offset-3 {
    margin-left: 25% !important; }
  .small-offset-4 {
    margin-left: 33.33333% !important; }
  .small-offset-5 {
    margin-left: 41.66667% !important; }
  .small-offset-6 {
    margin-left: 50% !important; }
  .small-offset-7 {
    margin-left: 58.33333% !important; }
  .small-offset-8 {
    margin-left: 66.66667% !important; }
  .small-offset-9 {
    margin-left: 75% !important; }
  .small-offset-10 {
    margin-left: 83.33333% !important; }
  .small-offset-11 {
    margin-left: 91.66667% !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, .small-collapse.row-expanded > .column,
  .row.small-collapse > .columns, .small-collapse.row-expanded > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.small-collapse .row, .small-collapse.row-expanded .row, .row.small-collapse .row-expanded, .small-collapse.row-expanded .row-expanded {
    margin-left: 0;
    margin-right: 0; }
  .row.small-uncollapse > .column, .small-uncollapse.row-expanded > .column,
  .row.small-uncollapse > .columns, .small-uncollapse.row-expanded > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; } }

@media only screen and (min-width: 40.063em) {
  .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.33333%;
    right: auto; }
  .medium-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .medium-pull-2 {
    position: relative;
    right: 16.66667%;
    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.33333%;
    right: auto; }
  .medium-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .medium-pull-5 {
    position: relative;
    right: 41.66667%;
    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.33333%;
    right: auto; }
  .medium-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .medium-pull-8 {
    position: relative;
    right: 66.66667%;
    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.33333%;
    right: auto; }
  .medium-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .medium-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .medium-1 {
    width: 8.33333%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-0 {
    margin-left: 0 !important; }
  .medium-offset-1 {
    margin-left: 8.33333% !important; }
  .medium-offset-2 {
    margin-left: 16.66667% !important; }
  .medium-offset-3 {
    margin-left: 25% !important; }
  .medium-offset-4 {
    margin-left: 33.33333% !important; }
  .medium-offset-5 {
    margin-left: 41.66667% !important; }
  .medium-offset-6 {
    margin-left: 50% !important; }
  .medium-offset-7 {
    margin-left: 58.33333% !important; }
  .medium-offset-8 {
    margin-left: 66.66667% !important; }
  .medium-offset-9 {
    margin-left: 75% !important; }
  .medium-offset-10 {
    margin-left: 83.33333% !important; }
  .medium-offset-11 {
    margin-left: 91.66667% !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, .medium-collapse.row-expanded > .column,
  .row.medium-collapse > .columns, .medium-collapse.row-expanded > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.medium-collapse .row, .medium-collapse.row-expanded .row, .row.medium-collapse .row-expanded, .medium-collapse.row-expanded .row-expanded {
    margin-left: 0;
    margin-right: 0; }
  .row.medium-uncollapse > .column, .medium-uncollapse.row-expanded > .column,
  .row.medium-uncollapse > .columns, .medium-uncollapse.row-expanded > .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.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    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.33333%;
    right: auto; }
  .large-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .large-pull-2 {
    position: relative;
    right: 16.66667%;
    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.33333%;
    right: auto; }
  .large-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .large-pull-5 {
    position: relative;
    right: 41.66667%;
    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.33333%;
    right: auto; }
  .large-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .large-pull-8 {
    position: relative;
    right: 66.66667%;
    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.33333%;
    right: auto; }
  .large-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .large-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .large-1 {
    width: 8.33333%; }
  .large-2 {
    width: 16.66667%; }
  .large-3 {
    width: 25%; }
  .large-4 {
    width: 33.33333%; }
  .large-5 {
    width: 41.66667%; }
  .large-6 {
    width: 50%; }
  .large-7 {
    width: 58.33333%; }
  .large-8 {
    width: 66.66667%; }
  .large-9 {
    width: 75%; }
  .large-10 {
    width: 83.33333%; }
  .large-11 {
    width: 91.66667%; }
  .large-12 {
    width: 100%; }
  .large-offset-0 {
    margin-left: 0 !important; }
  .large-offset-1 {
    margin-left: 8.33333% !important; }
  .large-offset-2 {
    margin-left: 16.66667% !important; }
  .large-offset-3 {
    margin-left: 25% !important; }
  .large-offset-4 {
    margin-left: 33.33333% !important; }
  .large-offset-5 {
    margin-left: 41.66667% !important; }
  .large-offset-6 {
    margin-left: 50% !important; }
  .large-offset-7 {
    margin-left: 58.33333% !important; }
  .large-offset-8 {
    margin-left: 66.66667% !important; }
  .large-offset-9 {
    margin-left: 75% !important; }
  .large-offset-10 {
    margin-left: 83.33333% !important; }
  .large-offset-11 {
    margin-left: 91.66667% !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, .large-collapse.row-expanded > .column,
  .row.large-collapse > .columns, .large-collapse.row-expanded > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.large-collapse .row, .large-collapse.row-expanded .row, .row.large-collapse .row-expanded, .large-collapse.row-expanded .row-expanded {
    margin-left: 0;
    margin-right: 0; }
  .row.large-uncollapse > .column, .large-uncollapse.row-expanded > .column,
  .row.large-uncollapse > .columns, .large-uncollapse.row-expanded > .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.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

.accordion {
  margin-bottom: 0;
  margin-left: 0; }
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  .accordion:after {
    clear: both; }
  .accordion .accordion-navigation, .accordion dd {
    display: block;
    margin-bottom: 0 !important; }
    .accordion .accordion-navigation.active > a, .accordion dd.active > a {
      background: #e8e8e8;
      color: #222222; }
    .accordion .accordion-navigation > a, .accordion dd > a {
      background: #EFEFEF;
      color: #222222;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem; }
      .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
        background: #e3e3e3; }
    .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: #937e74;
  border-color: #7f6c63;
  color: #FFFFFF; }
  .alert-box .close {
    right: 0.25rem;
    background: inherit;
    color: #333333;
    font-size: 1.375rem;
    line-height: .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: 0px; }
  .alert-box.round {
    border-radius: 1000px; }
  .alert-box.success {
    background-color: #43AC6A;
    border-color: #3a945b;
    color: #FFFFFF; }
  .alert-box.alert {
    background-color: #f04124;
    border-color: #de2d0f;
    color: #FFFFFF; }
  .alert-box.secondary {
    background-color: #f1e9dd;
    border-color: #decbaf;
    color: #6f552e; }
  .alert-box.warning {
    background-color: #f08a24;
    border-color: #de770f;
    color: #FFFFFF; }
  .alert-box.info {
    background-color: #a0d3e8;
    border-color: #74bfdd;
    color: #6f552e; }
  .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.33333%; }
    .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.66667%; }
    .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.28571%; }
    .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.11111%; }
    .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.09091%; }
    .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.33333%; }
    .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.063em) {
  .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.33333%; }
    .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.66667%; }
    .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.28571%; }
    .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.11111%; }
    .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.09091%; }
    .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.33333%; }
    .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.33333%; }
    .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.66667%; }
    .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.28571%; }
    .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.11111%; }
    .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.09091%; }
    .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.33333%; }
    .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: #f9f5f0;
  border-color: #eadfcd;
  border-radius: 0px; }
  .breadcrumbs > * {
    color: #937e74;
    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: #937e74; }
    .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 > *:before {
      color: #AAAAAA;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px; }
    .breadcrumbs > *:first-child:before {
      content: " ";
      margin: 0; }

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

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, 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: #937e74;
  border-color: #76655c;
  color: #FFFFFF;
  transition: background-color 300ms ease-out; }
  button:hover, button:focus, .button:hover, .button:focus {
    background-color: #76655c; }
  button:hover, button:focus, .button:hover, .button:focus {
    color: #FFFFFF; }
  button.secondary, .button.secondary {
    background-color: #f1e9dd;
    border-color: #d6bf9c;
    color: #333333; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      background-color: #d6bf9c; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      color: #333333; }
  button.success, .button.success {
    background-color: #43AC6A;
    border-color: #368a55;
    color: #FFFFFF; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      background-color: #368a55; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      color: #FFFFFF; }
  button.alert, .button.alert {
    background-color: #f04124;
    border-color: #cf2a0e;
    color: #FFFFFF; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      background-color: #cf2a0e; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      color: #FFFFFF; }
  button.warning, .button.warning {
    background-color: #f08a24;
    border-color: #cf6e0e;
    color: #FFFFFF; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      background-color: #cf6e0e; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      color: #FFFFFF; }
  button.info, .button.info {
    background-color: #a0d3e8;
    border-color: #61b6d9;
    color: #333333; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      background-color: #61b6d9; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      color: #FFFFFF; }
  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: 1rem 2rem 1.0625rem 2rem;
    font-size: 1rem;
    padding-bottom: 1.0625rem;
    padding-top: 1rem;
    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: 0px; }
  button.round, .button.round {
    border-radius: 1000px; }
  button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background-color: #937e74;
    border-color: #76655c;
    color: #FFFFFF;
    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: #76655c; }
    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:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #937e74; }
    button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
      background-color: #f1e9dd;
      border-color: #d6bf9c;
      color: #333333;
      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: #d6bf9c; }
      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: #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 {
        background-color: #f1e9dd; }
    button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
      background-color: #43AC6A;
      border-color: #368a55;
      color: #FFFFFF;
      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: #368a55; }
      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: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: #cf2a0e;
      color: #FFFFFF;
      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: #cf2a0e; }
      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: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: #cf6e0e;
      color: #FFFFFF;
      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: #cf6e0e; }
      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: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: #a0d3e8;
      border-color: #61b6d9;
      color: #333333;
      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: #61b6d9; }
      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: #FFFFFF; }
      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: #a0d3e8; }

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

@media only screen and (min-width: 40.063em) {
  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 {
    display: inline-block;
    margin: 0 -2px;
    width: 50%; }
    .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 button, .button-group.even-2 li .button {
      width: 100%; }
  .button-group.even-3 li {
    display: inline-block;
    margin: 0 -2px;
    width: 33.33333%; }
    .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 button, .button-group.even-3 li .button {
      width: 100%; }
  .button-group.even-4 li {
    display: inline-block;
    margin: 0 -2px;
    width: 25%; }
    .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 button, .button-group.even-4 li .button {
      width: 100%; }
  .button-group.even-5 li {
    display: inline-block;
    margin: 0 -2px;
    width: 20%; }
    .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 button, .button-group.even-5 li .button {
      width: 100%; }
  .button-group.even-6 li {
    display: inline-block;
    margin: 0 -2px;
    width: 16.66667%; }
    .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 button, .button-group.even-6 li .button {
      width: 100%; }
  .button-group.even-7 li {
    display: inline-block;
    margin: 0 -2px;
    width: 14.28571%; }
    .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 button, .button-group.even-7 li .button {
      width: 100%; }
  .button-group.even-8 li {
    display: inline-block;
    margin: 0 -2px;
    width: 12.5%; }
    .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 button, .button-group.even-8 li .button {
      width: 100%; }
  .button-group > li {
    display: inline-block;
    margin: 0 -2px; }
    .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.stack > li {
    display: block;
    margin: 0;
    float: none; }
    .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 > 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-for-small > li {
    display: inline-block;
    margin: 0 -2px; }
    .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; }
    @media only screen and (max-width: 40em) {
      .button-group.stack-for-small > li {
        display: block;
        margin: 0;
        width: 100%; }
        .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 > 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.radius > * {
    display: inline-block;
    margin: 0 -2px; }
    .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 > *,
    .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: 0px;
      -webkit-border-top-left-radius: 0px;
      border-bottom-left-radius: 0px;
      border-top-left-radius: 0px; }
    .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: 0px;
      -webkit-border-top-right-radius: 0px;
      border-bottom-right-radius: 0px;
      border-top-right-radius: 0px; }
  .button-group.radius.stack > * {
    display: block;
    margin: 0; }
    .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 > * > 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 > *,
    .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: 0px;
      -webkit-top-right-radius: 0px;
      border-top-left-radius: 0px;
      border-top-right-radius: 0px; }
    .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: 0px;
      -webkit-bottom-right-radius: 0px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px; }
  @media only screen and (min-width: 40.063em) {
    .button-group.radius.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .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 > *,
      .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: 0px;
        -webkit-border-top-left-radius: 0px;
        border-bottom-left-radius: 0px;
        border-top-left-radius: 0px; }
      .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: 0px;
        -webkit-border-top-right-radius: 0px;
        border-bottom-right-radius: 0px;
        border-top-right-radius: 0px; } }
  @media only screen and (max-width: 40em) {
    .button-group.radius.stack-for-small > * {
      display: block;
      margin: 0; }
      .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 > * > 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 > *,
      .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: 0px;
        -webkit-top-right-radius: 0px;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px; }
      .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: 0px;
        -webkit-bottom-right-radius: 0px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px; } }
  .button-group.round > * {
    display: inline-block;
    margin: 0 -2px; }
    .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 > *,
    .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 > * {
    display: block;
    margin: 0; }
    .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 > * > 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 > *,
    .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.063em) {
    .button-group.round.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .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 > *,
      .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 > * {
      display: block;
      margin: 0; }
      .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 > * > 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 > *,
      .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, [data-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0; }
  .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
    content: " ";
    display: table; }
  .clearing-thumbs:after, [data-clearing]:after {
    clear: both; }
  .clearing-thumbs li, [data-clearing] li {
    float: left;
    margin-right: 10px; }
  .clearing-thumbs[class*="block-grid-"] li, [data-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: .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.063em) {
  .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: .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: .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: .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: .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;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px; }
  .f-dropdown.open {
    display: block; }
  .f-dropdown > *:first-child {
    margin-top: 0; }
  .f-dropdown > *:last-child {
    margin-bottom: 0; }
  .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.drop-right {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    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;
    max-width: 200px; }
    .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: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-left {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    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;
    max-width: 200px; }
    .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: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-top {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    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;
    max-width: 200px; }
    .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: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 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;
    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.content.open {
      display: block; }
    .f-dropdown.content > *:first-child {
      margin-top: 0; }
    .f-dropdown.content > *:last-child {
      margin-bottom: 0; }
  .f-dropdown.radius {
    border-radius: 0px; }
  .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;
  padding-right: 3.5625rem; }
  .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::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, form .row-expanded .row, form .row .row-expanded, form .row-expanded .row-expanded {
  margin: 0 -0.5rem; }
  form .row .row .column, form .row-expanded .row .column, form .row .row-expanded .column, form .row-expanded .row-expanded .column,
  form .row .row .columns,
  form .row-expanded .row .columns,
  form .row .row-expanded .columns,
  form .row-expanded .row-expanded .columns {
    padding: 0 0.5rem; }
  form .row .row.collapse, form .row-expanded .row.collapse, form .row .collapse.row-expanded, form .row-expanded .collapse.row-expanded {
    margin: 0; }
    form .row .row.collapse .column, form .row-expanded .row.collapse .column, form .row .collapse.row-expanded .column, form .row-expanded .collapse.row-expanded .column,
    form .row .row.collapse .columns,
    form .row-expanded .row.collapse .columns,
    form .row .collapse.row-expanded .columns,
    form .row-expanded .collapse.row-expanded .columns {
      padding: 0; }
    form .row .row.collapse input, form .row-expanded .row.collapse input, form .row .collapse.row-expanded input, form .row-expanded .collapse.row-expanded 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-expanded input.column,
form .row input.columns,
form .row-expanded input.columns,
form .row textarea.column,
form .row-expanded textarea.column,
form .row textarea.columns,
form .row-expanded textarea.columns {
  padding-left: 0.5rem; }

/* Label Styles */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */ }
  label.right {
    float: none !important;
    text-align: right; }
  label.inline {
    margin: 0 0 1rem 0;
    padding: 0.5625rem 0; }
  label small {
    text-transform: capitalize;
    color: #676767; }

/* 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: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px; }

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

.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: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc; }

span.postfix, label.postfix {
  background: #f2f2f2;
  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: none;
  color: rgba(0, 0, 0, 0.75);
  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;
  -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]):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: #fafafa;
    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]).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: 0px; }

form .row .prefix-radius.row.collapse input, form .row-expanded .prefix-radius.row.collapse input, form .row .prefix-radius.collapse.row-expanded input, form .row-expanded .prefix-radius.collapse.row-expanded input,
form .row .prefix-radius.row.collapse textarea,
form .row-expanded .prefix-radius.row.collapse textarea,
form .row .prefix-radius.collapse.row-expanded textarea,
form .row-expanded .prefix-radius.collapse.row-expanded textarea,
form .row .prefix-radius.row.collapse select,
form .row-expanded .prefix-radius.row.collapse select,
form .row .prefix-radius.collapse.row-expanded select,
form .row-expanded .prefix-radius.collapse.row-expanded select,
form .row .prefix-radius.row.collapse button,
form .row-expanded .prefix-radius.row.collapse button,
form .row .prefix-radius.collapse.row-expanded button,
form .row-expanded .prefix-radius.collapse.row-expanded button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px; }

form .row .prefix-radius.row.collapse .prefix, form .row-expanded .prefix-radius.row.collapse .prefix, form .row .prefix-radius.collapse.row-expanded .prefix, form .row-expanded .prefix-radius.collapse.row-expanded .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px; }

form .row .postfix-radius.row.collapse input, form .row-expanded .postfix-radius.row.collapse input, form .row .postfix-radius.collapse.row-expanded input, form .row-expanded .postfix-radius.collapse.row-expanded input,
form .row .postfix-radius.row.collapse textarea,
form .row-expanded .postfix-radius.row.collapse textarea,
form .row .postfix-radius.collapse.row-expanded textarea,
form .row-expanded .postfix-radius.collapse.row-expanded textarea,
form .row .postfix-radius.row.collapse select,
form .row-expanded .postfix-radius.row.collapse select,
form .row .postfix-radius.collapse.row-expanded select,
form .row-expanded .postfix-radius.collapse.row-expanded select,
form .row .postfix-radius.row.collapse button,
form .row-expanded .postfix-radius.row.collapse button,
form .row .postfix-radius.collapse.row-expanded button,
form .row-expanded .postfix-radius.collapse.row-expanded button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px; }

form .row .postfix-radius.row.collapse .postfix, form .row-expanded .postfix-radius.row.collapse .postfix, form .row .postfix-radius.collapse.row-expanded .postfix, form .row-expanded .postfix-radius.collapse.row-expanded .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px; }

form .row .prefix-round.row.collapse input, form .row-expanded .prefix-round.row.collapse input, form .row .prefix-round.collapse.row-expanded input, form .row-expanded .prefix-round.collapse.row-expanded input,
form .row .prefix-round.row.collapse textarea,
form .row-expanded .prefix-round.row.collapse textarea,
form .row .prefix-round.collapse.row-expanded textarea,
form .row-expanded .prefix-round.collapse.row-expanded textarea,
form .row .prefix-round.row.collapse select,
form .row-expanded .prefix-round.row.collapse select,
form .row .prefix-round.collapse.row-expanded select,
form .row-expanded .prefix-round.collapse.row-expanded select,
form .row .prefix-round.row.collapse button,
form .row-expanded .prefix-round.row.collapse button,
form .row .prefix-round.collapse.row-expanded button,
form .row-expanded .prefix-round.collapse.row-expanded 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, form .row-expanded .prefix-round.row.collapse .prefix, form .row .prefix-round.collapse.row-expanded .prefix, form .row-expanded .prefix-round.collapse.row-expanded .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-expanded .postfix-round.row.collapse input, form .row .postfix-round.collapse.row-expanded input, form .row-expanded .postfix-round.collapse.row-expanded input,
form .row .postfix-round.row.collapse textarea,
form .row-expanded .postfix-round.row.collapse textarea,
form .row .postfix-round.collapse.row-expanded textarea,
form .row-expanded .postfix-round.collapse.row-expanded textarea,
form .row .postfix-round.row.collapse select,
form .row-expanded .postfix-round.row.collapse select,
form .row .postfix-round.collapse.row-expanded select,
form .row-expanded .postfix-round.collapse.row-expanded select,
form .row .postfix-round.row.collapse button,
form .row-expanded .postfix-round.row.collapse button,
form .row .postfix-round.collapse.row-expanded button,
form .row-expanded .postfix-round.collapse.row-expanded 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, form .row-expanded .postfix-round.row.collapse .postfix, form .row .postfix-round.collapse.row-expanded .postfix, form .row-expanded .postfix-round.collapse.row-expanded .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: #666666; }

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

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

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

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  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: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.3125rem; }
  select::-ms-expand {
    display: none; }
  select.radius {
    border-radius: 0px; }
  select:focus {
    background-color: #f3f3f3;
    border-color: #999999; }
  select:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  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-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-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-abide] span.error, [data-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: #676767;
  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%;
  background: #333333; }
  .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: .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 .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.063em) {
    .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: .0625rem;
      font-size: 1rem; }
    .icon-bar > * i {
      font-size: 1.875rem; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar > * label {
    color: #FFFFFF; }
  .icon-bar > * i {
    color: #FFFFFF; }
  .icon-bar > a:hover {
    background: #937e74; }
    .icon-bar > a:hover label {
      color: #FFFFFF; }
    .icon-bar > a:hover i {
      color: #FFFFFF; }
  .icon-bar > a.active {
    background: #937e74; }
    .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.063em) {
    .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.063em) {
    .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.063em) {
    .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.063em) {
    .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.063em) {
    .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.063em) {
    .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.063em) {
    .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.063em) {
  .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.063em) {
  .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.063em) {
  .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.063em) {
  .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.063em) {
  .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.063em) {
  .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.063em) {
  .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: .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: #ededed;
  border-color: #dddddd;
  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: 0px; }

.label {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, 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: #937e74;
  color: #FFFFFF; }
  .label.radius {
    border-radius: 0px; }
  .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: #f1e9dd;
    color: #333333; }
  .label.info {
    background-color: #a0d3e8;
    color: #333333; }

[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 10px;
  z-index: 50; }
  [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
    margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
      margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav a, [data-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: transparent;
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 10px;
    z-index: 10; }
    .orbit-container .orbit-slide-number span {
      font-weight: 700;
      padding: 0.3125rem; }
  .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.063em) {
  .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: 0px;
      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: #e6e6e6; }
    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: #937e74;
      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: #937e74; }
  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: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  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: #d8d8d8;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #f9f7f7;
    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: #937e74; }
      .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
        color: #7f6c63; }
  .panel.radius {
    border-radius: 0px; }

/* 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: "Helvetica Neue", Helvetica, Roboto, Arial, 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: "Helvetica Neue", Helvetica, Roboto, Arial, 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: #937e74;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
    .progress .meter.secondary {
      background: #f1e9dd;
      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: #f1e9dd;
    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: 0px; }
    .progress.radius .meter {
      border-radius: -1px; }
  .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: 0px; }
    .range-slider.radius .range-slider-handle {
      background: #937e74;
      border-radius: 0px; }
      .range-slider.radius .range-slider-handle:hover {
        background: #826f65; }
  .range-slider.round {
    background: #FAFAFA;
    border-radius: 1000px; }
    .range-slider.round .range-slider-handle {
      background: #937e74;
      border-radius: 1000px; }
      .range-slider.round .range-slider-handle:hover {
        background: #826f65; }
  .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: #937e74;
      cursor: default;
      opacity: 0.7; }
      .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
        background: #826f65; }

.range-slider-active-segment {
  background: #f0e7da;
  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: #937e74; }
  .range-slider-handle:hover {
    background: #826f65; }

.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: 0px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  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 (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.063em) {
    .reveal-modal {
      left: 0;
      margin: 0 auto;
      max-width: 73.125rem;
      right: 0;
      width: 80%; } }
  @media only screen and (min-width: 40.063em) {
    .reveal-modal {
      top: 6.25rem; } }
  .reveal-modal.radius {
    box-shadow: none;
    border-radius: 0px; }
  .reveal-modal.round {
    box-shadow: none;
    border-radius: 1000px; }
  .reveal-modal.collapse {
    padding: 0;
    box-shadow: none; }
  @media only screen and (min-width: 40.063em) {
    .reveal-modal.tiny {
      left: 0;
      margin: 0 auto;
      max-width: 73.125rem;
      right: 0;
      width: 30%; } }
  @media only screen and (min-width: 40.063em) {
    .reveal-modal.small {
      left: 0;
      margin: 0 auto;
      max-width: 73.125rem;
      right: 0;
      width: 40%; } }
  @media only screen and (min-width: 40.063em) {
    .reveal-modal.medium {
      left: 0;
      margin: 0 auto;
      max-width: 73.125rem;
      right: 0;
      width: 60%; } }
  @media only screen and (min-width: 40.063em) {
    .reveal-modal.large {
      left: 0;
      margin: 0 auto;
      max-width: 73.125rem;
      right: 0;
      width: 70%; } }
  @media only screen and (min-width: 40.063em) {
    .reveal-modal.xlarge {
      left: 0;
      margin: 0 auto;
      max-width: 73.125rem;
      right: 0;
      width: 95%; } }
  .reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0; }
    @media only screen and (min-width: 40.063em) {
      .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 73.125rem;
        right: 0;
        width: 100%; } }
  .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; }

.side-nav {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, 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: #937e74;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #b3a59e; }
      .side-nav li a:not(.button):active {
        color: #b3a59e; }
    .side-nav li.active > a:first-child:not(.button) {
      color: #b3a59e;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-weight: normal; }
    .side-nav li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    .side-nav li.heading {
      color: #937e74;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }

.split.button {
  position: relative;
  padding-right: 5.0625rem; }
  .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 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: 0px;
    -webkit-border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px; }
  .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: "Helvetica Neue", Helvetica, Roboto, Arial, 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: #737373; }
    .sub-nav dt.active a,
    .sub-nav dd.active a,
    .sub-nav li.active a {
      border-radius: 3px;
      background: #937e74;
      color: #FFFFFF;
      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: #7f6c63; }

.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: .25rem;
    position: absolute;
    top: .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: #937e74; }
  .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: #937e74; }
  .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: #FFF;
  border: solid 2px #937e74;
  margin-bottom: 1.875rem;
  table-layout: auto; }
  table caption {
    background: transparent;
    color: #FFF;
    font-size: 1rem;
    font-weight: bold; }
  table thead {
    background: #937e74; }
    table thead tr th,
    table thead tr td {
      color: #FFF;
      font-size: 0.9375rem;
      font-weight: normal;
      padding: 0.625rem 1.25rem; }
  table tfoot {
    background: #937e74; }
    table tfoot tr th,
    table tfoot tr td {
      color: #FFF;
      font-size: 0.9375rem;
      font-weight: normal;
      padding: 0.625rem 1.25rem; }
  table tr th,
  table tr td {
    color: #000;
    font-size: 0.9375rem;
    padding: 0.625rem 1.25rem;
    text-align: left; }
  table tr.even, table tr.alt, table tr:nth-of-type(even) {
    background: #f1e9dd; }
  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 {
  margin-bottom: 0 !important;
  margin-left: 0; }
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  .tabs:after {
    clear: both; }
  .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: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem 2rem; }
      .tabs dd > a:hover,
      .tabs .tab-title > a:hover {
        background-color: #e1e1e1; }
    .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: 0px;
    -webkit-border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px; }
  .tabs.radius dd:last-child a,
  .tabs.radius .tab:last-child a {
    -webkit-border-bottom-right-radius: 0px;
    -webkit-border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px; }
  .tabs.vertical dd,
  .tabs.vertical .tab-title {
    position: inherit;
    float: none;
    display: block;
    top: auto; }

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%; }
  .tabs-content:before, .tabs-content:after {
    content: " ";
    display: table; }
  .tabs-content:after {
    clear: both; }
  .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.063em) {
  .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%;
  transition: all 200ms ease-out; }
  .th:hover, .th:focus {
    box-shadow: 0 0 6px 1px rgba(147, 126, 116, 0.5); }
  .th.radius {
    border-radius: 0px; }

/* 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 #433934;
    color: #937e74; }
  .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: 0px; }
  .tooltip.round {
    border-radius: 1000px; }
    .tooltip.round > .nub {
      left: 2rem; }
  .tooltip.opened {
    border-bottom: dotted 1px #433934 !important;
    color: #937e74 !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%; } }

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

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #333333; }
  .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: 2.8125rem;
      z-index: 98; }

.top-bar {
  background: #333333;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  .top-bar .row, .top-bar .row-expanded {
    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: .35rem;
    padding-top: .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: 2.8125rem;
    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: 2.8125rem;
      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: #FFFFFF;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    .top-bar .toggle-topbar a {
      color: #FFFFFF;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      .top-bar .toggle-topbar.menu-icon a {
        color: #FFFFFF;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
          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 ""; }
  .top-bar.expanded {
    background: transparent;
    height: auto; }
    .top-bar.expanded .title-area {
      background: #333333; }
    .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 #1a1a1a;
    clear: both;
    height: 1px;
    width: 100%; }
  .top-bar-section ul li {
    background: #333333; }
    .top-bar-section ul li > a {
      color: #FFFFFF;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.8125rem;
      font-weight: normal;
      padding-left: 0.9375rem;
      padding: 12px 0 12px 0.9375rem;
      text-transform: none;
      width: 100%; }
      .top-bar-section ul li > a.button {
        font-size: 0.8125rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        background-color: #937e74;
        border-color: #76655c;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          background-color: #76655c; }
        .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: #f1e9dd;
        border-color: #d6bf9c;
        color: #333333; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          background-color: #d6bf9c; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > a.button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          background-color: #368a55; }
        .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: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          background-color: #cf2a0e; }
        .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: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          background-color: #cf6e0e; }
        .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: #a0d3e8;
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          background-color: #61b6d9; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li > button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      background-color: #937e74;
      border-color: #76655c;
      color: #FFFFFF; }
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        background-color: #76655c; }
      .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: #f1e9dd;
        border-color: #d6bf9c;
        color: #333333; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          background-color: #d6bf9c; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          background-color: #368a55; }
        .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: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          background-color: #cf2a0e; }
        .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: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          background-color: #cf6e0e; }
        .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: #a0d3e8;
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          background-color: #61b6d9; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li:hover:not(.has-form) > a {
      background-color: #555555;
      color: #FFFFFF;
      background: #222222; }
    .top-bar-section ul li.active > a {
      background: #937e74;
      color: #FFFFFF; }
      .top-bar-section ul li.active > a:hover {
        background: #7f6c63;
        color: #FFFFFF; }
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  .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: 0.9375rem;
      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 0.9375rem; }
        .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: #FFFFFF;
          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 0.9375rem; }
      .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 0.9375rem 2px;
      text-transform: uppercase; }

.js-generated {
  display: block; }

@media only screen and (min-width: 40.063em) {
  .top-bar {
    background: #333333;
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .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.53125rem; }
    .top-bar .has-form > .button,
    .top-bar .has-form > button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar.expanded {
      background: #333333; }
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 73.125rem; }
  .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: #222222;
      color: #FFFFFF; }
    .top-bar-section li:not(.has-form) a:not(.button) {
      background: #333333;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li:not(.has-form) a:not(.button):hover {
        background-color: #555555;
        background: #222222; }
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      background: #937e74;
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        background: #7f6c63;
        color: #FFFFFF; }
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      .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: 1.40625rem; }
    .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: "\00bb";
      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: 2.8125rem;
        padding: 12px 0.9375rem;
        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: #FFFFFF;
        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 #4e4e4e;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    .top-bar-section .has-form {
      background: #333333;
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    .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: #222222;
    color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a {
    background: #937e74;
    color: #FFFFFF; }
  .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.063em) 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.063em) {
  .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: #937e74;
  line-height: inherit;
  text-decoration: none; }
  a:hover, a:focus {
    color: #7f6c63; }
  a img {
    border: none; }

/* Default paragraph styles */
p {
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  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: #222222;
  font-family: "robotoregular", Helvetica, Arial, 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: #6f6f6f;
    font-size: 60%;
    line-height: 0; }

h1 {
  font-size: 1.6875rem; }

h2 {
  font-size: 1.0625rem; }

h3 {
  font-size: 1rem; }

h4 {
  font-size: 0.9375rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 0.9375rem; }

.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  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: #fbf8f5;
  border-color: #ece2d2;
  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: "robotoregular", Helvetica, Arial, sans-serif;
  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: #222;
  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: #555555; }
    blockquote cite:before {
      content: "\2014 \0020"; }
    blockquote cite a,
    blockquote cite a:visited {
      color: #555555; }

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f; }

/* 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.063em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  h1 {
    font-size: 2.3125rem; }
  h2 {
    font-size: 1.6875rem; }
  h3 {
    font-size: 1.3125rem; }
  h4 {
    font-size: 1.25rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 0.9375rem; } }

/*
       * 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%;
  -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; }
  .inner-wrap:before, .inner-wrap:after {
    content: " ";
    display: table; }
  .inner-wrap:after {
    clear: both; }

.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 #1a1a1a;
  left: 0; }

.right-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-left: solid 1px #1a1a1a;
  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;
    width: 1rem; }
  .tab-bar .menu-icon span:hover:after {
    box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #937e74;
  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; }
  .left-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #937e74;
  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; }
  .right-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.top-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #937e74;
  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; }
  .top-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.bottom-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #937e74;
  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; }
  .bottom-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

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 #5e5e5e;
    color: #FFF;
    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 #6f5e56;
    color: #FFF;
    display: block;
    padding: 0.66667rem;
    transition: background 300ms ease; }
    ul.off-canvas-list li a:hover {
      background: #c9bfba; }
    ul.off-canvas-list li a:active {
      background: #242424; }

.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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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: transparent;
  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.063em) {
    .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;
  -webkit-overflow-scrolling: touch;
  background: #937e74;
  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 * {
    -webkit-backface-visibility: hidden; }
  .left-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #FFF;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .left-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .left-submenu .back > a:before {
      content: "\AB";
      margin-right: .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;
  -webkit-overflow-scrolling: touch;
  background: #937e74;
  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 * {
    -webkit-backface-visibility: hidden; }
  .right-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #FFF;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .right-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .right-submenu .back > a:after {
      content: "\BB";
      margin-left: .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;
  -webkit-overflow-scrolling: touch;
  background: #937e74;
  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 * {
    -webkit-backface-visibility: hidden; }
  .top-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #FFF;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .top-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  .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;
  -webkit-overflow-scrolling: touch;
  background: #937e74;
  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 * {
    -webkit-backface-visibility: hidden; }
  .bottom-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #FFF;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .bottom-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  .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: "\BB";
  margin-left: .5rem;
  display: inline; }

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "\AB";
  margin-right: .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.063em) {
  .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; } }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* Libraries */
/*
 *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("/stylesheets/fonts/fontawesome-webfont.eot?v=4.0.3");
  src: url("/stylesheets/fonts/fontawesome-webfont.eot?#iefix&v=4.0.3") format("embedded-opentype"), url("/stylesheets/fonts/fontawesome-webfont.woff?v=4.0.3") format("woff"), url("/stylesheets/fonts/fontawesome-webfont.ttf?v=4.0.3") format("truetype"), url("/stylesheets/fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.3333333333333333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.2857142857142858em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.142857142857143em;
  list-style-type: none; }

.fa-ul > li {
  position: relative; }

.fa-li {
  position: absolute;
  left: -2.142857142857143em;
  width: 2.142857142857143em;
  top: 0.14285714285714285em;
  text-align: center; }

.fa-li.fa-lg {
  left: -1.8571428571428572em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em; }

.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: spin 2s infinite linear;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear; }

@-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); } }

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

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(359deg); } }

.fa-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); }

.fa-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); }

.fa-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); }

.fa-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); }

.fa-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); }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #ffffff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000"; }

.fa-music:before {
  content: "\f001"; }

.fa-search:before {
  content: "\f002"; }

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

.fa-heart:before {
  content: "\f004"; }

.fa-star:before {
  content: "\f005"; }

.fa-star-o:before {
  content: "\f006"; }

.fa-user:before {
  content: "\f007"; }

.fa-film:before {
  content: "\f008"; }

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

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

.fa-th-list:before {
  content: "\f00b"; }

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

.fa-times:before {
  content: "\f00d"; }

.fa-search-plus:before {
  content: "\f00e"; }

.fa-search-minus:before {
  content: "\f010"; }

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

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

.fa-gear:before,
.fa-cog:before {
  content: "\f013"; }

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

.fa-home:before {
  content: "\f015"; }

.fa-file-o:before {
  content: "\f016"; }

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

.fa-road:before {
  content: "\f018"; }

.fa-download:before {
  content: "\f019"; }

.fa-arrow-circle-o-down:before {
  content: "\f01a"; }

.fa-arrow-circle-o-up:before {
  content: "\f01b"; }

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

.fa-play-circle-o:before {
  content: "\f01d"; }

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e"; }

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

.fa-list-alt:before {
  content: "\f022"; }

.fa-lock:before {
  content: "\f023"; }

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

.fa-headphones:before {
  content: "\f025"; }

.fa-volume-off:before {
  content: "\f026"; }

.fa-volume-down:before {
  content: "\f027"; }

.fa-volume-up:before {
  content: "\f028"; }

.fa-qrcode:before {
  content: "\f029"; }

.fa-barcode:before {
  content: "\f02a"; }

.fa-tag:before {
  content: "\f02b"; }

.fa-tags:before {
  content: "\f02c"; }

.fa-book:before {
  content: "\f02d"; }

.fa-bookmark:before {
  content: "\f02e"; }

.fa-print:before {
  content: "\f02f"; }

.fa-camera:before {
  content: "\f030"; }

.fa-font:before {
  content: "\f031"; }

.fa-bold:before {
  content: "\f032"; }

.fa-italic:before {
  content: "\f033"; }

.fa-text-height:before {
  content: "\f034"; }

.fa-text-width:before {
  content: "\f035"; }

.fa-align-left:before {
  content: "\f036"; }

.fa-align-center:before {
  content: "\f037"; }

.fa-align-right:before {
  content: "\f038"; }

.fa-align-justify:before {
  content: "\f039"; }

.fa-list:before {
  content: "\f03a"; }

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b"; }

.fa-indent:before {
  content: "\f03c"; }

.fa-video-camera:before {
  content: "\f03d"; }

.fa-picture-o:before {
  content: "\f03e"; }

.fa-pencil:before {
  content: "\f040"; }

.fa-map-marker:before {
  content: "\f041"; }

.fa-adjust:before {
  content: "\f042"; }

.fa-tint:before {
  content: "\f043"; }

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044"; }

.fa-share-square-o:before {
  content: "\f045"; }

.fa-check-square-o:before {
  content: "\f046"; }

.fa-arrows:before {
  content: "\f047"; }

.fa-step-backward:before {
  content: "\f048"; }

.fa-fast-backward:before {
  content: "\f049"; }

.fa-backward:before {
  content: "\f04a"; }

.fa-play:before {
  content: "\f04b"; }

.fa-pause:before {
  content: "\f04c"; }

.fa-stop:before {
  content: "\f04d"; }

.fa-forward:before {
  content: "\f04e"; }

.fa-fast-forward:before {
  content: "\f050"; }

.fa-step-forward:before {
  content: "\f051"; }

.fa-eject:before {
  content: "\f052"; }

.fa-chevron-left:before {
  content: "\f053"; }

.fa-chevron-right:before {
  content: "\f054"; }

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

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

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

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

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

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

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

.fa-times-circle-o:before {
  content: "\f05c"; }

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

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

.fa-arrow-left:before {
  content: "\f060"; }

.fa-arrow-right:before {
  content: "\f061"; }

.fa-arrow-up:before {
  content: "\f062"; }

.fa-arrow-down:before {
  content: "\f063"; }

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064"; }

.fa-expand:before {
  content: "\f065"; }

.fa-compress:before {
  content: "\f066"; }

.fa-plus:before {
  content: "\f067"; }

.fa-minus:before {
  content: "\f068"; }

.fa-asterisk:before {
  content: "\f069"; }

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

.fa-gift:before {
  content: "\f06b"; }

.fa-leaf:before {
  content: "\f06c"; }

.fa-fire:before {
  content: "\f06d"; }

.fa-eye:before {
  content: "\f06e"; }

.fa-eye-slash:before {
  content: "\f070"; }

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071"; }

.fa-plane:before {
  content: "\f072"; }

.fa-calendar:before {
  content: "\f073"; }

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

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

.fa-magnet:before {
  content: "\f076"; }

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

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

.fa-retweet:before {
  content: "\f079"; }

.fa-shopping-cart:before {
  content: "\f07a"; }

.fa-folder:before {
  content: "\f07b"; }

.fa-folder-open:before {
  content: "\f07c"; }

.fa-arrows-v:before {
  content: "\f07d"; }

.fa-arrows-h:before {
  content: "\f07e"; }

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

.fa-twitter-square:before {
  content: "\f081"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-camera-retro:before {
  content: "\f083"; }

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

.fa-gears:before,
.fa-cogs:before {
  content: "\f085"; }

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

.fa-thumbs-o-up:before {
  content: "\f087"; }

.fa-thumbs-o-down:before {
  content: "\f088"; }

.fa-star-half:before {
  content: "\f089"; }

.fa-heart-o:before {
  content: "\f08a"; }

.fa-sign-out:before {
  content: "\f08b"; }

.fa-linkedin-square:before {
  content: "\f08c"; }

.fa-thumb-tack:before {
  content: "\f08d"; }

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

.fa-sign-in:before {
  content: "\f090"; }

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

.fa-github-square:before {
  content: "\f092"; }

.fa-upload:before {
  content: "\f093"; }

.fa-lemon-o:before {
  content: "\f094"; }

.fa-phone:before {
  content: "\f095"; }

.fa-square-o:before {
  content: "\f096"; }

.fa-bookmark-o:before {
  content: "\f097"; }

.fa-phone-square:before {
  content: "\f098"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-github:before {
  content: "\f09b"; }

.fa-unlock:before {
  content: "\f09c"; }

.fa-credit-card:before {
  content: "\f09d"; }

.fa-rss:before {
  content: "\f09e"; }

.fa-hdd-o:before {
  content: "\f0a0"; }

.fa-bullhorn:before {
  content: "\f0a1"; }

.fa-bell:before {
  content: "\f0f3"; }

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

.fa-hand-o-right:before {
  content: "\f0a4"; }

.fa-hand-o-left:before {
  content: "\f0a5"; }

.fa-hand-o-up:before {
  content: "\f0a6"; }

.fa-hand-o-down:before {
  content: "\f0a7"; }

.fa-arrow-circle-left:before {
  content: "\f0a8"; }

.fa-arrow-circle-right:before {
  content: "\f0a9"; }

.fa-arrow-circle-up:before {
  content: "\f0aa"; }

.fa-arrow-circle-down:before {
  content: "\f0ab"; }

.fa-globe:before {
  content: "\f0ac"; }

.fa-wrench:before {
  content: "\f0ad"; }

.fa-tasks:before {
  content: "\f0ae"; }

.fa-filter:before {
  content: "\f0b0"; }

.fa-briefcase:before {
  content: "\f0b1"; }

.fa-arrows-alt:before {
  content: "\f0b2"; }

.fa-group:before,
.fa-users:before {
  content: "\f0c0"; }

.fa-chain:before,
.fa-link:before {
  content: "\f0c1"; }

.fa-cloud:before {
  content: "\f0c2"; }

.fa-flask:before {
  content: "\f0c3"; }

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4"; }

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5"; }

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

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7"; }

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

.fa-bars:before {
  content: "\f0c9"; }

.fa-list-ul:before {
  content: "\f0ca"; }

.fa-list-ol:before {
  content: "\f0cb"; }

.fa-strikethrough:before {
  content: "\f0cc"; }

.fa-underline:before {
  content: "\f0cd"; }

.fa-table:before {
  content: "\f0ce"; }

.fa-magic:before {
  content: "\f0d0"; }

.fa-truck:before {
  content: "\f0d1"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-google-plus:before {
  content: "\f0d5"; }

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

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

.fa-caret-up:before {
  content: "\f0d8"; }

.fa-caret-left:before {
  content: "\f0d9"; }

.fa-caret-right:before {
  content: "\f0da"; }

.fa-columns:before {
  content: "\f0db"; }

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc"; }

.fa-sort-down:before,
.fa-sort-asc:before {
  content: "\f0dd"; }

.fa-sort-up:before,
.fa-sort-desc:before {
  content: "\f0de"; }

.fa-envelope:before {
  content: "\f0e0"; }

.fa-linkedin:before {
  content: "\f0e1"; }

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2"; }

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3"; }

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4"; }

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

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

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7"; }

.fa-sitemap:before {
  content: "\f0e8"; }

.fa-umbrella:before {
  content: "\f0e9"; }

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea"; }

.fa-lightbulb-o:before {
  content: "\f0eb"; }

.fa-exchange:before {
  content: "\f0ec"; }

.fa-cloud-download:before {
  content: "\f0ed"; }

.fa-cloud-upload:before {
  content: "\f0ee"; }

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

.fa-stethoscope:before {
  content: "\f0f1"; }

.fa-suitcase:before {
  content: "\f0f2"; }

.fa-bell-o:before {
  content: "\f0a2"; }

.fa-coffee:before {
  content: "\f0f4"; }

.fa-cutlery:before {
  content: "\f0f5"; }

.fa-file-text-o:before {
  content: "\f0f6"; }

.fa-building-o:before {
  content: "\f0f7"; }

.fa-hospital-o:before {
  content: "\f0f8"; }

.fa-ambulance:before {
  content: "\f0f9"; }

.fa-medkit:before {
  content: "\f0fa"; }

.fa-fighter-jet:before {
  content: "\f0fb"; }

.fa-beer:before {
  content: "\f0fc"; }

.fa-h-square:before {
  content: "\f0fd"; }

.fa-plus-square:before {
  content: "\f0fe"; }

.fa-angle-double-left:before {
  content: "\f100"; }

.fa-angle-double-right:before {
  content: "\f101"; }

.fa-angle-double-up:before {
  content: "\f102"; }

.fa-angle-double-down:before {
  content: "\f103"; }

.fa-angle-left:before {
  content: "\f104"; }

.fa-angle-right:before {
  content: "\f105"; }

.fa-angle-up:before {
  content: "\f106"; }

.fa-angle-down:before {
  content: "\f107"; }

.fa-desktop:before {
  content: "\f108"; }

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

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

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

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

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

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

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

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

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-folder-o:before {
  content: "\f114"; }

.fa-folder-open-o:before {
  content: "\f115"; }

.fa-smile-o:before {
  content: "\f118"; }

.fa-frown-o:before {
  content: "\f119"; }

.fa-meh-o:before {
  content: "\f11a"; }

.fa-gamepad:before {
  content: "\f11b"; }

.fa-keyboard-o:before {
  content: "\f11c"; }

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

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

.fa-terminal:before {
  content: "\f120"; }

.fa-code:before {
  content: "\f121"; }

.fa-reply-all:before {
  content: "\f122"; }

.fa-mail-reply-all:before {
  content: "\f122"; }

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123"; }

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

.fa-crop:before {
  content: "\f125"; }

.fa-code-fork:before {
  content: "\f126"; }

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127"; }

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

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

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

.fa-superscript:before {
  content: "\f12b"; }

.fa-subscript:before {
  content: "\f12c"; }

.fa-eraser:before {
  content: "\f12d"; }

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

.fa-microphone:before {
  content: "\f130"; }

.fa-microphone-slash:before {
  content: "\f131"; }

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

.fa-calendar-o:before {
  content: "\f133"; }

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

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

.fa-maxcdn:before {
  content: "\f136"; }

.fa-chevron-circle-left:before {
  content: "\f137"; }

.fa-chevron-circle-right:before {
  content: "\f138"; }

.fa-chevron-circle-up:before {
  content: "\f139"; }

.fa-chevron-circle-down:before {
  content: "\f13a"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-css3:before {
  content: "\f13c"; }

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

.fa-unlock-alt:before {
  content: "\f13e"; }

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

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

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

.fa-rss-square:before {
  content: "\f143"; }

.fa-play-circle:before {
  content: "\f144"; }

.fa-ticket:before {
  content: "\f145"; }

.fa-minus-square:before {
  content: "\f146"; }

.fa-minus-square-o:before {
  content: "\f147"; }

.fa-level-up:before {
  content: "\f148"; }

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

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

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

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

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

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

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150"; }

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151"; }

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152"; }

.fa-euro:before,
.fa-eur:before {
  content: "\f153"; }

.fa-gbp:before {
  content: "\f154"; }

.fa-dollar:before,
.fa-usd:before {
  content: "\f155"; }

.fa-rupee:before,
.fa-inr:before {
  content: "\f156"; }

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157"; }

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158"; }

.fa-won:before,
.fa-krw:before {
  content: "\f159"; }

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a"; }

.fa-file:before {
  content: "\f15b"; }

.fa-file-text:before {
  content: "\f15c"; }

.fa-sort-alpha-asc:before {
  content: "\f15d"; }

.fa-sort-alpha-desc:before {
  content: "\f15e"; }

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

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

.fa-sort-numeric-asc:before {
  content: "\f162"; }

.fa-sort-numeric-desc:before {
  content: "\f163"; }

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

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

.fa-youtube-square:before {
  content: "\f166"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-xing:before {
  content: "\f168"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-youtube-play:before {
  content: "\f16a"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-adn:before {
  content: "\f170"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-bitbucket-square:before {
  content: "\f172"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-tumblr-square:before {
  content: "\f174"; }

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

.fa-long-arrow-up:before {
  content: "\f176"; }

.fa-long-arrow-left:before {
  content: "\f177"; }

.fa-long-arrow-right:before {
  content: "\f178"; }

.fa-apple:before {
  content: "\f179"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-android:before {
  content: "\f17b"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-trello:before {
  content: "\f181"; }

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

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

.fa-gittip:before {
  content: "\f184"; }

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

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

.fa-archive:before {
  content: "\f187"; }

.fa-bug:before {
  content: "\f188"; }

.fa-vk:before {
  content: "\f189"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-arrow-circle-o-right:before {
  content: "\f18e"; }

.fa-arrow-circle-o-left:before {
  content: "\f190"; }

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191"; }

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

.fa-wheelchair:before {
  content: "\f193"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195"; }

.fa-plus-square-o:before {
  content: "\f196"; }

/* coredna  */
@font-face {
  font-family: 'fontello';
  src: url("/stylesheets/fonts/fontello.eot?682176");
  src: url("/stylesheets/fonts/fontello.eot?682176#iefix") format("embedded-opentype"), url("/stylesheets/fonts/fontello.woff?682176") format("woff"), url("/stylesheets/fonts/fontello.ttf?682176") format("truetype"), url("/stylesheets/fonts/fontello.svg?682176#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotoregular';
  src: url("/stylesheets/fonts/Roboto-Regular-webfont.eot");
  src: url("/stylesheets/fonts/Roboto-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/Roboto-Regular-webfont.woff2") format("woff2"), url("/stylesheets/fonts/Roboto-Regular-webfont.woff") format("woff"), url("/stylesheets/fonts/Roboto-Regular-webfont.ttf") format("truetype"), url("/stylesheets/fonts/Roboto-Regular-webfont.svg#robotoregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotoregular';
  src: url("/stylesheets/fonts/Roboto-Italic-webfont.eot");
  src: url("/stylesheets/fonts/Roboto-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/Roboto-Italic-webfont.woff2") format("woff2"), url("/stylesheets/fonts/Roboto-Italic-webfont.woff") format("woff"), url("/stylesheets/fonts/Roboto-Italic-webfont.ttf") format("truetype"), url("/stylesheets/fonts/Roboto-Italic-webfont.svg#robotoitalic") format("svg");
  font-weight: normal;
  font-style: italic; }

@font-face {
  font-family: 'robotoregular';
  src: url("/stylesheets/fonts/Roboto-Bold-webfont.eot");
  src: url("/stylesheets/fonts/Roboto-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/Roboto-Bold-webfont.woff2") format("woff2"), url("/stylesheets/fonts/Roboto-Bold-webfont.woff") format("woff"), url("/stylesheets/fonts/Roboto-Bold-webfont.ttf") format("truetype"), url("/stylesheets/fonts/Roboto-Bold-webfont.svg#robotobold") format("svg");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: 'robotoregular';
  src: url("/stylesheets/fonts/Roboto-BoldItalic-webfont.eot");
  src: url("/stylesheets/fonts/Roboto-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/Roboto-BoldItalic-webfont.woff2") format("woff2"), url("/stylesheets/fonts/Roboto-BoldItalic-webfont.woff") format("woff"), url("/stylesheets/fonts/Roboto-BoldItalic-webfont.ttf") format("truetype"), url("/stylesheets/fonts/Roboto-BoldItalic-webfont.svg#robotobold_italic") format("svg");
  font-weight: bold;
  font-style: italic; }

@font-face {
  font-family: 'robotomedium';
  src: url("/stylesheets/fonts/Roboto-Medium-webfont.eot");
  src: url("/stylesheets/fonts/Roboto-Medium-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/Roboto-Medium-webfont.woff2") format("woff2"), url("/stylesheets/fonts/Roboto-Medium-webfont.woff") format("woff"), url("/stylesheets/fonts/Roboto-Medium-webfont.ttf") format("truetype"), url("/stylesheets/fonts/Roboto-Medium-webfont.svg#robotomedium") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotolight';
  src: url("/stylesheets/fonts/Roboto-Light-webfont.eot");
  src: url("/stylesheets/fonts/Roboto-Light-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/Roboto-Light-webfont.woff2") format("woff2"), url("/stylesheets/fonts/Roboto-Light-webfont.woff") format("woff"), url("/stylesheets/fonts/Roboto-Light-webfont.ttf") format("truetype"), url("/stylesheets/fonts/Roboto-Light-webfont.svg#robotolight") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'superclarendonregular';
  src: url("/stylesheets/fonts/superclarendon-webfont.eot");
  src: url("/stylesheets/fonts/superclarendon-webfont.eot?#iefix") format("embedded-opentype"), url("/stylesheets/fonts/superclarendon-webfont.woff2") format("woff2"), url("/stylesheets/fonts/superclarendon-webfont.woff") format("woff"), url("/stylesheets/fonts/superclarendon-webfont.ttf") format("truetype"), url("/stylesheets/fonts/superclarendon-webfont.svg#superclarendonregular") format("svg");
  font-weight: normal;
  font-style: normal; }

:focus {
  outline: none !important; }

::-moz-focus-inner {
  border: 0 !important; }

/* Default */
/* font */
/* fix for pixelated font */
html {
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important; }

body {
  /* font-family: 'Helvetica Neue','Helvetica',Arial,sans-serif; */ }

/* ==========================================================================
   Helper classes
   ========================================================================== */
.inline-block {
  display: inline-block; }

/*
 * Image replacement
 */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  *text-indent: -624.9375rem; }

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%; }

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
.hidden {
  display: none !important;
  visibility: hidden; }

.hide {
  display: none; }

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 0.0625rem;
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 0.0625rem; }

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

/*
 * Hide visually and from screenreaders, but maintain layout
 */
.invisible {
  visibility: hidden; }

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.clearfix:after {
  clear: both; }

.fontawesome {
  font-family: FontAwesome; }

/*
* custom styles
*/
blockquote {
  font-family: 'Avenir Next LT Pro Bold';
  font-size: 1.25rem;
  border: none; }
  blockquote:before {
    content: open-quote; }
  blockquote:after {
    content: close-quote; }

@media only screen and (max-width: 64em) {
  .column, .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; }
  .row .row, .row-expanded .row, .row .row-expanded, .row-expanded .row-expanded {
    margin-left: -1.25rem;
    margin-right: -1.25rem; } }

.crumbtrail {
  margin: 1.5rem 0; }
  .crumbtrail ul {
    margin: 0;
    list-style: none; }
    .crumbtrail ul li {
      display: inline-block; }

img {
  margin: 0 0 0.75rem; }

/* .main-container .main section.content {
	@media only screen and (min-width:64.0625em) {
		margin-bottom: rem-calc(98);
	}
}
 */
iframe {
  border: 0; }

.button.long {
  padding-left: 60px;
  padding-right: 60px; }

.button.medium {
  padding-left: 30px;
  padding-right: 30px; }

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

.small-font {
  font-size: 0.875rem; }
  .small-font p, .small-font label, .small-font span {
    font-size: 0.875rem;
    margin-bottom: 0.375rem; }

.table-outer {
  display: table; }
  .table-outer .table-inner {
    display: block;
    margin-bottom: 0.625rem; }
    @media only screen and (min-width: 40.063em) {
      .table-outer .table-inner {
        display: table-cell;
        margin: 0; } }

.button {
  font-size: 0.875rem;
  text-transform: uppercase; }
  .button:hover, .button:active, .button:visited {
    text-decoration: none; }

.invisible {
  border: none;
  background: transparent;
  visibility: hidden; }

.flexslider {
  margin: 0px !important;
  border: none !important;
  background: transparent !important; }

.flex-control-paging li a {
  width: 0.8125rem !important;
  height: 0.8125rem !important;
  background: transparent !important;
  border: 1px solid #f1e9dd !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  -o-box-shadow: none !important;
  box-shadow: none !important;
  font-size: 0px !important; }
  .flex-control-paging li a:hover {
    background: #FFF !important; }

.flex-control-paging li a.flex-active {
  background: #FFF !important; }

.flex-control-nav {
  bottom: 3.125rem !important;
  text-align: right !important;
  z-index: 10 !important;
  right: 1.875rem !important; }

[class^="icon-"]:before, .button-prev:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em; }

.icon-search:before {
  content: '\e800'; }

.icon-up:before {
  content: '\e801'; }

.icon-down:before {
  content: '\e802'; }

.icon-left:before, .button-prev:before {
  content: '\e803'; }

.icon-right:before {
  content: '\e804'; }

.icon-left-open:before {
  content: '\e805'; }

.icon-right-open:before {
  content: '\e806'; }

.icon-twitter-bird:before {
  content: '\e807'; }

a {
  text-decoration: none;
  color: #b20838; }
  a:hover {
    text-decoration: none;
    color: #353535; }

body, p, td, th, ul li, ol li, span, blockquote, div, label, h2, h3, h4, h5, h6 {
  color: #937e74; }

h1 {
  color: #b20838;
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  margin-top: 0px; }

h2 {
  font-family: "robotolight", Helvetica, Arial, sans-serif; }

p {
  margin-bottom: 2.5rem; }

table.responsive {
  max-width: 100%;
  width: auto !important; }
  @media only screen and (max-width: 40em) {
    table.responsive tr td {
      display: block;
      width: 100% !important; } }

a:focus, a:active {
  color: inherit; }

.img-no-mg {
  margin: 0 !important;
  padding: 0 !important; }

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-loading .slick-list {
  background: white url("/template_images/ajax-loader.gif") center center no-repeat; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  zoom: 1; }

.slick-track:before, .slick-track:after {
  content: "";
  display: table; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("/fonts/slick.eot");
  src: url("/fonts/slick.eot?#iefix") format("embedded-opentype"), url("/fonts/slick.woff") format("woff"), url("/fonts/slick.ttf") format("truetype"), url("/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev, .slick-next {
  position: absolute;
  display: block;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  background-image: url("/template_images/slider_arrows.png");
  color: transparent;
  top: 40%;
  margin-top: -10px;
  padding: 0;
  border: none;
  outline: none;
  background-position: left;
  background-size: cover;
  background-repeat: no-repeat;
  height: 30px;
  width: 31px; }

.slick-next {
  background-position: right; }

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  outline: none;
  background-color: transparent;
  color: #937e74; }

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
  color: #937e74; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: 0.25; }

/* .slick-prev:before, .slick-next:before { font-family: "fontawesome"; font-size: 30px; line-height: 1; color: white; opacity: 0.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } */
/* .slick-prev {
  left: 20px;
  @media only screen and (min-width:40.063em){
    left: 15px;
  }
}
.slick-prev:before { content: "\f104"; }

.slick-next {
  right: 20px;
  @media only screen and (min-width:40.063em){
    right: 15px;
  }
}
.slick-next:before { content: "\f105"; } */
/* Dots */
/*.slick-slider { margin-bottom: 30px; }*/
.slick-dots {
  position: absolute;
  /*bottom: -45px;*/
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
  margin: 0; }

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer; }

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2022";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75; }

/**
 * Default DropKick theme
 *
 * Feel free to edit the default theme
 * or even add your own.
 *
 * See the readme for themeing help
 *
 */
.dk_container {
  background-color: #ffffff;
  font-size: 1rem;
  margin-bottom: 1.0625rem; }

.dk_container:focus {
  outline: 0; }

.dk_container a {
  cursor: pointer;
  text-decoration: none;
  font-weight: normal;
  font-size: 1rem;
  line-height: normal;
  /* border: 0.0625rem solid #727272; */
  /* background: #f4f4f4; */
  z-index: 1;
  height: 2.53125rem;
  text-transform: uppercase; }

.dk_toggle {
  /* border: 1px solid #eaedef; */
  border: none;
  padding: 0.53125rem 2.8125rem 0.53125rem 0.53125rem;
  position: relative;
  font-size: 1rem;
  color: #000; }

.dk_toggle:hover {
  border-color: #937e74;
  text-decoration: none;
  color: #937e74;
  border-width: 0.0625rem; }
  .dk_toggle:hover .dk_toggle:after {
    color: #937e74; }

.dk_toggle:after {
  position: absolute;
  top: 12%;
  right: 10px;
  font-family: 'fontawesome';
  content: "\f0dd";
  font-size: 1.125rem;
  vertical-align: top;
  padding-top: 0.25rem;
  color: #34657f; }

/* Applied when the dropdown is focused */
.dk_focus .dk_toggle {
  border-color: #eaedef; }

/* Applied whenever the dropdown is open */
.dk_open {
  /**
   * Help: Dropdown menu is covered by something
   * Try setting this value higher
   */
  z-index: 10; }

.dk_open .dk_toggle {
  border-color: #eaedef; }

/* The outer container of the options */
.dk_options {
  background: #ececed;
  /* Removes transparent background on iOS5+ scroll */ }

.dk_options a {
  background-color: #ffffff;
  border-top: 1px solid #FFF;
  padding: 0px 10px;
  padding-top: 8px;
  color: #937e74; }

.dk_options a:hover,
.dk_options .dk_option_current a, .sidebar .dk_options li a:hover {
  border-bottom-width: 0.0625rem;
  color: #000000;
  background-color: #fbfbfb;
  text-decoration: none; }

.dk_options li:last-child a {
  /* border-bottom: none;  */ }

.dk_options .disabled {
  cursor: default; }

.dk_options .disabled a {
  color: #aaa; }

.dk_options .disabled:hover, .dk_options .disabled:hover a {
  cursor: default;
  background-color: #ffffff;
  border-bottom-color: #ffffff; }

/* Inner container for options, this is what makes the scrollbar possible. */
.dk_options_inner {
  max-height: 250px;
  color: #000; }

/******  End Theme ******/
/***** Critical to the continued enjoyment of working dropdowns ******/
.dk_container {
  display: none;
  /* float: left;  */ }

.dk_container a {
  outline: 0; }

.dk_toggle {
  display: -moz-inline-stack;
  display: inline-block;
  *display: inline;
  position: relative;
  zoom: 1; }

.dk_open {
  position: relative; }

.dk_open .dk_options {
  display: block; }

.dk_open .dk_label {
  color: inherit; }

.dk_options {
  display: none;
  margin-top: 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 1;
  border: 1px solid #ffffff;
  border-top: none; }

.dk_options a, .dk_options a:link, .dk_options a:visited {
  display: block; }

.dk_options_inner {
  overflow: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
  margin: 0;
  padding: 0; }

.dk_options_inner li {
  margin: 0 !important;
  padding: 0 !important; }

.dk_options_inner li:before {
  /* content:""; */
  /* padding:0; */ }

/* Hides only dropkick <select> instances */
.dk_container select {
  position: absolute;
  top: -99999em;
  visibility: hidden;
  width: 0;
  /* fix - overflow in tablet-mobile*/ }

/*  nativeMobile override */
.dk_mobile {
  position: relative; }

.dk_mobile select {
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  visibility: visible;
  opacity: 0;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none; }

/***** End Critical to the continued enjoyment of working dropdowns ******/
/* share this css issue fix
* twitter button cut off
* fixing twitter affects fblike button - third css below fixed this
*/
.stButton .stButton_gradient {
  height: 24px !important; }

.stButton .stFb, .stButton .stTwbutton, .stButton .stMainServices {
  height: 24px !important; }

.st_fblike_hcount > span {
  margin: 0 !important;
  vertical-align: top !important; }

.select_holder {
  position: relative; }
  .select_holder .fa {
    position: absolute;
    right: 2px;
    top: 3px;
    height: 35px;
    display: inline-block;
    width: 28px;
    vertical-align: middle;
    background: #FAFAFA;
    padding-top: 11px;
    text-align: center; }

/*
 * jQuery FlexSlider v2.2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */
/* Browser Resets
*********************************/
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus {
  outline: none; }

.slides,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Icon Fonts
*********************************/
/* Font-face Icons */
@font-face {
  font-family: 'flexslider-icon';
  src: url("/css/fonts/flexslider-icon.eot");
  src: url("/css/fonts/flexslider-icon.eot?#iefix") format("embedded-opentype"), url("/css/fonts/flexslider-icon.woff") format("woff"), url("/css/fonts/flexslider-icon.ttf") format("truetype"), url("/css/fonts/flexslider-icon.svg#flexslider-icon") format("svg");
  font-weight: normal;
  font-style: normal; }

/* FlexSlider Necessary Styles
*********************************/
.flexslider {
  margin: 0;
  padding: 0; }

.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden; }

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
  width: 100%;
  display: block; }

.flex-pauseplay span {
  text-transform: capitalize; }

/* Clearfix for the .slides element */
.slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

html[xmlns] .slides {
  display: block; }

* html .slides {
  height: 1%; }

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
  display: block; }

/* FlexSlider Default Theme
*********************************/
.flexslider {
  margin: 0 0 60px;
  background: #fff;
  border: 4px solid #fff;
  position: relative;
  zoom: 1; }

.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease; }

.loading .flex-viewport {
  max-height: 300px; }

.flexslider .slides {
  zoom: 1; }

.carousel li {
  margin-right: 5px; }

/* Direction Nav */
.flex-direction-nav {
  *height: 0; }

.flex-direction-nav a {
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease; }

.flex-direction-nav .flex-prev {
  left: -50px; }

.flex-direction-nav .flex-next {
  right: -50px;
  text-align: right; }

.flexslider:hover .flex-prev {
  opacity: 0.7;
  left: 10px; }

.flexslider:hover .flex-next {
  opacity: 0.7;
  right: 10px; }

.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {
  opacity: 1; }

.flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default; }

.flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 40px;
  display: inline-block;
  content: '\f001'; }

.flex-direction-nav a.flex-next:before {
  content: '\f002'; }

/* Pause/Play */
.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000; }

.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004'; }

.flex-pauseplay a:hover {
  opacity: 1; }

.flex-pauseplay a.flex-play:before {
  content: '\f003'; }

/* Control Nav */
.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center; }

.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline; }

.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); }

.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7); }

.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default; }

.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden; }

.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0; }

.flex-control-thumbs img {
  width: 100%;
  display: block;
  opacity: .7;
  cursor: pointer; }

.flex-control-thumbs img:hover {
  opacity: 1; }

.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default; }

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px; }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px; } }

/**
 * Default DropKick theme
 *
 * Feel free to edit the default theme
 * or even add your own.
 *
 * See the readme for themeing help
 *
 */
.dk_container {
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 18px; }
  .dk_container:focus {
    outline: 0; }
  .dk_container a {
    cursor: pointer;
    text-decoration: none; }

.dk_toggle {
  border: none;
  color: #333;
  padding: 9px 45px 9px 10px;
  position: relative; }
  .dk_toggle:hover, .dk_toggle:focus {
    border-color: #8c8c8c;
    text-decoration: none; }
  .dk_toggle:after {
    position: absolute;
    top: 13%;
    right: 15px;
    content: '\f107';
    font-family: 'FontAwesome';
    font-size: 30px;
    color: #f8981d; }

.dk_focus .dk_toggle {
  border-color: #40b5e2; }

.dk_open {
  z-index: 10; }
  .dk_open .dk_toggle {
    background-color: #fff;
    color: #4d4e53; }

.dk_options {
  background: #fefefe;
  box-shadow: 0px 5px 10px 0px #ddd; }
  .dk_options a {
    background-color: #fff;
    border-bottom: 1px solid #e8e8e8;
    font-weight: bold;
    padding: 3px 10px;
    color: #4d4e53; }
  .dk_options a:hover, .dk_options:focus,
  .dk_options .dk_option_current a {
    color: #f8981d;
    text-decoration: none; }
  .dk_options li:last-child a {
    border-bottom: none; }
  .dk_options .disabled {
    cursor: default; }
    .dk_options .disabled a {
      color: #aaa; }
    .dk_options .disabled:hover, .dk_options .disabled:hover a .dk_options .disabled:focus, .dk_options .disabled:focus a {
      cursor: default;
      background-color: #fff;
      border-bottom-color: #999; }

.dk_options_inner {
  max-height: 250px;
  border-top: 1px solid #e8e8e8;
  border-bottom-width: 2px;
  border-bottom-color: #999;
  color: #333; }

.dk_container {
  display: none;
  float: left; }
  .dk_container a {
    outline: 0; }

.dk_toggle {
  display: -moz-inline-stack;
  display: inline-block;
  *display: inline;
  position: relative;
  zoom: 1; }

.dk_open {
  position: relative; }
  .dk_open .dk_options {
    display: block; }
  .dk_open .dk_label {
    color: inherit; }

.dk_options {
  display: none;
  margin-top: -1px;
  position: absolute;
  right: 0;
  width: 100%; }
  .dk_options a, .dk_options a:link, .dk_options a:visited {
    display: block; }

.dk_options_inner {
  overflow: auto;
  position: relative;
  -webkit-overflow-scrolling: touch; }

.dk_container select {
  position: absolute;
  left: 0;
  top: -99999em;
  visibility: hidden; }

.dk_mobile {
  position: relative; }
  .dk_mobile select {
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    visibility: visible;
    opacity: 0;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none; }

.dk_options_inner {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0; }
  .dk_options_inner li {
    list-style: none;
    margin: 0;
    padding: 0; }

.dk_container {
  width: 100%; }

.dk_toggle {
  width: 100% !important; }

.ui-helper-hidden {
  display: none; }

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none; }

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse; }

.ui-helper-clearfix:after {
  clear: both; }

.ui-helper-clearfix {
  min-height: 0;
  /* support: IE7 */ }

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0);
  /* support: IE8 */ }

.ui-front {
  z-index: 100; }

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important; }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.ui-draggable-handle {
  -ms-touch-action: none;
  touch-action: none; }

.ui-resizable {
  position: relative; }

.ui-resizable-handle {
  position: absolute;
  font-size: 0.1px;
  display: block;
  -ms-touch-action: none;
  touch-action: none; }

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
  display: none; }

.ui-resizable-n {
  cursor: n-resize;
  height: 7px;
  width: 100%;
  top: -5px;
  left: 0; }

.ui-resizable-s {
  cursor: s-resize;
  height: 7px;
  width: 100%;
  bottom: -5px;
  left: 0; }

.ui-resizable-e {
  cursor: e-resize;
  width: 7px;
  right: -5px;
  top: 0;
  height: 100%; }

.ui-resizable-w {
  cursor: w-resize;
  width: 7px;
  left: -5px;
  top: 0;
  height: 100%; }

.ui-resizable-se {
  cursor: se-resize;
  width: 12px;
  height: 12px;
  right: 1px;
  bottom: 1px; }

.ui-resizable-sw {
  cursor: sw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  bottom: -5px; }

.ui-resizable-nw {
  cursor: nw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  top: -5px; }

.ui-resizable-ne {
  cursor: ne-resize;
  width: 9px;
  height: 9px;
  right: -5px;
  top: -5px; }

.ui-selectable {
  -ms-touch-action: none;
  touch-action: none; }

.ui-selectable-helper {
  position: absolute;
  z-index: 100;
  border: 1px dotted black; }

.ui-sortable-handle {
  -ms-touch-action: none;
  touch-action: none; }

.ui-accordion .ui-accordion-header {
  display: block;
  cursor: pointer;
  position: relative;
  margin: 2px 0 0 0;
  padding: .5em .5em .5em .7em;
  min-height: 0;
  /* support: IE7 */
  font-size: 100%; }

.ui-accordion .ui-accordion-icons {
  padding-left: 2.2em; }

.ui-accordion .ui-accordion-icons .ui-accordion-icons {
  padding-left: 2.2em; }

.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
  position: absolute;
  left: .5em;
  top: 50%;
  margin-top: -8px; }

.ui-accordion .ui-accordion-content {
  padding: 1em 2.2em;
  border-top: 0;
  overflow: auto; }

.ui-autocomplete {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default; }

.ui-button {
  display: inline-block;
  position: relative;
  padding: 0;
  line-height: normal;
  margin-right: .1em;
  cursor: pointer;
  vertical-align: middle;
  text-align: center;
  overflow: visible;
  /* removes extra width in IE */ }

.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
  text-decoration: none; }

/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
  width: 2.2em; }

/* button elements seem to need a little more width */
button.ui-button-icon-only {
  width: 2.4em; }

.ui-button-icons-only {
  width: 3.4em; }

button.ui-button-icons-only {
  width: 3.7em; }

/* button text element */
.ui-button .ui-button-text {
  display: block;
  line-height: normal; }

.ui-button-text-only .ui-button-text {
  padding: .4em 1em; }

.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
  padding: .4em;
  text-indent: -9999999px; }

.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
  padding: .4em 1em .4em 2.1em; }

.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
  padding: .4em 2.1em .4em 1em; }

.ui-button-text-icons .ui-button-text {
  padding-left: 2.1em;
  padding-right: 2.1em; }

/* no icon support for input elements, provide padding by default */
input.ui-button {
  padding: .4em 1em; }

/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
  position: absolute;
  top: 50%;
  margin-top: -8px; }

.ui-button-icon-only .ui-icon {
  left: 50%;
  margin-left: -8px; }

.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
  left: .5em; }

.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
  right: .5em; }

/* button sets */
.ui-buttonset {
  margin-right: 7px; }

.ui-buttonset .ui-button {
  margin-left: 0;
  margin-right: -.3em; }

/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
  border: 0;
  padding: 0; }

.ui-datepicker {
  width: 17em;
  padding: .2em .2em 0;
  display: none; }

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .2em 0; }

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em; }

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 1px; }

.ui-datepicker .ui-datepicker-prev {
  left: 2px; }

.ui-datepicker .ui-datepicker-next {
  right: 2px; }

.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px; }

.ui-datepicker .ui-datepicker-next-hover {
  right: 1px; }

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px; }

.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center; }

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0; }

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%; }

.ui-datepicker table {
  width: 100%;
  font-size: .9em;
  border-collapse: collapse;
  margin: 0 0 .4em; }

.ui-datepicker th {
  padding: .7em .3em;
  text-align: center;
  font-weight: bold;
  border: 0; }

.ui-datepicker td {
  border: 0;
  padding: 1px; }

.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  padding: .2em;
  text-align: right;
  text-decoration: none; }

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: .7em 0 0 0;
  padding: 0 .2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0; }

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: .5em .2em .4em;
  cursor: pointer;
  padding: .2em .6em .3em .6em;
  width: auto;
  overflow: visible; }

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto; }

.ui-datepicker-multi .ui-datepicker-group {
  float: left; }

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em; }

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%; }

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%; }

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%; }

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left; }

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0; }

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

.ui-dialog {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  padding: .2em;
  outline: 0; }

.ui-dialog .ui-dialog-titlebar {
  padding: .4em 1em;
  position: relative; }

.ui-dialog .ui-dialog-title {
  float: left;
  margin: .1em 0;
  white-space: nowrap;
  width: 90%;
  overflow: hidden;
  text-overflow: ellipsis; }

.ui-dialog .ui-dialog-titlebar-close {
  position: absolute;
  right: .3em;
  top: 50%;
  width: 20px;
  margin: -10px 0 0 0;
  padding: 1px;
  height: 20px; }

.ui-dialog .ui-dialog-content {
  position: relative;
  border: 0;
  padding: .5em 1em;
  background: none;
  overflow: auto; }

.ui-dialog .ui-dialog-buttonpane {
  text-align: left;
  border-width: 1px 0 0 0;
  background-image: none;
  margin-top: .5em;
  padding: .3em 1em .5em .4em; }

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: right; }

.ui-dialog .ui-dialog-buttonpane button {
  margin: .5em .4em .5em 0;
  cursor: pointer; }

.ui-dialog .ui-resizable-se {
  width: 12px;
  height: 12px;
  right: -5px;
  bottom: -5px;
  background-position: 16px 16px; }

.ui-draggable .ui-dialog-titlebar {
  cursor: move; }

.ui-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  outline: none; }

.ui-menu .ui-menu {
  position: absolute; }

.ui-menu .ui-menu-item {
  position: relative;
  margin: 0;
  padding: 3px 1em 3px .4em;
  cursor: pointer;
  min-height: 0;
  /* support: IE7 */
  /* support: IE10, see #8844 */
  list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); }

.ui-menu .ui-menu-divider {
  margin: 5px 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0 0; }

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
  margin: -1px; }

/* icon support */
.ui-menu-icons {
  position: relative; }

.ui-menu-icons .ui-menu-item {
  padding-left: 2em; }

/* left-aligned */
.ui-menu .ui-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: .2em;
  margin: auto 0; }

/* right-aligned */
.ui-menu .ui-menu-icon {
  left: auto;
  right: 0; }

.ui-progressbar {
  height: 2em;
  text-align: left;
  overflow: hidden; }

.ui-progressbar .ui-progressbar-value {
  margin: -1px;
  height: 100%; }

.ui-progressbar .ui-progressbar-overlay {
  background: url("data:image/gif;base64,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");
  height: 100%;
  filter: alpha(opacity=25);
  /* support: IE8 */
  opacity: 0.25; }

.ui-progressbar-indeterminate .ui-progressbar-value {
  background-image: none; }

.ui-selectmenu-menu {
  padding: 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: none; }

.ui-selectmenu-menu .ui-menu {
  overflow: auto;
  /* Support: IE7 */
  overflow-x: hidden;
  padding-bottom: 1px; }

.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.5;
  padding: 2px 0.4em;
  margin: 0.5em 0 0 0;
  height: auto;
  border: 0; }

.ui-selectmenu-open {
  display: block; }

.ui-selectmenu-button {
  display: inline-block;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  cursor: pointer; }

.ui-selectmenu-button span.ui-icon {
  right: 0.5em;
  left: auto;
  margin-top: -8px;
  position: absolute;
  top: 50%; }

.ui-selectmenu-button span.ui-selectmenu-text {
  text-align: left;
  padding: 0.4em 2.1em 0.4em 1em;
  display: block;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.ui-slider {
  position: relative;
  text-align: left; }

.ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1.2em;
  height: 1.2em;
  cursor: default;
  -ms-touch-action: none;
  touch-action: none; }

.ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: .7em;
  display: block;
  border: 0;
  background-position: 0 0; }

/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
  filter: inherit; }

.ui-slider-horizontal {
  height: .8em; }

.ui-slider-horizontal .ui-slider-handle {
  top: -.3em;
  margin-left: -.6em; }

.ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 100%; }

.ui-slider-horizontal .ui-slider-range-min {
  left: 0; }

.ui-slider-horizontal .ui-slider-range-max {
  right: 0; }

.ui-slider-vertical {
  width: .8em;
  height: 100px; }

.ui-slider-vertical .ui-slider-handle {
  left: -.3em;
  margin-left: 0;
  margin-bottom: -.6em; }

.ui-slider-vertical .ui-slider-range {
  left: 0;
  width: 100%; }

.ui-slider-vertical .ui-slider-range-min {
  bottom: 0; }

.ui-slider-vertical .ui-slider-range-max {
  top: 0; }

.ui-spinner {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 0;
  vertical-align: middle; }

.ui-spinner-input {
  border: none;
  background: none;
  color: inherit;
  padding: 0;
  margin: .2em 0;
  vertical-align: middle;
  margin-left: .4em;
  margin-right: 22px; }

.ui-spinner-button {
  width: 16px;
  height: 50%;
  font-size: .5em;
  padding: 0;
  margin: 0;
  text-align: center;
  position: absolute;
  cursor: default;
  display: block;
  overflow: hidden;
  right: 0; }

/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
  border-top: none;
  border-bottom: none;
  border-right: none; }

/* vertically center icon */
.ui-spinner .ui-icon {
  position: absolute;
  margin-top: -8px;
  top: 50%;
  left: 0; }

.ui-spinner-up {
  top: 0; }

.ui-spinner-down {
  bottom: 0; }

/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
  /* need to fix icons sprite */
  background-position: -65px -16px; }

.ui-tabs {
  position: relative;
  /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
  padding: .2em; }

.ui-tabs .ui-tabs-nav {
  margin: 0;
  padding: .2em .2em 0; }

.ui-tabs .ui-tabs-nav li {
  list-style: none;
  float: left;
  position: relative;
  top: 0;
  margin: 1px .2em 0 0;
  border-bottom-width: 0;
  padding: 0;
  white-space: nowrap; }

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
  float: left;
  padding: .5em 1em;
  text-decoration: none; }

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
  margin-bottom: -1px;
  padding-bottom: 1px; }

.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
  cursor: text; }

.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
  cursor: pointer; }

.ui-tabs .ui-tabs-panel {
  display: block;
  border-width: 0;
  padding: 1em 1.4em;
  background: none; }

.ui-tooltip {
  padding: 8px;
  position: absolute;
  z-index: 9999;
  max-width: 300px;
  -webkit-box-shadow: 0 0 5px #aaa;
  box-shadow: 0 0 5px #aaa; }

body .ui-tooltip {
  border-width: 2px; }

/* Component containers
----------------------------------*/
.ui-widget {
  font-family: verblight, 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif;
  font-size: 1.1em; }

.ui-widget .ui-widget {
  font-size: 1em; }

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: verblight, 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif;
  font-size: 1em; }

.ui-widget-content {
  border: 1px solid #F1F1F1;
  background: #F1F1F1 url("/template_images/ui-bg_flat_0_F1F1F1_40x100.png") 50% 50% repeat-x;
  color: #000000; }

.ui-widget-content a {
  color: #000000; }

.ui-widget-header {
  border: 1px solid #d4d1bf;
  background: #ffffff;
  color: #453821;
  font-weight: bold; }

.ui-widget-header a {
  color: #453821; }

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid #464547;
  background: #464547;
  font-weight: normal;
  color: #ffffff; }

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
  color: #ffffff;
  text-decoration: none; }

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: 1px solid #00BBC7;
  background: #00BBC7;
  font-weight: normal;
  color: #ffffff; }

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
  color: #ffffff;
  text-decoration: none; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: 1px solid #00BBC7;
  background: #00BBC7;
  font-weight: normal;
  color: #ffffff; }

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none; }

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #ffffff;
  background: #ffffff;
  color: #00BBC7; }

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #00BBC7; }

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #F9E5E6;
  background: #F9E5E6;
  color: #D23E4B; }

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #D23E4B; }

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #D23E4B; }

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold; }

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: .7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal; }

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: .35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none; }

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */ }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px; }

.ui-icon,
.ui-widget-content .ui-icon {
  background-image: url("/template_images/ui-icons_00BBC7_256x240.png"); }

.ui-widget-header .ui-icon {
  background-image: url("/template_images/ui-icons_b83400_256x240.png"); }

.ui-state-default .ui-icon {
  background-image: url("/template_images/ui-icons_ffffff_256x240.png"); }

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
  background-image: url("/template_images/ui-icons_ffffff_256x240.png"); }

.ui-state-active .ui-icon {
  background-image: url("/template_images/ui-icons_ffffff_256x240.png"); }

.ui-state-highlight .ui-icon {
  background-image: url("/template_images/ui-icons_00BBC7_256x240.png"); }

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url("/template_images/ui-icons_fbdb93_256x240.png"); }

/* positioning */
.ui-icon-blank {
  background-position: 16px 16px; }

.ui-icon-carat-1-n {
  background-position: 0 0; }

.ui-icon-carat-1-ne {
  background-position: -16px 0; }

.ui-icon-carat-1-e {
  background-position: -32px 0; }

.ui-icon-carat-1-se {
  background-position: -48px 0; }

.ui-icon-carat-1-s {
  background-position: -64px 0; }

.ui-icon-carat-1-sw {
  background-position: -80px 0; }

.ui-icon-carat-1-w {
  background-position: -96px 0; }

.ui-icon-carat-1-nw {
  background-position: -112px 0; }

.ui-icon-carat-2-n-s {
  background-position: -128px 0; }

.ui-icon-carat-2-e-w {
  background-position: -144px 0; }

.ui-icon-triangle-1-n {
  background-position: 0 -16px; }

.ui-icon-triangle-1-ne {
  background-position: -16px -16px; }

.ui-icon-triangle-1-e {
  background-position: -32px -16px; }

.ui-icon-triangle-1-se {
  background-position: -48px -16px; }

.ui-icon-triangle-1-s {
  background-position: -64px -16px; }

.ui-icon-triangle-1-sw {
  background-position: -80px -16px; }

.ui-icon-triangle-1-w {
  background-position: -96px -16px; }

.ui-icon-triangle-1-nw {
  background-position: -112px -16px; }

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px; }

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px; }

.ui-icon-arrow-1-n {
  background-position: 0 -32px; }

.ui-icon-arrow-1-ne {
  background-position: -16px -32px; }

.ui-icon-arrow-1-e {
  background-position: -32px -32px; }

.ui-icon-arrow-1-se {
  background-position: -48px -32px; }

.ui-icon-arrow-1-s {
  background-position: -64px -32px; }

.ui-icon-arrow-1-sw {
  background-position: -80px -32px; }

.ui-icon-arrow-1-w {
  background-position: -96px -32px; }

.ui-icon-arrow-1-nw {
  background-position: -112px -32px; }

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px; }

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px; }

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px; }

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px; }

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px; }

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px; }

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px; }

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px; }

.ui-icon-arrowthick-1-n {
  background-position: 0 -48px; }

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px; }

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px; }

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px; }

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px; }

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px; }

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px; }

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px; }

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px; }

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px; }

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px; }

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px; }

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px; }

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px; }

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px; }

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px; }

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px; }

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px; }

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px; }

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px; }

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px; }

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px; }

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px; }

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px; }

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px; }

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px; }

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px; }

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px; }

.ui-icon-arrow-4 {
  background-position: 0 -80px; }

.ui-icon-arrow-4-diag {
  background-position: -16px -80px; }

.ui-icon-extlink {
  background-position: -32px -80px; }

.ui-icon-newwin {
  background-position: -48px -80px; }

.ui-icon-refresh {
  background-position: -64px -80px; }

.ui-icon-shuffle {
  background-position: -80px -80px; }

.ui-icon-transfer-e-w {
  background-position: -96px -80px; }

.ui-icon-transferthick-e-w {
  background-position: -112px -80px; }

.ui-icon-folder-collapsed {
  background-position: 0 -96px; }

.ui-icon-folder-open {
  background-position: -16px -96px; }

.ui-icon-document {
  background-position: -32px -96px; }

.ui-icon-document-b {
  background-position: -48px -96px; }

.ui-icon-note {
  background-position: -64px -96px; }

.ui-icon-mail-closed {
  background-position: -80px -96px; }

.ui-icon-mail-open {
  background-position: -96px -96px; }

.ui-icon-suitcase {
  background-position: -112px -96px; }

.ui-icon-comment {
  background-position: -128px -96px; }

.ui-icon-person {
  background-position: -144px -96px; }

.ui-icon-print {
  background-position: -160px -96px; }

.ui-icon-trash {
  background-position: -176px -96px; }

.ui-icon-locked {
  background-position: -192px -96px; }

.ui-icon-unlocked {
  background-position: -208px -96px; }

.ui-icon-bookmark {
  background-position: -224px -96px; }

.ui-icon-tag {
  background-position: -240px -96px; }

.ui-icon-home {
  background-position: 0 -112px; }

.ui-icon-flag {
  background-position: -16px -112px; }

.ui-icon-calendar {
  background-position: -32px -112px; }

.ui-icon-cart {
  background-position: -48px -112px; }

.ui-icon-pencil {
  background-position: -64px -112px; }

.ui-icon-clock {
  background-position: -80px -112px; }

.ui-icon-disk {
  background-position: -96px -112px; }

.ui-icon-calculator {
  background-position: -112px -112px; }

.ui-icon-zoomin {
  background-position: -128px -112px; }

.ui-icon-zoomout {
  background-position: -144px -112px; }

.ui-icon-search {
  background-position: -160px -112px; }

.ui-icon-wrench {
  background-position: -176px -112px; }

.ui-icon-gear {
  background-position: -192px -112px; }

.ui-icon-heart {
  background-position: -208px -112px; }

.ui-icon-star {
  background-position: -224px -112px; }

.ui-icon-link {
  background-position: -240px -112px; }

.ui-icon-cancel {
  background-position: 0 -128px; }

.ui-icon-plus {
  background-position: -16px -128px; }

.ui-icon-plusthick {
  background-position: -32px -128px; }

.ui-icon-minus {
  background-position: -48px -128px; }

.ui-icon-minusthick {
  background-position: -64px -128px; }

.ui-icon-close {
  background-position: -80px -128px; }

.ui-icon-closethick {
  background-position: -96px -128px; }

.ui-icon-key {
  background-position: -112px -128px; }

.ui-icon-lightbulb {
  background-position: -128px -128px; }

.ui-icon-scissors {
  background-position: -144px -128px; }

.ui-icon-clipboard {
  background-position: -160px -128px; }

.ui-icon-copy {
  background-position: -176px -128px; }

.ui-icon-contact {
  background-position: -192px -128px; }

.ui-icon-image {
  background-position: -208px -128px; }

.ui-icon-video {
  background-position: -224px -128px; }

.ui-icon-script {
  background-position: -240px -128px; }

.ui-icon-alert {
  background-position: 0 -144px; }

.ui-icon-info {
  background-position: -16px -144px; }

.ui-icon-notice {
  background-position: -32px -144px; }

.ui-icon-help {
  background-position: -48px -144px; }

.ui-icon-check {
  background-position: -64px -144px; }

.ui-icon-bullet {
  background-position: -80px -144px; }

.ui-icon-radio-on {
  background-position: -96px -144px; }

.ui-icon-radio-off {
  background-position: -112px -144px; }

.ui-icon-pin-w {
  background-position: -128px -144px; }

.ui-icon-pin-s {
  background-position: -144px -144px; }

.ui-icon-play {
  background-position: 0 -160px; }

.ui-icon-pause {
  background-position: -16px -160px; }

.ui-icon-seek-next {
  background-position: -32px -160px; }

.ui-icon-seek-prev {
  background-position: -48px -160px; }

.ui-icon-seek-end {
  background-position: -64px -160px; }

.ui-icon-seek-start {
  background-position: -80px -160px; }

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
  background-position: -80px -160px; }

.ui-icon-stop {
  background-position: -96px -160px; }

.ui-icon-eject {
  background-position: -112px -160px; }

.ui-icon-volume-off {
  background-position: -128px -160px; }

.ui-icon-volume-on {
  background-position: -144px -160px; }

.ui-icon-power {
  background-position: 0 -176px; }

.ui-icon-signal-diag {
  background-position: -16px -176px; }

.ui-icon-signal {
  background-position: -32px -176px; }

.ui-icon-battery-0 {
  background-position: -48px -176px; }

.ui-icon-battery-1 {
  background-position: -64px -176px; }

.ui-icon-battery-2 {
  background-position: -80px -176px; }

.ui-icon-battery-3 {
  background-position: -96px -176px; }

.ui-icon-circle-plus {
  background-position: 0 -192px; }

.ui-icon-circle-minus {
  background-position: -16px -192px; }

.ui-icon-circle-close {
  background-position: -32px -192px; }

.ui-icon-circle-triangle-e {
  background-position: -48px -192px; }

.ui-icon-circle-triangle-s {
  background-position: -64px -192px; }

.ui-icon-circle-triangle-w {
  background-position: -80px -192px; }

.ui-icon-circle-triangle-n {
  background-position: -96px -192px; }

.ui-icon-circle-arrow-e {
  background-position: -112px -192px; }

.ui-icon-circle-arrow-s {
  background-position: -128px -192px; }

.ui-icon-circle-arrow-w {
  background-position: -144px -192px; }

.ui-icon-circle-arrow-n {
  background-position: -160px -192px; }

.ui-icon-circle-zoomin {
  background-position: -176px -192px; }

.ui-icon-circle-zoomout {
  background-position: -192px -192px; }

.ui-icon-circle-check {
  background-position: -208px -192px; }

.ui-icon-circlesmall-plus {
  background-position: 0 -208px; }

.ui-icon-circlesmall-minus {
  background-position: -16px -208px; }

.ui-icon-circlesmall-close {
  background-position: -32px -208px; }

.ui-icon-squaresmall-plus {
  background-position: -48px -208px; }

.ui-icon-squaresmall-minus {
  background-position: -64px -208px; }

.ui-icon-squaresmall-close {
  background-position: -80px -208px; }

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px; }

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px; }

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px; }

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px; }

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px; }

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px; }

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 0px; }

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 0px; }

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 0px; }

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 0px; }

/* Overlays */
.ui-widget-overlay {
  background: #F1F1F1 url("/template_images/ui-bg_flat_0_F1F1F1_40x100.png") 50% 50% repeat-x;
  opacity: .6;
  filter: Alpha(Opacity=60);
  /* support: IE8 */ }

.ui-widget-shadow {
  margin: 2 0 0 -2px;
  padding: 2px;
  background: #000000 url("/template_images/ui-bg_diagonal-maze_0_000000_10x10.png") 50% 50% repeat;
  opacity: .2;
  filter: Alpha(Opacity=20);
  /* support: IE8 */
  border-radius: 18px; }

/* Component containers
----------------------------------*/
.ui-widget {
  font-family: verblight, 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif;
  font-size: 1.1em; }

.ui-widget .ui-widget {
  font-size: 1em; }

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: verblight, 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif;
  font-size: 1em; }

.ui-widget-content {
  border: 1px solid #F1F1F1;
  background: #F1F1F1 url("/template_images/ui-bg_flat_0_F1F1F1_40x100.png") 50% 50% repeat-x;
  color: #000000; }

.ui-widget-content a {
  color: #000000; }

.ui-widget-header {
  border: 1px solid #d4d1bf;
  background: #ffffff;
  color: #453821;
  font-weight: bold; }

.ui-widget-header a {
  color: #453821; }

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid #464547;
  background: #464547;
  font-weight: normal;
  color: #ffffff; }

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
  color: #ffffff;
  text-decoration: none; }

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: 1px solid #00BBC7;
  background: #00BBC7;
  font-weight: normal;
  color: #ffffff; }

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
  color: #ffffff;
  text-decoration: none; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: 1px solid #00BBC7;
  background: #00BBC7;
  font-weight: normal;
  color: #ffffff; }

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none; }

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #ffffff;
  background: #ffffff;
  color: #00BBC7; }

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #00BBC7; }

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #F9E5E6;
  background: #F9E5E6;
  color: #D23E4B; }

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #D23E4B; }

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #D23E4B; }

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold; }

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: .7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal; }

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: .35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none; }

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */ }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px; }

.ui-icon,
.ui-widget-content .ui-icon {
  background-image: url("/template_images/ui-icons_00BBC7_256x240.png"); }

.ui-widget-header .ui-icon {
  background-image: url("/template_images/ui-icons_b83400_256x240.png"); }

.ui-state-default .ui-icon {
  background-image: url("/template_images/ui-icons_ffffff_256x240.png"); }

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
  background-image: url("/template_images/ui-icons_ffffff_256x240.png"); }

.ui-state-active .ui-icon {
  background-image: url("/template_images/ui-icons_ffffff_256x240.png"); }

.ui-state-highlight .ui-icon {
  background-image: url("/template_images/ui-icons_00BBC7_256x240.png"); }

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url("/template_images/ui-icons_fbdb93_256x240.png"); }

/* positioning */
.ui-icon-blank {
  background-position: 16px 16px; }

.ui-icon-carat-1-n {
  background-position: 0 0; }

.ui-icon-carat-1-ne {
  background-position: -16px 0; }

.ui-icon-carat-1-e {
  background-position: -32px 0; }

.ui-icon-carat-1-se {
  background-position: -48px 0; }

.ui-icon-carat-1-s {
  background-position: -64px 0; }

.ui-icon-carat-1-sw {
  background-position: -80px 0; }

.ui-icon-carat-1-w {
  background-position: -96px 0; }

.ui-icon-carat-1-nw {
  background-position: -112px 0; }

.ui-icon-carat-2-n-s {
  background-position: -128px 0; }

.ui-icon-carat-2-e-w {
  background-position: -144px 0; }

.ui-icon-triangle-1-n {
  background-position: 0 -16px; }

.ui-icon-triangle-1-ne {
  background-position: -16px -16px; }

.ui-icon-triangle-1-e {
  background-position: -32px -16px; }

.ui-icon-triangle-1-se {
  background-position: -48px -16px; }

.ui-icon-triangle-1-s {
  background-position: -64px -16px; }

.ui-icon-triangle-1-sw {
  background-position: -80px -16px; }

.ui-icon-triangle-1-w {
  background-position: -96px -16px; }

.ui-icon-triangle-1-nw {
  background-position: -112px -16px; }

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px; }

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px; }

.ui-icon-arrow-1-n {
  background-position: 0 -32px; }

.ui-icon-arrow-1-ne {
  background-position: -16px -32px; }

.ui-icon-arrow-1-e {
  background-position: -32px -32px; }

.ui-icon-arrow-1-se {
  background-position: -48px -32px; }

.ui-icon-arrow-1-s {
  background-position: -64px -32px; }

.ui-icon-arrow-1-sw {
  background-position: -80px -32px; }

.ui-icon-arrow-1-w {
  background-position: -96px -32px; }

.ui-icon-arrow-1-nw {
  background-position: -112px -32px; }

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px; }

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px; }

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px; }

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px; }

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px; }

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px; }

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px; }

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px; }

.ui-icon-arrowthick-1-n {
  background-position: 0 -48px; }

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px; }

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px; }

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px; }

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px; }

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px; }

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px; }

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px; }

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px; }

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px; }

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px; }

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px; }

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px; }

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px; }

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px; }

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px; }

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px; }

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px; }

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px; }

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px; }

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px; }

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px; }

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px; }

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px; }

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px; }

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px; }

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px; }

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px; }

.ui-icon-arrow-4 {
  background-position: 0 -80px; }

.ui-icon-arrow-4-diag {
  background-position: -16px -80px; }

.ui-icon-extlink {
  background-position: -32px -80px; }

.ui-icon-newwin {
  background-position: -48px -80px; }

.ui-icon-refresh {
  background-position: -64px -80px; }

.ui-icon-shuffle {
  background-position: -80px -80px; }

.ui-icon-transfer-e-w {
  background-position: -96px -80px; }

.ui-icon-transferthick-e-w {
  background-position: -112px -80px; }

.ui-icon-folder-collapsed {
  background-position: 0 -96px; }

.ui-icon-folder-open {
  background-position: -16px -96px; }

.ui-icon-document {
  background-position: -32px -96px; }

.ui-icon-document-b {
  background-position: -48px -96px; }

.ui-icon-note {
  background-position: -64px -96px; }

.ui-icon-mail-closed {
  background-position: -80px -96px; }

.ui-icon-mail-open {
  background-position: -96px -96px; }

.ui-icon-suitcase {
  background-position: -112px -96px; }

.ui-icon-comment {
  background-position: -128px -96px; }

.ui-icon-person {
  background-position: -144px -96px; }

.ui-icon-print {
  background-position: -160px -96px; }

.ui-icon-trash {
  background-position: -176px -96px; }

.ui-icon-locked {
  background-position: -192px -96px; }

.ui-icon-unlocked {
  background-position: -208px -96px; }

.ui-icon-bookmark {
  background-position: -224px -96px; }

.ui-icon-tag {
  background-position: -240px -96px; }

.ui-icon-home {
  background-position: 0 -112px; }

.ui-icon-flag {
  background-position: -16px -112px; }

.ui-icon-calendar {
  background-position: -32px -112px; }

.ui-icon-cart {
  background-position: -48px -112px; }

.ui-icon-pencil {
  background-position: -64px -112px; }

.ui-icon-clock {
  background-position: -80px -112px; }

.ui-icon-disk {
  background-position: -96px -112px; }

.ui-icon-calculator {
  background-position: -112px -112px; }

.ui-icon-zoomin {
  background-position: -128px -112px; }

.ui-icon-zoomout {
  background-position: -144px -112px; }

.ui-icon-search {
  background-position: -160px -112px; }

.ui-icon-wrench {
  background-position: -176px -112px; }

.ui-icon-gear {
  background-position: -192px -112px; }

.ui-icon-heart {
  background-position: -208px -112px; }

.ui-icon-star {
  background-position: -224px -112px; }

.ui-icon-link {
  background-position: -240px -112px; }

.ui-icon-cancel {
  background-position: 0 -128px; }

.ui-icon-plus {
  background-position: -16px -128px; }

.ui-icon-plusthick {
  background-position: -32px -128px; }

.ui-icon-minus {
  background-position: -48px -128px; }

.ui-icon-minusthick {
  background-position: -64px -128px; }

.ui-icon-close {
  background-position: -80px -128px; }

.ui-icon-closethick {
  background-position: -96px -128px; }

.ui-icon-key {
  background-position: -112px -128px; }

.ui-icon-lightbulb {
  background-position: -128px -128px; }

.ui-icon-scissors {
  background-position: -144px -128px; }

.ui-icon-clipboard {
  background-position: -160px -128px; }

.ui-icon-copy {
  background-position: -176px -128px; }

.ui-icon-contact {
  background-position: -192px -128px; }

.ui-icon-image {
  background-position: -208px -128px; }

.ui-icon-video {
  background-position: -224px -128px; }

.ui-icon-script {
  background-position: -240px -128px; }

.ui-icon-alert {
  background-position: 0 -144px; }

.ui-icon-info {
  background-position: -16px -144px; }

.ui-icon-notice {
  background-position: -32px -144px; }

.ui-icon-help {
  background-position: -48px -144px; }

.ui-icon-check {
  background-position: -64px -144px; }

.ui-icon-bullet {
  background-position: -80px -144px; }

.ui-icon-radio-on {
  background-position: -96px -144px; }

.ui-icon-radio-off {
  background-position: -112px -144px; }

.ui-icon-pin-w {
  background-position: -128px -144px; }

.ui-icon-pin-s {
  background-position: -144px -144px; }

.ui-icon-play {
  background-position: 0 -160px; }

.ui-icon-pause {
  background-position: -16px -160px; }

.ui-icon-seek-next {
  background-position: -32px -160px; }

.ui-icon-seek-prev {
  background-position: -48px -160px; }

.ui-icon-seek-end {
  background-position: -64px -160px; }

.ui-icon-seek-start {
  background-position: -80px -160px; }

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
  background-position: -80px -160px; }

.ui-icon-stop {
  background-position: -96px -160px; }

.ui-icon-eject {
  background-position: -112px -160px; }

.ui-icon-volume-off {
  background-position: -128px -160px; }

.ui-icon-volume-on {
  background-position: -144px -160px; }

.ui-icon-power {
  background-position: 0 -176px; }

.ui-icon-signal-diag {
  background-position: -16px -176px; }

.ui-icon-signal {
  background-position: -32px -176px; }

.ui-icon-battery-0 {
  background-position: -48px -176px; }

.ui-icon-battery-1 {
  background-position: -64px -176px; }

.ui-icon-battery-2 {
  background-position: -80px -176px; }

.ui-icon-battery-3 {
  background-position: -96px -176px; }

.ui-icon-circle-plus {
  background-position: 0 -192px; }

.ui-icon-circle-minus {
  background-position: -16px -192px; }

.ui-icon-circle-close {
  background-position: -32px -192px; }

.ui-icon-circle-triangle-e {
  background-position: -48px -192px; }

.ui-icon-circle-triangle-s {
  background-position: -64px -192px; }

.ui-icon-circle-triangle-w {
  background-position: -80px -192px; }

.ui-icon-circle-triangle-n {
  background-position: -96px -192px; }

.ui-icon-circle-arrow-e {
  background-position: -112px -192px; }

.ui-icon-circle-arrow-s {
  background-position: -128px -192px; }

.ui-icon-circle-arrow-w {
  background-position: -144px -192px; }

.ui-icon-circle-arrow-n {
  background-position: -160px -192px; }

.ui-icon-circle-zoomin {
  background-position: -176px -192px; }

.ui-icon-circle-zoomout {
  background-position: -192px -192px; }

.ui-icon-circle-check {
  background-position: -208px -192px; }

.ui-icon-circlesmall-plus {
  background-position: 0 -208px; }

.ui-icon-circlesmall-minus {
  background-position: -16px -208px; }

.ui-icon-circlesmall-close {
  background-position: -32px -208px; }

.ui-icon-squaresmall-plus {
  background-position: -48px -208px; }

.ui-icon-squaresmall-minus {
  background-position: -64px -208px; }

.ui-icon-squaresmall-close {
  background-position: -80px -208px; }

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px; }

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px; }

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px; }

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px; }

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px; }

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px; }

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 0px; }

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 0px; }

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 0px; }

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 0px; }

/* Overlays */
.ui-widget-overlay {
  background: #F1F1F1 url("/template_images/ui-bg_flat_0_F1F1F1_40x100.png") 50% 50% repeat-x;
  opacity: .6;
  filter: Alpha(Opacity=60);
  /* support: IE8 */ }

.ui-widget-shadow {
  margin: 2 0 0 -2px;
  padding: 2px;
  background: #000000 url("/template_images/ui-bg_diagonal-maze_0_000000_10x10.png") 50% 50% repeat;
  opacity: .2;
  filter: Alpha(Opacity=20);
  /* support: IE8 */
  border-radius: 18px; }

/* 
 *  Core Owl Carousel CSS File
 *  v1.3.3
 */
/* clearfix */
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

/* display none until init */
.owl-carousel {
  display: none;
  position: relative;
  width: 100%;
  -ms-touch-action: pan-y; }

.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  position: relative;
  width: 100%; }

.owl-carousel .owl-wrapper-outer.autoHeight {
  -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; }

.owl-carousel .owl-item {
  float: left; }

.owl-controls .owl-page,
.owl-controls .owl-buttons div {
  cursor: pointer; }

.owl-controls {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent; }

/* mouse grab icon */
.grabbing {
  cursor: move;
  /* fallback if grab cursor is unsupported */
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab; }
  .grabbing:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing; }

/* fix */
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

/* coredna templates */
header {
  position: relative;
  z-index: 99;
  /* Retina */ }
  header .head-wrap {
    background-color: #937e74;
    height: 4.1875rem;
    position: absolute;
    width: 100%;
    top: 0px; }
    @media only screen and (min-width: 64.0625em) {
      header .head-wrap {
        background-color: #f1e9dd;
        height: 2.5rem; } }
  header .head-menu {
    height: 4.1875rem;
    background-color: #937e74;
    position: absolute;
    width: 100%;
    top: 2.5rem; }
    header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul {
      margin: 0;
      padding: 0;
      display: table;
      text-align: center;
      width: 100%;
      height: 4.1875rem;
      line-height: 4.1875rem;
      padding-left: 11.875rem;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 1600px) and (min-width: 1025px) {
        header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul {
          padding-left: 8.125rem; } }
      header .head-menu > .row .columns > ul > li, header .head-menu > .row-expanded .columns > ul > li {
        display: block;
        float: left;
        list-style: none;
        height: 4.1875rem;
        position: relative; }
        header .head-menu > .row .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child) {
          margin-left: 2.8125rem; }
          @media screen and (max-width: 1600px) and (min-width: 1025px) {
            header .head-menu > .row .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child) {
              margin-left: 1.875rem; } }
        header .head-menu > .row .columns > ul > li.has-submenu:hover::after, header .head-menu > .row-expanded .columns > ul > li.has-submenu:hover::after, header .head-menu > .row .columns > ul > li.has-submenu.active::after, header .head-menu > .row-expanded .columns > ul > li.has-submenu.active::after {
          font-family: fontawesome;
          content: "\f0d8";
          color: #FFF;
          position: absolute;
          bottom: -31px;
          right: 50%; }
        header .head-menu > .row .columns > ul > li > a, header .head-menu > .row-expanded .columns > ul > li > a {
          color: #FFF;
          font-family: "robotoregular", Helvetica, Arial, sans-serif;
          line-height: 2.5rem;
          font-size: 1.0625rem;
          display: block;
          height: 4.1875rem;
          line-height: 4.1875rem; }
          @media screen and (max-width: 1600px) and (min-width: 1025px) {
            header .head-menu > .row .columns > ul > li > a, header .head-menu > .row-expanded .columns > ul > li > a {
              font-size: 0.9375rem; } }
          header .head-menu > .row .columns > ul > li > a:hover, header .head-menu > .row-expanded .columns > ul > li > a:hover, header .head-menu > .row .columns > ul > li > a.active, header .head-menu > .row-expanded .columns > ul > li > a.active {
            text-decoration: none;
            color: #f1e9dd; }
      header .head-menu > .row .columns > ul .search-group, header .head-menu > .row-expanded .columns > ul .search-group {
        float: right;
        position: absolute;
        right: -13.5rem;
        z-index: 10;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        header .head-menu > .row .columns > ul .search-group a, header .head-menu > .row-expanded .columns > ul .search-group a {
          display: inline-block; }
        @media screen and (max-width: 1600px) and (min-width: 1025px) {
          header .head-menu > .row .columns > ul .search-group, header .head-menu > .row-expanded .columns > ul .search-group {
            right: 0.75rem; } }
      header .head-menu > .row .columns > ul .toggle-search, header .head-menu > .row-expanded .columns > ul .toggle-search {
        width: 5rem;
        border-left: 2px solid #f1e9dd;
        border-right: 2px solid #f1e9dd;
        background-color: #937e74;
        z-index: 50; }
        header .head-menu > .row .columns > ul .toggle-search:hover, header .head-menu > .row-expanded .columns > ul .toggle-search:hover {
          background-color: #b20838; }
        header .head-menu > .row .columns > ul .toggle-search .icon-search, header .head-menu > .row-expanded .columns > ul .toggle-search .icon-search {
          font-size: 30px; }
      header .head-menu > .row .columns > ul .donate-button, header .head-menu > .row-expanded .columns > ul .donate-button {
        background-color: #b20838;
        text-transform: uppercase;
        color: #FFF;
        padding: 0px 45px;
        position: relative;
        top: -5px;
        left: -5px;
        z-index: 50; }
        @media screen and (max-width: 1600px) and (min-width: 1025px) {
          header .head-menu > .row .columns > ul .donate-button, header .head-menu > .row-expanded .columns > ul .donate-button {
            top: -6px; } }
        header .head-menu > .row .columns > ul .donate-button:hover, header .head-menu > .row-expanded .columns > ul .donate-button:hover {
          background-color: #f1e9dd;
          color: #937e74; }
    header .head-menu .sub-menu {
      display: none;
      position: absolute;
      z-index: 1;
      text-align: left;
      background-color: #FFF;
      margin: 0;
      width: 16.875rem;
      padding: 15px 0px 15px; }
      header .head-menu .sub-menu .wrap > ul {
        display: block;
        text-align: left;
        vertical-align: top;
        margin: 0; }
        header .head-menu .sub-menu .wrap > ul > li {
          display: block;
          color: #fff;
          margin: 0;
          padding: 0;
          position: relative; }
          header .head-menu .sub-menu .wrap > ul > li a {
            display: block;
            width: 100%;
            font-family: "robotoregular", Helvetica, Arial, sans-serif;
            color: #937e74;
            font-size: 1.0625rem;
            padding: 0.4375rem 1.875rem;
            text-align: left; }
            header .head-menu .sub-menu .wrap > ul > li a:hover {
              text-decoration: none;
              background-color: #b20838;
              color: white !important; }
          header .head-menu .sub-menu .wrap > ul > li ul {
            display: block;
            list-style: none;
            margin: 0;
            padding: 0;
            position: absolute;
            z-index: 2;
            background-color: #FFF;
            width: 16.875rem;
            left: 16.875rem;
            top: 0px;
            display: none; }
            header .head-menu .sub-menu .wrap > ul > li ul li {
              list-style: none;
              margin: 0;
              padding: 0; }
          header .head-menu .sub-menu .wrap > ul > li:hover ul {
            display: block; }
  header .floating-button {
    float: right;
    position: absolute;
    margin-top: -0.9375rem;
    right: 0.9375rem; }
    @media only screen and (max-width: 40em) {
      header .floating-button {
        width: 50%; } }
    @media only screen and (min-width: 40.063em) and (max-width: 64em) {
      header .floating-button {
        margin-top: -1.875rem; } }
    header .floating-button .donate-button {
      border-radius: 1.875rem;
      padding: 0.75rem 0.9375rem;
      font-family: "robotoregular", Helvetica, Arial, sans-serif;
      font-size: 0.9375rem;
      color: #FFF;
      display: inline-block;
      margin-bottom: 3.75rem;
      background-color: #b20838;
      text-align: center;
      text-transform: uppercase;
      width: 100%; }
      @media only screen and (min-width: 40.063em) {
        header .floating-button .donate-button {
          font-size: 1.1875rem;
          padding: 0.75rem 1.875rem; } }
      header .floating-button .donate-button:hover {
        color: #FFF;
        background-color: #937e74; }
  header .top-menu {
    height: 2.5rem;
    position: relative;
    z-index: 11; }
    header .top-menu a {
      font-family: "robotomedium", Helvetica, Arial, sans-serif;
      font-size: 0.8125rem;
      color: #937e74;
      text-transform: uppercase; }
    header .top-menu a:hover, header .top-menu a.selected {
      text-decoration: none;
      color: #b20838; }
    header .top-menu .fa {
      font-size: 0.9375rem; }
    header .top-menu .fa-youtube-play {
      font-size: 1rem;
      padding-top: 0.375rem; }
    header .top-menu ul {
      text-align: right;
      list-style: none;
      float: right;
      margin: 0;
      padding-top: 0.45313rem;
      padding-bottom: 0.45313rem;
      position: relative;
      right: -11.5625rem;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media screen and (max-width: 1600px) and (min-width: 1025px) {
        header .top-menu ul {
          right: 0; } }
      @media only screen and (min-width: 40.063em) and (max-width: 64em) {
        header .top-menu ul {
          margin-right: 1.875rem; } }
      header .top-menu ul li {
        float: left;
        margin-left: 0.75rem;
        color: #937e74; }
  header .mobile-menu {
    display: none;
    position: absolute;
    width: 100%;
    z-index: 50;
    top: 3.125rem; }
    @media only screen and (min-width: 40.063em) {
      header .mobile-menu {
        top: 3.75rem; } }
    @media only screen and (min-width: 64.0625em) {
      header .mobile-menu {
        display: none !important; } }
    header .mobile-menu ul {
      list-style: none;
      background-color: #353535;
      border-bottom: 1px solid white;
      margin: 0; }
      header .mobile-menu ul li {
        width: 100%;
        position: relative;
        border-bottom: 1px solid white; }
        header .mobile-menu ul li a {
          padding: 0.375rem 1.25rem;
          display: inline-block; }
        header .mobile-menu ul li:hover > a, header .mobile-menu ul li a.selected {
          text-decoration: underline; }
    header .mobile-menu .sub-menu {
      display: none;
      margin-top: 0;
      margin-bottom: 0; }
      header .mobile-menu .sub-menu ul {
        background-color: #353535;
        border-bottom: 1px solid white; }
        header .mobile-menu .sub-menu ul li {
          border: 0;
          border-bottom: 1px solid #a9c3d5; }
          header .mobile-menu .sub-menu ul li:last-child {
            border: 0; }
    header .mobile-menu .arrow-down-link {
      width: 3.75rem;
      position: absolute;
      top: 0;
      right: 0;
      text-align: center; }
      @media only screen and (max-width: 400px) {
        header .mobile-menu .arrow-down-link {
          width: 2.8125rem; } }
      header .mobile-menu .arrow-down-link .fa {
        background-color: none;
        color: #ffffff;
        font-size: 1.0625rem; }
      header .mobile-menu .arrow-down-link .fa-chevron-up {
        color: #f1e9dd; }
  header .mobile-menu-wrapper .toggle-search {
    right: 3.125rem;
    color: #f1e9dd;
    position: absolute;
    height: 4.1875rem;
    line-height: 4.1875rem;
    font-size: 1.75rem;
    padding-right: 0.9375rem;
    z-index: 50;
    background-color: #937e74; }
    header .mobile-menu-wrapper .toggle-search:hover {
      color: #b20838; }
  header .mobile-head-wrap {
    position: absolute;
    top: 0;
    right: 0.625rem;
    text-align: center;
    cursor: pointer;
    width: 2.5rem;
    height: 4.1875rem;
    background-color: #937e74;
    z-index: 50; }
    @media only screen and (min-width: 40.063em) and (max-width: 64em) {
      header .mobile-head-wrap {
        right: 0.9375rem; } }
    header .mobile-head-wrap .icon-search {
      font-size: 1.875rem;
      position: relative;
      color: #f1e9dd;
      top: 1.1875rem;
      right: 2.5rem; }
      header .mobile-head-wrap .icon-search:hover {
        color: #b20838; }
    header .mobile-head-wrap .mobile-menu-handle {
      position: absolute;
      z-index: 50;
      padding-top: 1.375rem;
      top: 0px;
      right: 0.375rem;
      height: 4.1875rem; }
      header .mobile-head-wrap .mobile-menu-handle .stripe {
        display: block;
        width: 1.75rem;
        height: 0.25rem;
        background-color: #f1e9dd; }
        header .mobile-head-wrap .mobile-menu-handle .stripe:not(:last-child) {
          margin-bottom: 0.3125rem; }
      header .mobile-head-wrap .mobile-menu-handle:hover .stripe, header .mobile-head-wrap .mobile-menu-handle.active .stripe {
        background-color: #b20838; }
  header .logo-container {
    height: 6.25rem;
    width: 6.25rem;
    float: left;
    background-color: #FFF;
    padding: 0.75rem;
    margin-top: -1px;
    position: relative;
    z-index: 10;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-box-shadow: -2px 2px 10px #777;
    -moz-box-shadow: -2px 2px 10px #777;
    box-shadow: -2px 2px 10px #777; }
    @media only screen and (min-width: 64.0625em) {
      header .logo-container {
        height: 10.625rem;
        width: 10.625rem;
        padding: 1.25rem;
        margin-left: -9.6875rem;
        margin-top: 2.5rem;
        -webkit-box-shadow: 2px 2px 5px #777;
        -moz-box-shadow: 2px 2px 5px #777;
        box-shadow: 2px 2px 5px #777; } }
    @media screen and (max-width: 1600px) and (min-width: 1025px) {
      header .logo-container {
        margin-left: 0;
        height: 6.25rem;
        width: 6.25rem; } }
    @media only screen and (min-width: 40.063em) and (max-width: 64em) {
      header .logo-container {
        height: 8.125rem;
        width: 8.125rem;
        padding: 0.9375rem; } }
    header .logo-container .logo {
      width: 100%;
      height: 100%;
      background: url("/template_images/logo.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      text-indent: 500%;
      display: block;
      overflow: hidden;
      white-space: nowrap; }
      header .logo-container .logo:hover {
        border: none !important; }
  header .popup {
    height: 25rem;
    width: 15.625rem;
    float: right;
    right: 5%;
    display: none;
    background-color: #FFF;
    padding: 0.75rem;
    margin-top: -1px;
    position: relative;
    z-index: 9999;
    box-shadow: 0 0 15px 1px #777;
    position: absolute; }
    header .popup .close__popup {
      float: right;
      margin-bottom: 10px; }
      header .popup .close__popup i:hover {
        cursor: pointer; }
    header .popup form {
      text-align: center;
      clear: both; }
    header .popup .offer__text {
      margin-bottom: 15px; }
    header .popup .success-msg {
      margin-top: 60px;
      text-align: center; }
      header .popup .success-msg h5 {
        text-align: center;
        margin: 10px; }
    header .popup #newsletter_submit {
      margin-top: 20px; }
    header .popup #newsletter_submit:hover {
      border: 1px solid #c0aba1; }
    header .popup .form-row {
      margin-bottom: 15px; }
    @media only screen and (min-width: 40.063em) and (max-width: 64em) {
      header .popup {
        position: absolute;
        transform: translate(-50%, 2%);
        left: 50%;
        right: 50%; } }
    @media only screen and (max-width: 40em) {
      header .popup {
        position: absolute;
        transform: translate(-50%, 2%);
        left: 50%;
        right: 50%; } }
    header .popup .loader {
      border: 8px solid #f3f3f3;
      border-top: 8px solid #937e74;
      border-bottom: 8px solid #937e74;
      border-radius: 50%;
      margin: 70% auto;
      width: 50px;
      height: 50px;
      animation: spin 2s linear infinite; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
  @media (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
    header .logo {
      background-image: url("/template_images/logo_x2.png");
      background-size: contain; } }
  header .medium-up-form {
    position: absolute;
    width: 100%;
    top: 2.5rem;
    left: 0px;
    z-index: 9;
    height: 4.1875rem; }
    header .medium-up-form .textfield-holder {
      overflow: hidden;
      height: 4.1875rem;
      margin-top: -2.5rem;
      padding-left: 10.3125rem;
      padding-right: 7.5rem;
      padding-top: 0.8125rem;
      width: 100%;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media only screen and (max-width: 40em) {
        header .medium-up-form .textfield-holder {
          padding-left: 8.4375rem;
          padding-right: 6.25rem; } }
      @media only screen and (min-width: 64.0625em) {
        header .medium-up-form .textfield-holder {
          padding-left: 0px;
          padding-right: 0px;
          width: 64.125rem;
          margin-left: 4.0625rem;
          margin-top: 0px; } }
      @media screen and (max-width: 1600px) and (min-width: 1025px) {
        header .medium-up-form .textfield-holder {
          padding-left: 0px;
          padding-right: 0px;
          width: 46.6875rem;
          margin-left: 8rem;
          margin-top: 0px; } }
      header .medium-up-form .textfield-holder input[type="text"] {
        border: none; }
        header .medium-up-form .textfield-holder input[type="text"]::-ms-clear {
          display: none; }
    header .medium-up-form .close-field {
      position: absolute;
      font-size: 1.375rem;
      color: #937e74;
      top: -1.25rem;
      right: 8rem; }
      @media only screen and (min-width: 64.0625em) {
        header .medium-up-form .close-field {
          right: 5.625rem;
          top: 1.25rem; } }
      @media screen and (max-width: 1600px) and (min-width: 1025px) {
        header .medium-up-form .close-field {
          right: 19.0625rem;
          top: 1.25rem; } }
      header .medium-up-form .close-field:hover {
        color: #b20838; }

.mobile-search {
  padding-top: 0.9375rem; }
  .mobile-search button {
    background-color: #353535; }
    .mobile-search button:hover {
      background-color: #353535; }
      .mobile-search button:hover .icon-search {
        color: #937e74;
        background-color: #353535; }
    .mobile-search button .icon-search {
      color: #f1e9dd;
      font-size: 32px;
      vertical-align: middle; }

.mobile-menu {
  background-color: #353535; }
  .mobile-menu ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1; }
    .mobile-menu ul li {
      list-style: none;
      margin: 0;
      padding: 0; }
    .mobile-menu ul li {
      padding-bottom: 30px;
      position: relative; }
      .mobile-menu ul li a {
        display: block;
        color: #FFF;
        font-size: 16px;
        font-family: "robotomedium", Helvetica, Arial, sans-serif;
        position: relative; }
        .mobile-menu ul li a.active, .mobile-menu ul li a:hover {
          color: #937e74; }
      .mobile-menu ul li .fa {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 25px;
        line-height: 15px;
        color: #f1e9dd; }
      .mobile-menu ul li ul {
        padding-left: 15px;
        padding-bottom: 10px; }
        .mobile-menu ul li ul li {
          padding-top: 25px;
          padding-bottom: 0; }
  .mobile-menu .top-item-mobile a {
    color: #f1e9dd; }
    .mobile-menu .top-item-mobile a:hover {
      color: #937e74; }
  .mobile-menu > ul {
    padding: 1.875rem 0.9375rem 0 1.875rem; }
  .mobile-menu .social-links-mobile li {
    display: inline-block;
    width: 1.875rem; }
    .mobile-menu .social-links-mobile li:not(:last-child) {
      margin-right: 20px; }
    .mobile-menu .social-links-mobile li .fa {
      position: relative;
      top: 0;
      right: 0;
      color: #f1e9dd; }
      .mobile-menu .social-links-mobile li .fa:hover {
        color: #937e74; }

/*fix from qa  akb 14.07.2015 */
@media screen and (min-width: 1300px) {
  header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul, header .head-menu > .row-expanded .columns > ul {
    /* width: 105%; */ }
  header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul, header .head-menu > .row-expanded .columns > ul {
    padding-left: 45px; }
  header .head-menu > .row .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child) {
    margin-left: 20px;
    position: relative;
    right: 0; } }

header .head-menu > .row .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child) {
  position: relative; }

header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul, header .head-menu > .row-expanded .columns > ul {
  text-align: right; }

header .head-menu > .row .columns > ul > li, header .head-menu > .row-expanded .columns > ul > li,
header .head-menu > .row-expanded .columns > ul > li {
  float: none;
  display: inline-block; }

header .head-menu > .row .columns > ul .search-group, header .head-menu > .row-expanded .columns > ul .search-group {
  text-align: center; }

header .head-menu .sub-menu {
  z-index: 11; }

@media screen and (max-width: 1140px) and (min-width: 1025px) {
  header .medium-up-form .textfield-holder {
    width: 85%; } }

@media screen and (max-width: 1300px) and (min-width: 1025px) {
  header .medium-up-form .textfield-holder {
    width: 88%; }
  header .medium-up-form .close-field {
    right: 20px; } }

@media screen and (min-width: 1600px) {
  .controllers a {
    position: absolute; }
  .controllers a.flex-mod-next {
    top: 95px; } }

.main-content img {
  width: auto !important;
  height: auto !important; }

.home-banner .banner-desc .button-plus::after,
.button-plus:after, .button-plus-alt:after, .button-plus-full:after, .button-plus-full-alt:after {
  font-size: 1.3rem; }

.cta-block.events-block i.icon-right-open:before {
  position: absolute;
  left: 0px;
  line-height: 40px;
  margin-left: 0.35em;
  bottom: -1px;
  font-size: 25px; }

.row-expanded {
  max-width: 100rem; }

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

.home-banner {
  width: 100%;
  display: block;
  margin-top: -33px;
  height: 16.125rem;
  display: block;
  padding-top: 5.625rem;
  margin-bottom: 0px; }
  @media only screen and (min-width: 64.0625em) {
    .home-banner {
      margin-top: -103px;
      height: 46.25rem;
      padding-top: 11.875rem; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .home-banner {
      margin-top: -33px;
      height: 43.75rem;
      padding-top: 10.625rem; } }
  @media only screen and (min-width: 40.063em) and (max-width: 64em) {
    .home-banner {
      margin-top: -63px;
      height: 31.25rem;
      padding-top: 4.375rem; } }
  .home-banner .banner-desc {
    display: block; }
    @media only screen and (max-width: 40em) {
      .home-banner .banner-desc {
        padding-top: 1.25rem; } }
    .home-banner .banner-desc h1 {
      font-family: "superclarendonregular", Georgia, serif;
      font-size: 1.625rem;
      line-height: 1.1em; }
      .home-banner .banner-desc h1 a {
        color: #b20838; }
      @media screen and (max-width: 370px) {
        .home-banner .banner-desc h1 {
          font-size: 1.25rem;
          margin-left: -10px; } }
      @media only screen and (min-width: 64.0625em) {
        .home-banner .banner-desc h1 {
          font-size: 4.4375rem; } }
      @media screen and (max-width: 1600px) and (min-width: 1025px) {
        .home-banner .banner-desc h1 {
          font-size: 3.75rem; } }
      @media only screen and (min-width: 40.063em) and (max-width: 64em) {
        .home-banner .banner-desc h1 {
          font-size: 2.5rem;
          line-height: 1.2em;
          padding-top: 3.75rem; } }
    .home-banner .banner-desc p {
      color: #5f524c;
      font-size: 1.3125rem;
      line-height: 1.3em; }
    .home-banner .banner-desc .button-plus {
      color: #5f524c;
      border: 1px solid #5f524c;
      padding-right: 180px;
      padding-left: 25px;
      position: relative;
      line-height: 1.3em;
      z-index: 20; }
      @media only screen and (min-width: 40.063em) and (max-width: 64em) {
        .home-banner .banner-desc .button-plus {
          padding-left: 20px; } }
      .home-banner .banner-desc .button-plus:hover {
        color: #b20838;
        border: 1px solid #b20838;
        background-color: transparent; }
      .home-banner .banner-desc .button-plus::after {
        position: absolute;
        right: 20px;
        font-size: 1.3em; }
    @media only screen and (max-width: 40em) {
      .home-banner .banner-desc p, .home-banner .banner-desc a.button-plus {
        display: none; } }

.pagenum {
  position: absolute;
  top: 250px;
  right: 0;
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  width: 100%;
  display: none; }
  .pagenum .column {
    padding-left: 1.375rem; }
  @media only screen and (min-width: 64.0625em) {
    .pagenum {
      display: block; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .pagenum {
      display: none; } }

.controllers {
  position: absolute;
  width: 100%;
  top: 22.1875rem;
  display: none;
  z-index: 20; }
  .controllers a {
    border-radius: 50%;
    height: 40px;
    width: 40px;
    border: 1px solid #937e74;
    display: block;
    text-align: center;
    vertical-align: middle;
    margin-top: 50px;
    margin-bottom: 50px; }
    .controllers a:hover {
      border: 1px solid #b20838; }
      .controllers a:hover i {
        color: #b20838; }
  .controllers i {
    color: #937e74;
    position: relative;
    font-size: 18px;
    line-height: 40px;
    vertical-align: middle; }
  @media only screen and (min-width: 64.0625em) {
    .controllers {
      display: block; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .controllers {
      top: 21.25rem; }
      .controllers .column {
        width: 100%;
        left: 0; }
      .controllers a {
        margin-top: 20px;
        margin-bottom: 20px; } }

.cta-block {
  height: 15.625rem;
  overflow: hidden;
  position: relative;
  border-top: 2px solid #FFF;
  margin-bottom: 0px;
  padding-top: 3.75rem; }
  @media only screen and (max-width: 40em) {
    .cta-block {
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; } }
  @media only screen and (min-width: 40.063em) {
    .cta-block {
      margin-bottom: 0.9375rem;
      height: 18.75rem;
      padding-top: 4.375rem; } }
  @media only screen and (min-width: 64.0625em) {
    .cta-block {
      margin-bottom: 1.875rem;
      height: 24.375rem;
      padding-top: 5.625rem; } }
  .cta-block .cta-title {
    position: absolute;
    top: 0px;
    height: 3.75rem;
    line-height: 3.75rem;
    vertical-align: middle;
    overflow: hidden;
    font-family: "robotoregular", Helvetica, Arial, sans-serif;
    font-size: 1.25rem;
    color: #937e74;
    background-color: #f5f5f5;
    width: 100%;
    margin: 0px;
    margin-left: -1.25rem;
    cursor: pointer;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .cta-block .cta-title::after {
      content: "+";
      float: right;
      border: 1px solid;
      border-radius: 50%;
      text-align: center;
      vertical-align: middle;
      line-height: 1.3em;
      margin-top: 15px;
      width: 30px;
      height: 30px; }
    .cta-block .cta-title:hover {
      color: #b20838; }
    @media only screen and (min-width: 40.063em) {
      .cta-block .cta-title {
        margin-left: -1.25rem;
        height: 4.375rem;
        line-height: 4.375rem;
        font-size: 1.5625rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem; }
        .cta-block .cta-title::after {
          width: 35px;
          height: 35px;
          margin-top: 18px; } }
    @media only screen and (min-width: 64.0625em) {
      .cta-block .cta-title {
        margin-left: -0.9375rem;
        line-height: 5.625rem;
        height: 5.625rem;
        padding-left: 2.1875rem;
        padding-right: 2.1875rem;
        font-size: 1.6875rem; }
        .cta-block .cta-title::after {
          width: 40px;
          height: 40px;
          margin-top: 22px; } }
  .cta-block .cta-title.active::after {
    content: "-"; }
  .cta-block .cta-desc {
    color: #937e74;
    background-color: #f5f5f5;
    position: absolute;
    top: 3.625rem;
    width: 100%;
    margin-left: -1.25rem;
    padding-left: 1.0625rem;
    padding-right: 1.0625rem;
    padding-bottom: 0.9375rem; }
    .cta-block .cta-desc p {
      font-size: 0.875rem;
      color: #937e74;
      margin-bottom: 0px;
      padding: 0px; }
    .cta-block .cta-desc a {
      font-size: 0.875rem;
      color: #b20838; }
      .cta-block .cta-desc a:hover {
        text-decoration: underline; }
    @media only screen and (min-width: 40.063em) {
      .cta-block .cta-desc {
        margin-left: -1.25rem;
        top: 4.25rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        padding-bottom: 1.5625rem; } }
    @media only screen and (min-width: 64.0625em) {
      .cta-block .cta-desc {
        margin-left: -0.9375rem;
        top: 5.5rem;
        padding-left: 2.1875rem;
        padding-right: 2.1875rem;
        padding-bottom: 1.875rem; } }
  @media only screen and (min-width: 40.063em) and (max-width: 64em) {
    .cta-block:nth-child(odd) {
      border-right: 1px solid #FFF; }
    .cta-block:nth-child(even) {
      border-left: 1px solid #FFF; } }
  @media only screen and (min-width: 64.0625em) {
    .cta-block:nth-child(3n+2) {
      border-left: 2px solid #FFF;
      border-right: 2px solid #FFF; } }
  .cta-block:nth-child(3n+2) .cta-title:hover {
    color: #FECC17; }
  .cta-block:nth-child(3n+2) .cta-title, .cta-block:nth-child(3n+2) .cta-desc {
    color: #FFF;
    background-color: #d9232f; }
    .cta-block:nth-child(3n+2) .cta-title p, .cta-block:nth-child(3n+2) .cta-desc p {
      color: #FFF; }
    .cta-block:nth-child(3n+2) .cta-title a, .cta-block:nth-child(3n+2) .cta-desc a {
      color: #FECC17; }
  .cta-block:nth-child(3n+3) .cta-title:hover {
    color: #484d53; }
  .cta-block:nth-child(3n+3) .cta-title, .cta-block:nth-child(3n+3) .cta-desc {
    color: #FFF;
    background-color: #4ba7ad; }
    .cta-block:nth-child(3n+3) .cta-title p, .cta-block:nth-child(3n+3) .cta-desc p {
      color: #FFF; }
    .cta-block:nth-child(3n+3) .cta-title a, .cta-block:nth-child(3n+3) .cta-desc a {
      color: #484d53; }

.events-block {
  background-color: #f5f5f5; }
  @media only screen and (max-width: 40em) {
    .events-block {
      height: auto;
      background-color: #FFF !important; } }
  .events-block .cta-title {
    color: #b20838 !important;
    background-color: #FFF !important; }
    @media only screen and (min-width: 40.063em) {
      .events-block .cta-title {
        background-color: #f5f5f5 !important; } }
    .events-block .cta-title span {
      width: auto;
      border-radius: 30px;
      vertical-align: middle;
      line-height: 1em;
      height: auto;
      padding: 7px 40px 7px 30px;
      float: right;
      border: 1px solid;
      position: relative;
      margin-top: 13px;
      font-size: 11px;
      color: #b20838; }
      .events-block .cta-title span::after {
        content: "+";
        color: #b20838;
        float: right;
        position: absolute;
        right: 15px;
        top: 6px;
        font-size: 1.5em; }
      @media only screen and (min-width: 40.063em) {
        .events-block .cta-title span {
          margin-top: 20px;
          font-size: 12px; } }
      @media only screen and (min-width: 64.0625em) {
        .events-block .cta-title span {
          margin-top: 30px;
          font-size: 14px; } }
    .events-block .cta-title::after {
      content: " ";
      border: none; }
    .events-block .cta-title:hover {
      background-color: #f1e9dd !important;
      color: #937e74 !important; }
      .events-block .cta-title:hover span, .events-block .cta-title:hover::after, .events-block .cta-title:hover span::after {
        color: #937e74; }
  .events-block .cta-title.active::after {
    content: " ";
    border: none; }
  .events-block ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0; }
    .events-block ul li {
      list-style: none;
      margin: 0;
      padding: 0; }
    .events-block ul li {
      position: relative;
      height: 5rem;
      padding-top: 1.5625rem;
      padding-bottom: 0.9375rem; }
      .events-block ul li a {
        display: block;
        font-size: 1.25rem;
        color: #937e74; }
        .events-block ul li a i {
          float: right;
          border: 1px solid;
          border-radius: 50%;
          position: absolute;
          text-align: center;
          vertical-align: middle;
          right: 0px;
          width: 30px;
          height: 30px;
          font-size: 19px;
          line-height: 30px;
          top: 20px; }
        .events-block ul li a:hover {
          color: #b20838; }
      .events-block ul li .date {
        font-size: 0.9375rem;
        color: #b20838;
        position: absolute;
        top: 0px; }
    @media only screen and (min-width: 40.063em) {
      .events-block ul li {
        height: 4.75rem;
        padding-top: 1.5625rem;
        padding-bottom: 0.9375rem; }
        .events-block ul li a {
          font-size: 1.375rem; }
          .events-block ul li a i {
            width: 30px;
            height: 30px;
            font-size: 19px;
            line-height: 30px;
            top: 20px; }
        .events-block ul li .date {
          top: 12px; } }
    @media only screen and (min-width: 64.0625em) {
      .events-block ul {
        padding-left: 1.25rem;
        padding-right: 1.25rem; }
        .events-block ul li {
          height: 6.25rem;
          padding-top: 2.1875rem;
          padding-bottom: 0.9375rem; }
          .events-block ul li a {
            font-size: 1.6875rem; }
            .events-block ul li a i {
              width: 40px;
              height: 40px;
              font-size: 26px;
              line-height: 40px;
              top: 25px; }
        .events-block ul .date {
          top: 17px; } }
    @media screen and (max-width: 1600px) and (min-width: 1025px) {
      .events-block ul li a {
        font-size: 1.375rem; } }

.twitter-block {
  background-color: #353535; }
  @media only screen and (max-width: 40em) {
    .twitter-block {
      height: auto;
      padding-bottom: 6.25rem; } }
  .twitter-block .cta-title {
    color: #FFF !important;
    background-color: #353535 !important;
    padding-top: 10px; }
    .twitter-block .cta-title a {
      color: #FFF !important; }
    .twitter-block .cta-title .icon-twitter-bird {
      font-size: 1.7em;
      line-height: 1.7em;
      padding-right: 0.25em;
      vertical-align: top; }
      .twitter-block .cta-title .icon-twitter-bird:before {
        margin: 0px; }
    .twitter-block .cta-title::after {
      content: " ";
      border: none; }
    .twitter-block .cta-title:hover {
      background-color: #353535 !important;
      color: #f1e9dd !important; }
    @media only screen and (min-width: 40.063em) {
      .twitter-block .cta-title {
        background-color: #353535 !important;
        padding-top: 0px; } }
  .twitter-block .cta-title.active::after {
    content: " ";
    border: none; }
  .twitter-block .twitter-feeds p {
    color: #FFF;
    font-size: 1.6875rem;
    font-family: "robotolight", Helvetica, Arial, sans-serif;
    padding-bottom: 0.75em;
    padding-top: 0.75em;
    margin: 0px;
    line-height: 1.4em; }
  .twitter-block .twitter-feeds a {
    font-family: "robotoregular", Helvetica, Arial, sans-serif;
    color: #b20838; }
    .twitter-block .twitter-feeds a:hover {
      color: #f1e9dd; }
  .twitter-block .twitter-feeds .date {
    font-size: 0.9375rem;
    color: #FFF; }
  @media only screen and (min-width: 64.0625em) {
    .twitter-block .twitter-feeds {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .twitter-block .twitter-feeds p {
      font-size: 1.375rem;
      line-height: 1.3em; } }
  @media only screen and (min-width: 40.063em) and (max-width: 64em) {
    .twitter-block .twitter-feeds p {
      font-size: 1.3125rem;
      line-height: 1.3em;
      padding-top: 0.5em;
      padding-bottom: 0.5em; } }
  @media only screen and (max-width: 40em) {
    .twitter-block .twitter-feeds p {
      font-size: 1.25rem;
      line-height: 2em; } }
  .twitter-block .flex-control-nav.flex-control-paging {
    left: 0px;
    text-align: left !important;
    margin-left: 30px;
    bottom: 30px !important; }
    .twitter-block .flex-control-nav.flex-control-paging li a {
      background-color: #FFF !important; }
      .twitter-block .flex-control-nav.flex-control-paging li a:hover, .twitter-block .flex-control-nav.flex-control-paging li a.flex-active {
        background-color: #b20838 !important;
        border-color: #b20838 !important; }
    @media only screen and (min-width: 40.063em) and (max-width: 64em) {
      .twitter-block .flex-control-nav.flex-control-paging {
        margin-left: 17px;
        bottom: 20px !important; } }
    @media only screen and (max-width: 40em) {
      .twitter-block .flex-control-nav.flex-control-paging {
        bottom: 40px !important;
        margin-left: 17px; } }

.partners-block {
  padding-top: 1.25rem;
  padding-bottom: 2.5rem; }
  @media only screen and (min-width: 64.0625em) {
    .partners-block {
      padding-top: 2.5rem;
      padding-bottom: 5rem; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .partners-block {
      padding-top: 2.1875rem;
      padding-bottom: 4.375rem; } }
  @media only screen and (min-width: 40.063em) and (max-width: 64em) {
    .partners-block {
      padding-top: 1.875rem;
      padding-bottom: 3.75rem; } }
  .partners-block .partner-slider-block {
    width: 100%;
    display: block;
    text-align: center;
    margin: 0px auto;
    position: relative;
    padding-left: 2.5rem;
    padding-right: 2.5rem; }
    @media only screen and (min-width: 64.0625em) {
      .partners-block .partner-slider-block {
        padding-left: 3.75rem;
        padding-right: 3.75rem; } }
    .partners-block .partner-slider-block .partner-slider {
      width: 100%;
      text-align: center; }
      .partners-block .partner-slider-block .partner-slider img {
        display: none; }
      .partners-block .partner-slider-block .partner-slider a {
        display: block;
        width: 100%;
        height: 100px; }
      .partners-block .partner-slider-block .partner-slider .partner-logo {
        padding: 2.5rem; }
        @media only screen and (max-width: 40em) {
          .partners-block .partner-slider-block .partner-slider .partner-logo {
            padding: 1.25rem; } }
    .partners-block .partner-slider-block .partner-prev, .partners-block .partner-slider-block .partner-next {
      position: absolute;
      top: 45%;
      color: #937e74; }
      .partners-block .partner-slider-block .partner-prev i, .partners-block .partner-slider-block .partner-next i {
        border: 1px solid;
        border-radius: 50%;
        text-align: center;
        vertical-align: middle;
        width: 30px;
        height: 30px;
        font-size: 19px;
        line-height: 30px;
        display: block; }
      .partners-block .partner-slider-block .partner-prev:hover, .partners-block .partner-slider-block .partner-next:hover {
        color: #b20838; }
    .partners-block .partner-slider-block .partner-prev {
      left: 0px; }
    .partners-block .partner-slider-block .partner-next {
      right: 0px; }

.subpage-banner {
  width: 100%;
  display: block;
  margin-bottom: 1.25rem;
  margin-top: -33px;
  height: 12.5rem; }
  @media only screen and (min-width: 64.0625em) {
    .subpage-banner {
      margin-bottom: 4.875rem;
      margin-top: -103px;
      height: 20.25rem; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .subpage-banner {
      margin-bottom: 4.875rem;
      margin-top: -33px;
      height: 20.25rem; } }
  @media only screen and (min-width: 40.063em) and (max-width: 64em) {
    .subpage-banner {
      margin-bottom: 2.5rem;
      margin-top: -63px;
      height: 18.125rem; } }

.main-content {
  padding-bottom: 1.25rem; }
  @media only screen and (min-width: 40.063em) {
    .main-content {
      padding-bottom: 2.5rem; } }
  @media only screen and (min-width: 40.063em) {
    .main-content {
      padding-bottom: 3.75rem; } }
  .main-content h1 {
    font-size: 1.6875rem; }
    @media only screen and (min-width: 40.063em) {
      .main-content h1 {
        font-size: 2.5rem; } }
    @media only screen and (min-width: 64.0625em) {
      .main-content h1 {
        font-size: 3.3125rem; } }
  .main-content .media iframe, .main-content .media img {
    width: 100%;
    height: auto; }
  .main-content h2.title {
    font-size: 20px;
    font-family: "robotoregular", Helvetica, Arial, sans-serif;
    margin-bottom: 1.25rem; }
    @media only screen and (min-width: 40.063em) {
      .main-content h2.title {
        font-size: 1.8125rem;
        margin-bottom: 1.6875rem; } }
    @media only screen and (min-width: 64.0625em) {
      .main-content h2.title {
        font-size: 2.25rem;
        margin-bottom: 1.875rem; } }
  .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 {
    color: #b20838; }
  .main-content h6 {
    font-weight: bold; }
    .main-content h6.centered-content {
      margin-bottom: 3.75rem; }
  @media only screen and (min-width: 64.0625em) {
    .main-content p, .main-content h6, .main-content ul li, .main-content ol li, .main-content span, .main-content a {
      font-size: 0.875rem; } }
  @media only screen and (min-width: 64.0625em) {
    .main-content p, .main-content h6, .main-content ul li, .main-content ol li, .main-content span, .main-content a {
      font-size: 1rem; } }
  @media only screen and (min-width: 64.0625em) {
    .main-content p, .main-content h6, .main-content ul li, .main-content ol li, .main-content span, .main-content a {
      font-size: 1.125rem; } }
  .main-content ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 50px; }
    .main-content ul li {
      list-style: none;
      margin: 0;
      padding: 0; }
    .main-content ul li {
      padding-left: 1.875rem; }
      .main-content ul li:before {
        color: #937e74;
        content: "\2022";
        font-size: 1em;
        padding-right: 1em;
        position: relative;
        margin-left: -1.6875rem; }
  .main-content hr {
    border: 0;
    height: 1px;
    margin-bottom: 1.875rem;
    background-color: #aaa;
    color: #aaa; }
    @media only screen and (min-width: 40.063em) {
      .main-content hr {
        height: 2px;
        margin-bottom: 2.5rem; } }
    @media only screen and (min-width: 64.0625em) {
      .main-content hr {
        margin-bottom: 3.125rem; } }
  .main-content img {
    margin-bottom: 1.25rem; }

blockquote {
  background-color: #f5f5f5;
  display: block;
  width: 100%;
  padding: 3.125rem;
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  font-size: 19px;
  margin-top: 40px;
  margin-bottom: 30px; }
  blockquote strong {
    font-family: "robotomedium", Helvetica, Arial, sans-serif;
    color: #b20838;
    font-style: normal;
    font-weight: normal; }
  blockquote::before, blockquote::after {
    content: none; }

.button-plus, .button-plus-alt, .button-plus-full, .button-plus-full-alt {
  border-radius: 1.875rem;
  padding: 0.75rem 1.25rem 0.75rem 2.5rem;
  border: 1px solid #b20838;
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  color: #b20838;
  display: inline-block;
  margin-bottom: 1.875rem; }
  .button-plus:focus, .button-plus:active, .button-plus-alt:focus, .button-plus-alt:active, .button-plus-full:focus, .button-plus-full:active, .button-plus-full-alt:focus, .button-plus-full-alt:active {
    color: #b20838; }
  .button-plus:after, .button-plus-alt:after, .button-plus-full:after, .button-plus-full-alt:after {
    content: "+";
    padding-left: 2.1875rem;
    font-size: 1.3em; }
  .button-plus:hover, .button-plus-alt:hover, .button-plus-full:hover, .button-plus-full-alt:hover {
    color: #FFF;
    background-color: #b20838; }

.button-plus-full, .button-plus-full-alt {
  display: block;
  width: 100%;
  margin-bottom: 1.25rem; }
  .button-plus-full:after, .button-plus-full-alt:after {
    float: right; }

.button-plus-full-alt, .button-plus-alt {
  background-color: #b20838;
  color: #FFF; }
  .button-plus-full-alt:focus, .button-plus-full-alt:active, .button-plus-alt:focus, .button-plus-alt:active {
    color: #FFF; }
  .button-plus-full-alt:hover, .button-plus-alt:hover {
    color: #b20838;
    background-color: transparent; }

.button-prev {
  border-radius: 1.875rem;
  padding: 0.75rem 1.25rem;
  border: 1px solid #b20838;
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  color: #b20838;
  display: inline-block;
  margin-bottom: 3.75rem; }
  .button-prev:hover {
    color: #FFF;
    background-color: #b20838; }

.centered-content .button-plus {
  font-size: 1rem;
  padding: 0.3125rem 1.25rem 0.5rem 1.875rem; }

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"], select {
  margin: 0 0 1.25rem 0;
  padding: 0 0.625rem;
  padding-top: 0.4375rem;
  height: 2.5625rem;
  font-size: 1rem;
  color: #937e74;
  line-height: 1.4em;
  border: 2px solid #ddd; }
  input[type="text"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder, input[type="date"]::-webkit-input-placeholder, input[type="datetime"]::-webkit-input-placeholder, input[type="datetime-local"]::-webkit-input-placeholder, input[type="month"]::-webkit-input-placeholder, input[type="week"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="number"]::-webkit-input-placeholder, input[type="search"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="time"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="color"]::-webkit-input-placeholder, select::-webkit-input-placeholder {
    /* WebKit browsers */
    color: #ddd; }
  input[type="text"]:-moz-placeholder, input[type="password"]:-moz-placeholder, input[type="date"]:-moz-placeholder, input[type="datetime"]:-moz-placeholder, input[type="datetime-local"]:-moz-placeholder, input[type="month"]:-moz-placeholder, input[type="week"]:-moz-placeholder, input[type="email"]:-moz-placeholder, input[type="number"]:-moz-placeholder, input[type="search"]:-moz-placeholder, input[type="tel"]:-moz-placeholder, input[type="time"]:-moz-placeholder, input[type="url"]:-moz-placeholder, input[type="color"]:-moz-placeholder, select:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #ddd;
    opacity: 1; }
  input[type="text"]::-moz-placeholder, input[type="password"]::-moz-placeholder, input[type="date"]::-moz-placeholder, input[type="datetime"]::-moz-placeholder, input[type="datetime-local"]::-moz-placeholder, input[type="month"]::-moz-placeholder, input[type="week"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="search"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="time"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="color"]::-moz-placeholder, select::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #ddd;
    opacity: 1; }
  input[type="text"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder, input[type="date"]:-ms-input-placeholder, input[type="datetime"]:-ms-input-placeholder, input[type="datetime-local"]:-ms-input-placeholder, input[type="month"]:-ms-input-placeholder, input[type="week"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="number"]:-ms-input-placeholder, input[type="search"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="time"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="color"]:-ms-input-placeholder, select:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: #ddd; }

.input-checkbox, .input-radio .radio-holder {
  padding-left: 30px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
  margin-right: 5px; }

.input-radio .radio-holder {
  background: url("/template_images/radio.png") no-repeat scroll left bottom;
  line-height: 21px; }

.input-checkbox {
  background: url("/template_images/checkbox.png") no-repeat scroll left bottom;
  line-height: 21px; }

.input-checkbox.checked,
.input-radio .radio-holder.checked {
  background-position: top left; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="radio"], input[type="checkbox"] {
  clip: rect(0px, 0px, 0px, 0px);
  position: absolute; }

.input-radio span {
  line-height: 1.4;
  vertical-align: top; }

@media (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
  .input-radio .radio-holder {
    background: url("/template_images/radio_x2.png") no-repeat left bottom;
    background-size: 20px; }
  .input-checkbox {
    background: url("/template_images/checkbox_x2.png") no-repeat scroll left bottom;
    background-size: 20px; } }

label, label.error {
  display: block;
  margin: 0.625rem 0;
  font-size: 1rem; }

div.error, label.error, .error-msg, .error-msg p {
  background: #b20838;
  padding: 0.625rem 0.9375rem;
  margin-bottom: 1.875rem;
  color: #FFF;
  font-size: 1rem !important;
  line-height: 1.375rem !important;
  font-weight: normal;
  font-weight: normal;
  font-size: 1rem; }

label.error {
  margin-bottom: 1.25rem; }

.label-group {
  margin-bottom: 1.25rem; }
  .label-group label {
    display: inline-block; }
    .label-group label:first-child {
      margin-left: 0.625rem;
      margin-right: 0.625rem; }

.error {
  color: red; }

textarea {
  height: 234px;
  margin-bottom: 1.25rem !important;
  padding: 0.625rem;
  border: 2px solid #ddd; }

select {
  margin-bottom: 1.25rem;
  border: 2px solid #ddd; }

.no-border {
  border: none; }

.captcha-img-holder {
  margin-bottom: 0px;
  margin-top: 0px; }
  .captcha-img-holder img {
    margin-top: 0px; }

#recaptcha_image {
  max-width: 400px;
  margin: 0 0 0.3125rem;
  height: auto !important;
  width: 100% !important; }

#recaptcha_challenge_image {
  margin: 0;
  display: block;
  position: relative;
  max-width: 400px;
  width: 100% !important;
  margin-bottom: 1.25rem; }

#recaptcha-reload {
  font-size: 0.75rem;
  margin-bottom: 1.25rem;
  position: relative;
  top: -15px;
  color: #b20838;
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  #recaptcha-reload:hover {
    color: #937e74; }

.dk_toggle {
  border: 2px solid #ddd; }
  .dk_toggle:after {
    top: -2px;
    right: -2px;
    content: '\f0dc';
    font-size: 1.1875rem;
    color: #353535;
    background-color: transparent;
    padding: 0.75rem; }

.dk_focus .dk_toggle {
  border-color: #999999; }
  .dk_focus .dk_toggle::after {
    background-color: transparent; }

.dk_toggle.dk_label {
  line-height: 1rem; }
  .dk_toggle.dk_label:hover {
    border: 2px solid #999; }

.dk_open .dk_options {
  margin-top: 1px; }

.dk_option_current, .dk_options {
  background: #FFF;
  box-shadow: none; }
  .dk_option_current a, .dk_options a {
    font-family: "robotolight", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    border-top: none;
    color: #937e74 !important;
    vertical-align: middle;
    line-height: 1rem;
    padding: 12px 10px; }
  .dk_option_current a:hover, .dk_option_current .dk_option_current a, .dk_options a:hover, .dk_options .dk_option_current a {
    color: #353535 !important; }
  .dk_option_current a:hover, .dk_options a:hover {
    background-color: #ddd !important; }

input[type="submit"], .button, button {
  padding: 0.75rem 1.875rem; }

.button, input[type="submit"] {
  background-color: #b20838;
  border: none;
  color: #FFF;
  font-size: 1.375rem;
  font-weight: normal;
  min-height: 2.5625rem;
  margin: 0 0 1.125rem 0;
  font-size: 0.9375rem; }
  .button:hover, input[type="submit"]:hover {
    background-color: #f1e9dd;
    color: #937e74; }
  .button.read-more, input[type="submit"].read-more {
    background-color: #000; }
  .button.read-more:hover, input[type="submit"].read-more:hover {
    background-color: #353535;
    color: #FFF; }

form p {
  color: #FFF; }

form input[type="submit"] {
  margin-bottom: 0px; }

form small {
  margin-bottom: 1.25rem;
  font-size: 0.8125rem;
  color: #FFF;
  display: block; }

form.search-veneu {
  background-image: url(/template_images/form-overlay.png);
  background-repeat: no-repeat;
  background-size: 100% 24%;
  background-position: top center; }

form div.error {
  margin-bottom: 0; }

.ui-datepicker th span {
  color: #FFF !important; }

.ui-datepicker .ui-state-highlight, .ui-datepicker .ui-widget-content .ui-state-highlight, .ui-datepicker .ui-widget-header .ui-state-highlight {
  border: none;
  background: #ffffff;
  color: #937e74; }

.ui-datepicker .ui-state-default {
  border: none; }

.ui-datepicker .ui-state-hover {
  border: none;
  background-color: #353535;
  color: #FFF; }

.ui-datepicker .ui-state-active {
  border: none;
  background-color: #937e74;
  color: #FFF;
  font-weight: bold; }

.datefield-holder {
  position: relative; }
  .datefield-holder:after {
    font-family: 'fontAwesome';
    content: '\f073';
    position: absolute;
    top: 0.625rem;
    right: 0.625rem; }

.mail-caption {
  margin-top: -14px;
  color: white;
  display: block; }

.form.fill-up small {
  color: white; }

input[type="text"], input[type="password"] {
  font-size: 1.0625rem;
  padding-top: 0px; }

form p textarea {
  color: #000; }

.main-content form.validateform {
  background-color: #f5f5f5;
  padding: 2.5rem 1.25rem;
  margin-bottom: 3.125rem; }
  .main-content form.validateform input[type="submit"]:hover, .main-content form.validateform .button:hover {
    color: #FFF;
    background-color: #937e74; }

.main-content form .dk_options li:before {
  color: #937e74;
  content: "";
  font-size: initial;
  padding-right: 0;
  position: initial;
  margin-left: 0; }

.main-content form a.dk_toggle.dk_label, .main-content form .dk_options li a {
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  word-spacing: inherit;
  letter-spacing: inherit;
  padding-top: 12px;
  color: #937e74;
  font-weight: normal;
  text-transform: initial; }

.main-content form .dk_options_inner {
  margin-bottom: 0px; }

.main-content form .dk_option_current a:hover, .main-content form .dk_option_current .dk_option_current a, .main-content form .dk_options a:hover, .main-content form .dk_options .dk_option_current a {
  color: #b20838 !important; }

.main-content form #recaptcha-reload {
  margin-left: 0px; }

@media only screen and (min-width: 64.0625em) {
  .sidebar > div {
    padding-right: 7.1875rem; } }

@media screen and (max-width: 1600px) and (min-width: 1025px) {
  .sidebar > div {
    padding-right: 3.125rem; } }

.sidebar .category-list {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem; }
  .sidebar .category-list li {
    list-style: none;
    margin: 0;
    padding: 0; }
  @media only screen and (min-width: 64.0625em) {
    .sidebar .category-list {
      margin-bottom: 2.5rem; } }
  .sidebar .category-list li {
    padding-bottom: 0.625rem; }
    .sidebar .category-list li::before {
      content: none; }
    .sidebar .category-list li a {
      font-size: 1rem;
      color: #937e74; }
      .sidebar .category-list li a:hover, .sidebar .category-list li a.active {
        color: #b20838; }

.sidebar .twitter-side a {
  color: #b20838; }
  .sidebar .twitter-side a:hover {
    color: #937e74; }
  .sidebar .twitter-side a h2 {
    color: #937e74;
    margin-bottom: 1.25rem; }
    .sidebar .twitter-side a h2:hover {
      color: #b20838; }

.sidebar .twitter-side .icon-twitter-bird {
  font-size: 1.5em; }
  .sidebar .twitter-side .icon-twitter-bird::before {
    margin-left: 0px;
    margin-right: 0px; }

.sidebar .twitter-side p, .sidebar .twitter-side p a {
  font-size: 1rem; }

.sidebar #subscribe_form {
  margin-bottom: 3.75rem; }

.sidebar .button-plus-full-alt, .sidebar .button-plus-alt {
  padding: 7px 20px;
  font-size: 15px; }

.sidebar .donate-box {
  background-color: #f5f5f5;
  padding: 1.25rem;
  padding-bottom: 0; }
  .sidebar .donate-box h2 {
    font-size: 1.875rem;
    font-family: "robotomedium", Helvetica, Arial, sans-serif; }
  .sidebar .donate-box p {
    margin-bottom: 1.25rem; }

.newsletter-pane {
  background-color: #353535;
  margin-bottom: 1.875rem;
  padding-top: 1.875rem;
  padding-bottom: 6.25rem;
  text-align: center; }
  .newsletter-pane h2 {
    text-align: center;
    color: #FFF;
    margin-bottom: 30px; }
  .newsletter-pane .textfield-holder {
    width: 60%;
    float: left;
    margin-bottom: 40px; }
    .newsletter-pane .textfield-holder input[type="text"] {
      border: none; }
  .newsletter-pane input[type="submit"] {
    width: 40%; }
  .newsletter-pane .social-links {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0; }
    .newsletter-pane .social-links li {
      list-style: none;
      margin: 0;
      padding: 0; }
    .newsletter-pane .social-links li {
      display: inline-block;
      margin-left: 10px; }
    .newsletter-pane .social-links a {
      background-color: #484d53;
      color: white;
      height: 40px;
      width: 40px;
      font-size: 20px;
      text-align: center;
      border-radius: 50%;
      display: table-cell;
      vertical-align: middle; }
      .newsletter-pane .social-links a .fa {
        padding-left: 5px; }
      .newsletter-pane .social-links a:hover {
        background-color: #b20838;
        color: #FFF; }
  @media only screen and (min-width: 40.063em) {
    .newsletter-pane .textfield-holder {
      width: 77%;
      float: left; }
    .newsletter-pane input[type="submit"] {
      width: 23%; } }
  @media only screen and (min-width: 64.0625em) {
    .newsletter-pane {
      margin-bottom: 5.625rem;
      padding-top: 2.9375rem;
      padding-bottom: 0;
      height: 8.75rem;
      text-align: left; }
      .newsletter-pane .social-links {
        float: right;
        position: relative;
        right: -140px; }
      .newsletter-pane h2 {
        text-align: left;
        width: 300px;
        position: relative;
        left: -170px; }
      .newsletter-pane form {
        position: relative;
        left: -120px; } }
  @media screen and (max-width: 1600px) and (min-width: 1025px) {
    .newsletter-pane .social-links {
      float: right;
      position: initial;
      right: 0px; }
    .newsletter-pane h2 {
      width: auto;
      position: relative;
      left: 0px;
      font-size: 21px; }
    .newsletter-pane form {
      position: initial;
      left: 0px; } }

footer ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0; }
  footer ul li {
    list-style: none;
    margin: 0;
    padding: 0; }

footer a {
  color: #937e74; }
  footer a:hover {
    text-decoration: none;
    color: #b20838; }

.footer-top {
  margin-bottom: 3.125rem; }
  .footer-top h6 {
    font-family: "robotomedium", Helvetica, Arial, sans-serif;
    margin-bottom: 1.75rem; }
  .footer-top a {
    display: block;
    font-size: 0.9375rem;
    line-height: 1.4em; }
  .footer-top .footer-logo {
    float: right; }
    .footer-top .footer-logo img {
      height: 90px;
      width: auto; }
    @media only screen and (min-width: 40.063em) {
      .footer-top .footer-logo {
        float: none; }
        .footer-top .footer-logo img {
          height: 124px; } }
  .footer-top .mobile-quicklinks h6 {
    margin-bottom: 10px;
    font-size: 15px; }
    .footer-top .mobile-quicklinks h6.active a {
      color: #b20838; }
  .footer-top .mobile-quicklinks ul {
    margin-bottom: 15px; }

.footer-bottom {
  font-size: 0.75rem !important;
  color: #937e74; }

@media only screen and (min-width: 40.063em) and (max-width: 64em) {
  .webdev-line, .copyright-line {
    text-align: center; } }

.webdev-line li, .copyright-line li {
  display: inline-block;
  margin-bottom: 19px; }

.webdev-line li {
  font-size: 0.875rem;
  min-width: 1.625rem; }
  @media only screen and (min-width: 64.0625em) {
    .webdev-line li:not(:first-child) {
      padding-left: 0.4375rem; } }
  .webdev-line li:nth-last-child(-n+2) {
    display: inline-block; }

@media only screen and (min-width: 64.0625em) {
  .webdev-line {
    float: right; } }

.webdev-line .bwired, .webdev-line .coredna {
  height: 1.625rem;
  width: 1.625rem;
  display: inline-block; }

.webdev-line .bwired {
  background-image: url(/template_images/bwired-black.png);
  background-repeat: no-repeat; }

.webdev-line .bwired:hover {
  background-image: url(/template_images/bwired-black-hover.png);
  background-repeat: no-repeat; }

.webdev-line .coredna {
  background-image: url(/template_images/coredna-black.png);
  background-repeat: no-repeat; }

.webdev-line .coredna:hover {
  background-image: url(/template_images/coredna-black-hover.png);
  background-repeat: no-repeat; }

.copyright-line a {
  padding-right: 0;
  font-size: 0.875rem; }

.copyright-line li {
  font-size: 0.875rem; }
  @media only screen and (min-width: 40.063em) {
    .copyright-line li {
      margin-right: 0.1875rem; } }

/**
 * Pager
 */
.pager {
  *zoom: 1;
  margin: 0px;
  text-align: center;
  font-size: 0.9375rem;
  color: #937e74;
  font-family: "robotoregular", Helvetica, Arial, sans-serif;
  margin-top: 20px;
  margin-bottom: 20px; }
  .pager:before, .pager:after {
    content: " ";
    display: table; }
  .pager:after {
    clear: both; }
  .pager a {
    display: inline-block;
    padding: 0;
    background: #fff;
    text-decoration: none;
    color: #353535;
    margin-bottom: 0.625rem;
    min-width: 2.1875rem;
    height: 2.1875rem;
    line-height: 1.875rem;
    text-align: center;
    overflow: hidden;
    border-radius: 50%; }
    @media only screen and (max-width: 40em) {
      .pager a {
        font-size: 14px;
        min-width: 1.5625rem;
        height: 1.5625rem;
        line-height: 1.4375rem; } }
  .pager a.selected_pager {
    color: #b20838;
    border: 2px solid;
    border-radius: 50%; }
    @media only screen and (max-width: 40em) {
      .pager a.selected_pager {
        border: 1px solid; } }
  .pager a:hover {
    color: #b20838; }
  .pager .page-direction {
    border: 2px solid;
    border-radius: 50%;
    margin-left: 1.875rem;
    margin-right: 1.875rem; }
    @media only screen and (max-width: 40em) {
      .pager .page-direction {
        border: 1px solid; } }

/* coredna modules */
/**
 * Help accordion
 */
.accordion {
  margin-bottom: 1.875rem; }

.accordion-title, .link-next {
  padding: 0.9375rem;
  background: #f1f1f1;
  cursor: pointer;
  display: table;
  width: 100%;
  margin-top: 10px;
  position: relative;
  padding-right: 2.5rem; }
  .accordion-title:first-child, .link-next:first-child {
    margin-top: 0; }
  .accordion-title h4, .link-next h4 {
    font-size: 1.125rem;
    margin: 0;
    padding: 0;
    color: #b20838;
    line-height: 1.3;
    display: table-cell;
    vertical-align: middle; }
    .accordion-title h4::after, .link-next h4::after {
      content: "+";
      float: right;
      right: 15px;
      top: 23%;
      position: absolute;
      border: 1px solid;
      border-radius: 50%;
      text-align: center;
      vertical-align: middle;
      line-height: 1.3em;
      width: 30px;
      height: 30px; }
  .accordion-title .fa, .link-next .fa {
    margin-right: 10px; }
  .accordion-title.selected, .link-next.selected {
    background: #f1f1f1; }
    .accordion-title.selected h4, .link-next.selected h4 {
      color: #b20838;
      margin-bottom: 0px; }
      .accordion-title.selected h4::after, .link-next.selected h4::after {
        content: "-"; }
  .accordion-title:hover, .link-next:hover {
    background: #f1e9dd; }
    .accordion-title:hover h4, .link-next:hover h4 {
      color: #b20838; }

.accordion-content {
  background: #FFF; }
  .accordion-content .help-answers {
    padding: 20px 15px;
    line-height: 1.3; }
  .accordion-content .help-answers {
    color: #937e74; }
    .accordion-content .help-answers p {
      color: #937e74; }
  .accordion-content a {
    color: #b20838; }
    .accordion-content a:hover {
      color: #937e74;
      text-decoration: underline; }

.link-next {
  padding: 0px; }
  .link-next:first-child {
    margin-top: 0.625rem; }
  .link-next a {
    padding: 0.9375rem;
    display: block;
    padding-right: 3.125rem; }
  .link-next h4::after {
    font-family: "fontello";
    content: '\e804';
    font-size: 1.3em;
    border: none; }

.news-listing p {
  margin-bottom: 0px; }

.news-listing a {
  color: #937e74; }
  .news-listing a:hover {
    color: #b20838; }

.news-listing:last-child {
  margin-bottom: 1.875rem; }

.news-listing span.date {
  font-size: 0.75em !important;
  color: #b20838;
  display: block;
  margin-bottom: 1em; }

.news-display h2 span {
  font-size: 0.6em !important;
  color: #937e74;
  display: block;
  margin-bottom: 1em; }

.event-list img {
  width: 100%; }

.event-list .event-img {
  width: 100%;
  overflow: hidden;
  max-height: 230px;
  margin-bottom: 1.25rem; }

.eventCal {
  width: 100%;
  display: block;
  text-align: center;
  margin-bottom: 3.125rem;
  margin-top: 15px; }
  .eventCal td, .eventCal th {
    text-align: center;
    vertical-align: middle; }
  .eventCal p {
    margin: 0;
    padding: 0;
    color: #353535; }
  .eventCal table, .eventCal tr, .eventCal td, .eventCal th {
    border: none;
    background-color: transparent !important;
    color: #353535;
    margin: 0;
    padding: 0px; }
  .eventCal table {
    width: 100%; }
  .eventCal #div_events_month_show {
    border-radius: 5px;
    border: 1px solid #ddd; }
  .eventCal .day:not(:last-child), .eventCal .events_noday:not(:last-child) {
    border-right: 1px solid #ddd; }
  .eventCal .day p, .eventCal .day a, .eventCal .events_noday p, .eventCal .events_noday a {
    font-size: 0.75rem; }
  .eventCal #events_calendar > table {
    border-collapse: collapse; }
  .eventCal #dates tr:not(:last-child) {
    border-bottom: 1px solid #ddd; }
  .eventCal #dates tr:last-child .events_noday {
    border: none; }
  .eventCal #dates td {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
  .eventCal .calendar_today {
    background-color: #ddd !important; }
  .eventCal #month td {
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
    border-bottom: 1px solid #ddd; }
  .eventCal #month a {
    color: #b20838; }
    .eventCal #month a:hover {
      color: #937e74; }
  .eventCal .calendar_forward {
    text-align: right; }
  .eventCal .calendar_back {
    text-align: left; }

.search-event-block {
  margin-bottom: 1.25rem; }

.responsive-table {
  width: 100% !important;
  max-width: 1000px; }
  @media (max-width: 768px) {
    .responsive-table {
      max-width: 480px; } }
  @media (max-width: 768px) {
    .responsive-table tr {
      display: block; } }
  @media (max-width: 768px) {
    .responsive-table tr td {
      display: block; }
      .responsive-table tr td p {
        margin-bottom: 0; }
        .responsive-table tr td p img {
          margin-bottom: 0; } }

.responsive-table__fixed {
  display: block; }
  .responsive-table__fixed tbody {
    border-color: transparent; }
  @media (max-width: 768px) {
    .responsive-table__fixed {
      max-width: 100% !important; } }
  @media (max-width: 768px) {
    .responsive-table__fixed.no-float {
      float: none; } }

.collapsible-table {
  width: 100% !important;
  max-width: 1000px; }
  @media (max-width: 768px) {
    .collapsible-table {
      max-width: 480px; } }
  @media (max-width: 768px) {
    .collapsible-table tr {
      display: block;
      border: solid 1px #937e74; } }
  @media (max-width: 768px) {
    .collapsible-table tr td {
      display: block;
      border: none; }
      .collapsible-table tr td.collapsible-table__heading {
        display: flex; } }
  .collapsible-table tr td .collapsible-table__heading--copy {
    display: none; }
    @media (max-width: 768px) {
      .collapsible-table tr td .collapsible-table__heading--copy {
        display: block;
        margin-right: 1em;
        min-width: 100px;
        width: 100px;
        text-align: right;
        font-weight: bold; } }
  @media (max-width: 768px) {
    .collapsible-table tr td .collapsible-table__text {
      text-align: left;
      text-align: left; } }
  @media (max-width: 768px) {
    .collapsible-table thead {
      display: none; } }

p {
  margin-bottom: 1rem; }

/*
** Default
*/
/* Resets */
.bwired-global-footer:hover, .core-dna-global-footer:hover {
  text-decoration: none; }

/* Device background */
.bwired-global-footer circle, .core-dna-global-footer circle {
  fill: #000000; }

/* Device color */
.bwired-global-footer g path, .core-dna-global-footer path {
  fill: #ffffff; }

/* Hover color and . color */
.bwired-global-footer g path:first-child, .bwired-global-footer:hover circle, .core-dna-global-footer:hover circle {
  fill: #EE1D3E; }

/* Hover device color */
.bwired-global-footer:hover g path, .core-dna-global-footer:hover path {
  fill: #f5f5f5; }

/* fixes in qa*/
/*fix from qa  akb 14.07.2015 */
@media screen and (min-width: 1300px) {
  header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul, header .head-menu > .row-expanded .columns > ul {
    /* width: 105%; */ }
  header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul, header .head-menu > .row-expanded .columns > ul {
    padding-left: 45px; }
  header .head-menu > .row .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child) {
    margin-left: 20px;
    position: relative;
    right: 0; } }

header .head-menu > .row .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child), header .head-menu > .row-expanded .columns > ul > li:not(:first-child) {
  position: relative; }

header .head-menu > .row .columns > ul, header .head-menu > .row-expanded .columns > ul, header .head-menu > .row-expanded .columns > ul {
  text-align: right; }

header .head-menu > .row .columns > ul > li, header .head-menu > .row-expanded .columns > ul > li,
header .head-menu > .row-expanded .columns > ul > li {
  float: none;
  display: inline-block; }

header .head-menu > .row .columns > ul .search-group, header .head-menu > .row-expanded .columns > ul .search-group {
  text-align: center; }

header .head-menu .sub-menu {
  z-index: 11; }

@media screen and (max-width: 1140px) and (min-width: 1025px) {
  header .medium-up-form .textfield-holder {
    width: 85%; } }

@media screen and (max-width: 1300px) and (min-width: 1025px) {
  header .medium-up-form .textfield-holder {
    width: 88%; }
  header .medium-up-form .close-field {
    right: 20px; } }

@media screen and (min-width: 1600px) {
  .controllers a {
    position: absolute; }
  .controllers a.flex-mod-next {
    top: 95px; } }

.main-content img {
  width: auto !important;
  height: auto !important; }

.home-banner .banner-desc .button-plus::after,
.button-plus:after, .button-plus-alt:after, .button-plus-full:after, .button-plus-full-alt:after {
  font-size: 1.3rem; }

.cta-block.events-block ul li a i.icon-right-open:before {
  position: absolute;
  left: 0px;
  line-height: 40px;
  margin-left: 0.35em;
  /* bottom: -1px; */
  top: 1px;
  font-size: 25px; }

.partners-block .partner-slider-block .icon-left:before, .partners-block .partner-slider-block .button-prev:before,
.partners-block .partner-slider-block .icon-right:before {
  line-height: 32px !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 22px !important; }

.events-block .cta-title span::after {
  font-size: 18px !important; }

.coffee {
  margin-top: -33px; }
  @media screen and (min-width: 642px) {
    .coffee {
      margin-top: -62px; } }
  @media screen and (min-width: 1025px) {
    .coffee {
      margin-top: -33px; } }
  @media screen and (min-width: 1600px) {
    .coffee {
      margin-top: -103px; } }
  .coffee h3 {
    color: #b20838;
    font-weight: 700;
    display: block;
    width: 100%;
    text-align: center;
    margin: 1em 0; }
    @media screen and (min-width: 1025px) {
      .coffee h3 {
        margin: 0 0 1em; } }
  .coffee p {
    margin-bottom: 1.4em; }
  .coffee .button-cta {
    background: #000;
    font-weight: 700;
    padding: .75em 2em;
    color: white;
    text-transform: uppercase;
    font-size: 1.1em; }
    .coffee .button-cta:hover {
      background: #b20838; }
  .coffee .banner {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative; }
    .coffee .banner::before {
      content: '';
      display: block;
      padding-top: 157%; }
      @media screen and (min-width: 642px) {
        .coffee .banner::before {
          padding-top: 37%; } }
  .coffee .banner__inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1em; }
  .coffee .banner__content h1, .coffee .banner__content h2, .coffee .banner__content h3 {
    font-weight: 700;
    color: #000; }
  @media screen and (max-width: 440px) {
    .coffee .banner__inner {
      padding: 4em 1em; } }
  @media screen and (min-width: 440px) {
    .coffee .banner__content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%); } }
  @media screen and (min-width: 1025px) {
    .coffee .banner__content {
      transform: translateY(-50%) translateX(-10%);
      max-width: 500px; } }
  .coffee .images .image {
    float: left;
    width: 100%;
    background-size: cover;
    background-position: center;
    margin-bottom: 1em; }
    .coffee .images .image:last-of-type {
      margin-bottom: 0; }
    @media screen and (min-width: 642px) {
      .coffee .images .image {
        width: 45%;
        margin-right: 10%;
        margin-bottom: 0; }
        .coffee .images .image:last-of-type {
          margin-right: 0; } }
    .coffee .images .image::before {
      content: '';
      display: block;
      padding-top: 100%; }
  .coffee .images .image--full {
    float: none;
    margin: 0 auto !important; }
  .coffee .logo.logo--supporters {
    margin-bottom: 4em; }
    .coffee .logo.logo--supporters .logo__image {
      width: 90%;
      max-width: 500px; }
  .coffee .logo.logo--header .logo__image {
    width: 90%; }
  .coffee .logo .logo__header {
    text-align: center; }
  .coffee .logo .logo__heading {
    margin-top: -2em; }
  .coffee .logo .logo__image {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin: 1em auto; }
    .coffee .logo .logo__image::before {
      content: '';
      display: block;
      padding-top: 6.41026%; }
  .coffee .logo .logo__content {
    text-align: center; }
  .coffee .row, .coffee .row-expanded {
    padding: 0 1em 1em; }
    @media screen and (min-width: 1025px) {
      .coffee .row, .coffee .row-expanded {
        padding: 2em 1em 0;
        margin-bottom: 2em; } }
  .coffee .attachment--wysiwyg {
    color: #b20838;
    font-weight: 700;
    font-size: 1.3125rem;
    line-height: 1.4; }
    .coffee .attachment--wysiwyg .attachment__content {
      text-align: center; }
    .coffee .attachment--wysiwyg .table {
      width: 100%;
      max-width: 800px;
      margin: 0 auto 1em;
      border: none;
      border-collapse: collapse; }
      .coffee .attachment--wysiwyg .table tr:nth-of-type(even) {
        background: white; }
      .coffee .attachment--wysiwyg .table td {
        text-align: center;
        font-weight: 400;
        color: #937e74; }
  @media screen and (min-width: 642px) {
    .coffee .attachment--left .attachment__image,
    .coffee .product__image {
      float: left;
      margin-right: 2em; } }
  @media screen and (min-width: 642px) {
    .coffee .attachment--right .attachment__image {
      float: right;
      margin-left: 2em; } }
  .coffee .attachment__image,
  .coffee .product__image {
    width: 100%;
    background-size: cover;
    background-position: center; }
    @media screen and (min-width: 642px) {
      .coffee .attachment__image,
      .coffee .product__image {
        width: 45%; } }
    .coffee .attachment__image::before,
    .coffee .product__image::before {
      content: '';
      display: block;
      padding-top: 100%; }
  .coffee .product .dk_container {
    float: initial; }
  .coffee .product .product__heading {
    display: block; }
  .coffee .product .product__content {
    float: left;
    width: 100%; }
  .coffee .product .product__content p {
    color: #937e74; }
  .coffee .product .product__cta {
    float: right; }

/* print */
/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !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) ")"; }
  /*
     * Don't show links for images, or javascript/internal links
     */
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    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.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .hide-for-print {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvX2NvbXBhc3Muc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19saXN0cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fY29uc3RhbnRzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9fY29sb3Iuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvY29sb3IvX2NvbnRyYXN0LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL19nZW5lcmFsLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX3Jlc2V0LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvcmVzZXQvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19oYWNrcy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL19zdXBwb3J0LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2Zsb2F0LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX3RhZy1jbG91ZC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19taW4uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX3Nwcml0ZXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvc3ByaXRlcy9fYmFzZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9zcHJpdGVzL19zcHJpdGUtaW1nLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL190YWJsZXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19hbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fYm9yZGVycy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX3NjYWZmb2xkaW5nLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9fbGlua3Muc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpbmtzL19ob3Zlci1saW5rLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fbGluay1jb2xvcnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpbmtzL191bnN0eWxlZC1saW5rLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9fbGlzdHMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19ob3Jpem9udGFsLWxpc3Quc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19idWxsZXRzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saXN0cy9faW5saW5lLWxpc3Quc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtYmxvY2stbGlzdC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2lubGluZS1ibG9jay5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX3RleHQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX2VsbGlwc2lzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19ub3dyYXAuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX3JlcGxhY2VtZW50LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19mb3JjZS13cmFwLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbF9yaHl0aG0uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9sYXlvdXQvX2dyaWQtYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ltYWdlcy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtc2l6ZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL19jc3MzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2hhZG93LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdGV4dC1zaGFkb3cuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LXNpemluZy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JveC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtb3JpZ2luLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZm9udC1mYWNlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faHlwaGVuYXRpb24uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19maWx0ZXIuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19ibG9jay1ncmlkLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b24tZ3JvdXBzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2NsZWFyaW5nLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi1idXR0b25zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9faWNvbi1iYXIuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19pbmxpbmUtbGlzdHMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fa2V5c3Ryb2tlcy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2xhYmVscy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcHJpY2luZy10YWJsZXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wcm9ncmVzcy1iYXJzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc2lkZS1uYXYuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3ViLW5hdi5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N3aXRjaGVzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RodW1icy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3R5cGUuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZm91bmRhdGlvbi9zY3NzL25vcm1hbGl6ZS5zY3NzIiwibGlicy9fZm9udC1hd2Vzb21lLnNjc3MiLCJsaWJzL19taXhpbnMuc2NzcyIsImNvcmVkbmEvX2ZvbnRzLnNjc3MiLCJjb3JlZG5hL19nbG9iYWxzLnNjc3MiLCJsaWJzL192ZW5kb3Iuc2NzcyIsImxpYnMvX2ZsZXhzbGlkZXIuc2NzcyIsImxpYnMvX2Ryb3BraWNrLnNjc3MiLCJsaWJzL19qcXVlcnktdWkuc2NzcyIsImxpYnMvX293bGNhcm91c2VsLnNjc3MiLCJjb3JlZG5hL3RlbXBsYXRlcy9faGVhZGVyLnNjc3MiLCJjb3JlZG5hL3RlbXBsYXRlcy9fcGFnZV9jZW50cmVfZW50cnkuc2NzcyIsImNvcmVkbmEvdGVtcGxhdGVzL19wYWdlX2NlbnRyZV9pbmZvLnNjc3MiLCJjb3JlZG5hL3RlbXBsYXRlcy9fZm9ybS5zY3NzIiwiY29yZWRuYS90ZW1wbGF0ZXMvX3NpZGViYXIuc2NzcyIsImNvcmVkbmEvdGVtcGxhdGVzL19mb290ZXIuc2NzcyIsImNvcmVkbmEvdGVtcGxhdGVzL19wYWdlci5zY3NzIiwiY29yZWRuYS90ZW1wbGF0ZXMvX2hlbHAuc2NzcyIsImNvcmVkbmEvbW9kdWxlcy9fbmV3cy5zY3NzIiwiY29yZWRuYS9tb2R1bGVzL19ldmVudHMuc2NzcyIsImNvcmVkbmEvbW9kdWxlcy9fcGFnZXMuc2NzcyIsImNvcmVkbmEvX2dsb2JhbC1mb290ZXIuc2NzcyIsImNvcmVkbmEvdGVtcGxhdGVzL19maXguc2NzcyIsImNvcmVkbmEvdGVtcGxhdGVzL19jb2ZmZWUuc2NzcyIsImNvcmVkbmEvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImNvbXBhc3NcIjtcclxuQGltcG9ydCBcInNldHRpbmdzXCI7XHJcbkBpbXBvcnQgXCJmb3VuZGF0aW9uXCI7XHJcbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcclxuXHJcbi8qIExpYnJhcmllcyAqL1xyXG5AaW1wb3J0IFwibGlicy9mb250LWF3ZXNvbWVcIjtcclxuQGltcG9ydCBcImxpYnMvbWl4aW5zXCI7XHJcblxyXG5cclxuLyogY29yZWRuYSAgKi9cclxuQGltcG9ydCBcImNvcmVkbmEvZm9udHNcIjtcclxuQGltcG9ydCBcImNvcmVkbmEvZ2xvYmFsc1wiO1xyXG5cclxuXHJcbkBpbXBvcnQgXCJsaWJzL3ZlbmRvclwiO1xyXG5AaW1wb3J0IFwibGlicy9mbGV4c2xpZGVyXCI7XHJcbkBpbXBvcnQgXCJsaWJzL2Ryb3BraWNrXCI7XHJcbkBpbXBvcnQgXCJsaWJzL2pxdWVyeS11aVwiO1xyXG5AaW1wb3J0IFwibGlicy9vd2xjYXJvdXNlbFwiO1xyXG5cclxuLyogY29yZWRuYSB0ZW1wbGF0ZXMgKi9cclxuQGltcG9ydCBcImNvcmVkbmEvdGVtcGxhdGVzL2hlYWRlclwiO1xyXG5AaW1wb3J0IFwiY29yZWRuYS90ZW1wbGF0ZXMvcGFnZV9jZW50cmVfZW50cnlcIjtcclxuQGltcG9ydCBcImNvcmVkbmEvdGVtcGxhdGVzL3BhZ2VfY2VudHJlX2luZm9cIjtcclxuQGltcG9ydCBcImNvcmVkbmEvdGVtcGxhdGVzL2Zvcm1cIjtcclxuQGltcG9ydCBcImNvcmVkbmEvdGVtcGxhdGVzL3NpZGViYXJcIjtcclxuQGltcG9ydCBcImNvcmVkbmEvdGVtcGxhdGVzL2Zvb3RlclwiO1xyXG5AaW1wb3J0IFwiY29yZWRuYS90ZW1wbGF0ZXMvcGFnZXJcIjtcclxuXHJcbi8qIGNvcmVkbmEgbW9kdWxlcyAqL1xyXG5AaW1wb3J0IFwiY29yZWRuYS90ZW1wbGF0ZXMvaGVscFwiO1xyXG5AaW1wb3J0IFwiY29yZWRuYS9tb2R1bGVzL25ld3NcIjtcclxuQGltcG9ydCBcImNvcmVkbmEvbW9kdWxlcy9ldmVudHNcIjtcclxuQGltcG9ydCBcImNvcmVkbmEvbW9kdWxlcy9wYWdlc1wiO1xyXG5cclxuQGltcG9ydCBcImNvcmVkbmEvZ2xvYmFsLWZvb3RlclwiO1xyXG5cclxuLyogZml4ZXMgaW4gcWEqL1xyXG5AaW1wb3J0IFwiY29yZWRuYS90ZW1wbGF0ZXMvZml4XCI7XHJcblxyXG5AaW1wb3J0IFwiY29yZWRuYS90ZW1wbGF0ZXMvY29mZmVlXCI7XHJcbi8qIHByaW50ICovXHJcbkBpbXBvcnQgXCJjb3JlZG5hL3ByaW50XCI7XHJcbiIsIkBpbXBvcnQgXCJjb21wYXNzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImNvbXBhc3MvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiY29tcGFzcy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiY29tcGFzcy9jc3MzXCI7XG4iLCJAaW1wb3J0IFwiZnVuY3Rpb25zL2xpc3RzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnN0YW50c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9kaXNwbGF5XCI7XG4iLCIvKlxuICogQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGxpc3QgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9saXN0cy5yYlxuICovXG5cblxuLy8gY29tcGFjdCBpcyBwYXJ0IG9mIGxpYnNhc3NcblxuQGZ1bmN0aW9uIC1jb21wYXNzLW50aCgkbGlzdCwgJHBsYWNlKSB7XG4gIC8vIFllcCwgU2Fzcy1saXN0cyBhcmUgMS1pbmRleGVkLlxuICBAaWYgJHBsYWNlID09IFwiZmlyc3RcIiB7XG4gICAgJHBsYWNlOiAxO1xuICB9XG4gIEBpZiAkcGxhY2UgPT0gXCJsYXN0XCIge1xuICAgICRwbGFjZTogbGVuZ3RoKCRsaXN0KTtcbiAgfVxuICBAcmV0dXJuIG50aCgkbGlzdCwgJHBsYWNlKTtcbn1cblxuLy8gY29tcGFzc19saXN0IGFuZCBjb21wYXNzX3NwYWNlX2xpc3QgY2FuJ3QgYmUgaW1wbGVtZW50ZWQgaW4gc2FzcyBzY3JpcHRcblxuQGZ1bmN0aW9uIC1jb21wYXNzLWxpc3Qtc2l6ZSgkbGlzdCkge1xuICBAcmV0dXJuIGxlbmd0aCgkbGlzdCk7XG59XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1zbGljZSgkbGlzdCwgJHN0YXJ0LCAkZW5kOiBmYWxzZSkge1xuICBAaWYgJGVuZCA9PSBmYWxzZSB7XG4gICAgJGVuZDogbGVuZ3RoKCRsaXN0KTtcbiAgfVxuICAkZnVsbDogbnRoKCRsaXN0LCAkc3RhcnQpO1xuICBAZm9yICRpIGZyb20gJHN0YXJ0ICsgMSB0aHJvdWdoICRlbmQge1xuICAgICRmdWxsOiAkZnVsbCwgbnRoKCRsaXN0LCAkaSk7XG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIHJlamVjdCgkbGlzdCwgJHJlamVjdDEsICRyZWplY3QyOm51bGwsICRyZWplY3QzOm51bGwsICRyZWplY3Q0Om51bGwsICRyZWplY3Q1Om51bGwsICRyZWplY3Q2Om51bGwsICRyZWplY3Q3Om51bGwsICRyZWplY3Q4Om51bGwsICRyZWplY3Q5Om51bGwpIHtcbiAgJHJlamVjdHM6ICRyZWplY3QxLCAkcmVqZWN0MiwgJHJlamVjdDMsICRyZWplY3Q0LCAkcmVqZWN0NSwgJHJlamVjdDYsICRyZWplY3Q3LCAkcmVqZWN0OCwgJHJlamVjdDk7XG5cbiAgJGZ1bGw6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIGluZGV4KCRyZWplY3RzLCAkaXRlbSkge31cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJGZ1bGwge1xuICAgICAgICAkZnVsbDogJGZ1bGwsICRpdGVtO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZnVsbDogJGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59XG4iLCIvKlxuICogQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNvbnN0YW50cyBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuICogaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NvbnN0YW50cy5yYlxuICovXG5cbkBmdW5jdGlvbiBvcHBvc2l0ZS1wb3NpdGlvbigkZnJvbSkge1xuICAgIEBpZiAoJGZyb20gPT0gdG9wKSB7XG4gICAgICAgIEByZXR1cm4gYm90dG9tO1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGJvdHRvbSkge1xuICAgICAgICBAcmV0dXJuIHRvcDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBsZWZ0KSB7XG4gICAgICAgIEByZXR1cm4gcmlnaHQ7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gcmlnaHQpIHtcbiAgICAgICAgQHJldHVybiBsZWZ0O1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGNlbnRlcikge1xuICAgICAgICBAcmV0dXJuIGNlbnRlcjtcbiAgICB9XG59XG4iLCIvKlxuICogQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGRpc3BsYXkgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvZGlzcGxheS5yYlxuICovXG5cbkBmdW5jdGlvbiBlbGVtZW50cy1vZi10eXBlKCR0eXBlKXtcbiAgICBAaWYgKCR0eXBlID09IGJsb2NrKXtcbiAgICAgICAgQHJldHVybiBhZGRyZXNzLCBhcnRpY2xlLCBhc2lkZSwgYmxvY2txdW90ZSwgY2VudGVyLCBkaXIsIGRpdiwgZGQsIGRldGFpbHMsIGRsLCBkdCwgZmllbGRzZXQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9ybSwgZm9vdGVyLCBmcmFtZXNldCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaHIsIGhlYWRlciwgaGdyb3VwLCBpc2luZGV4LCBtYWluLCBtZW51LCBuYXYsIG5vZnJhbWVzLCBub3NjcmlwdCwgb2wsIHAsIHByZSwgc2VjdGlvbiwgc3VtbWFyeSwgdWw7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaW5saW5lKXtcbiAgICAgICAgQHJldHVybiBhLCBhYmJyLCBhY3JvbnltLCBhdWRpbywgYiwgYmFzZWZvbnQsIGJkbywgYmlnLCBiciwgY2FudmFzLCBjaXRlLCBjb2RlLCBjb21tYW5kLCBkYXRhbGlzdCwgZGZuLCBlbSwgZW1iZWQsIGZvbnQsIGksIGltZywgaW5wdXQsIGtleWdlbiwga2JkLCBsYWJlbCwgbWFyaywgbWV0ZXIsIG91dHB1dCwgcHJvZ3Jlc3MsIHEsIHJwLCBydCwgcnVieSwgcywgc2FtcCwgc2VsZWN0LCBzbWFsbCwgc3Bhbiwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0ZXh0YXJlYSwgdGltZSwgdHQsIHUsIHZhciwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBpbmxpbmUtYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGltZztcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZSl7XG4gICAgICAgIEByZXR1cm4gdGFibGU7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gbGlzdC1pdGVtKXtcbiAgICAgICAgQHJldHVybiBsaTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1yb3ctZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRib2R5O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWhlYWRlci1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGhlYWQ7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtZm9vdGVyLWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0Zm9vdDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1yb3cpe1xuICAgICAgICBAcmV0dXJuIHRyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWNlbGwpe1xuICAgICAgICBAcmV0dXJuIHRoLCB0ZDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNS1ibG9jayl7XG4gICAgICAgIEByZXR1cm4gYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1LWlubGluZSl7XG4gICAgICAgIEByZXR1cm4gYXVkaW8sIGNhbnZhcywgY29tbWFuZCwgZGF0YWxpc3QsIGVtYmVkLCBrZXlnZW4sIG1hcmssIG1ldGVyLCBvdXRwdXQsIHByb2dyZXNzLCBycCwgcnQsIHJ1YnksIHRpbWUsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUpe1xuICAgICAgICBAcmV0dXJuIGFydGljbGUsIGFzaWRlLCBhdWRpbywgY2FudmFzLCBjb21tYW5kLCBkYXRhbGlzdCwgZGV0YWlscywgZW1iZWQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwga2V5Z2VuLCBtYWluLCBtYXJrLCBtZW51LCBtZXRlciwgbmF2LCBvdXRwdXQsIHByb2dyZXNzLCBycCwgcnQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGV4dC1pbnB1dCl7XG4gICAgICAgIEByZXR1cm4gaW5wdXQsIHRleHRhcmVhO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvY29sb3JcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZ2VuZXJhbFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcHJpdGVzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RhYmxlc1wiO1xuXG4vLyBkZXByZWNhdGVkXG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbiIsIkBpbXBvcnQgXCJjb2xvci9jb250cmFzdFwiOyIsIiRjb250cmFzdGVkLWRhcmstZGVmYXVsdDogICAjMDAwICFkZWZhdWx0O1xuJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdDogICNmZmYgIWRlZmF1bHQ7XG4kY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkOiAzMCUgIWRlZmF1bHQ7XG5cbi8vIFJldHVybnMgdGhlIGAkbGlnaHRgIGNvbG9yIHdoZW4gdGhlIGAkY29sb3JgIGlzIGRhcmtcbi8vIGFuZCB0aGUgYCRkYXJrYCBjb2xvciB3aGVuIHRoZSBgJGNvbG9yYCBpcyBsaWdodC5cbi8vIFRoZSBgJHRocmVzaG9sZGAgaXMgYSBwZXJjZW50IGJldHdlZW4gYDAlYCBhbmQgYDEwMCVgIGFuZCBpdCBkZXRlcm1pbmVzXG4vLyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi5cbkBmdW5jdGlvbiBjb250cmFzdC1jb2xvcihcbiAgJGNvbG9yLFxuICAkZGFyazogJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0LFxuICAkbGlnaHQ6ICRjb250cmFzdGVkLWxpZ2h0LWRlZmF1bHQsXG4gICR0aHJlc2hvbGQ6ICRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGRcbikge1xuICBAcmV0dXJuIGlmKGxpZ2h0bmVzcygkY29sb3IpIDwgJHRocmVzaG9sZCwgJGxpZ2h0LCAkZGFyaylcbn1cblxuLy8gU2V0cyB0aGUgc3BlY2lmaWVkIGJhY2tncm91bmQgY29sb3IgYW5kIGNhbGN1bGF0ZXMgYSBkYXJrIG9yIGxpZ2h0IGNvbnRyYXN0ZWQgdGV4dCBjb2xvci5cbi8vIFRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBbY29udHJhc3QtY29sb3IgZnVuY3Rpb25dKCNmdW5jdGlvbi1jb250cmFzdC1jb2xvcikuXG5AbWl4aW4gY29udHJhc3RlZChcbiAgJGJhY2tncm91bmQtY29sb3IsXG4gICRkYXJrOiAkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQsXG4gICRsaWdodDogJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdCxcbiAgJHRocmVzaG9sZDogJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZFxuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogY29udHJhc3QtY29sb3IoJGJhY2tncm91bmQtY29sb3IsICRkYXJrLCAkbGlnaHQsICR0aHJlc2hvbGQpO1xufSIsIkBpbXBvcnQgXCJnZW5lcmFsL3Jlc2V0XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImdlbmVyYWwvZmxvYXRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL3RhZy1jbG91ZFwiO1xuQGltcG9ydCBcImdlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL21pblwiO1xuIiwiLy8gVGhpcyBtb2R1bGUgaGFzIG1vdmVkLlxuQGltcG9ydCBcIi4uLy4uL3Jlc2V0L3V0aWxpdGllc1wiO1xuIiwiLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldCAyLjBdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbClcbi8vIEdsb2JhbCByZXNldCBydWxlcy5cbi8vIEZvciBtb3JlIHNwZWNpZmljIHJlc2V0cywgdXNlIHRoZSByZXNldCBtaXhpbnMgcHJvdmlkZWQgYmVsb3dcbkBtaXhpbiBnbG9iYWwtcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIC8vIFVubGlrZSBFcmljJ3Mgb3JpZ2luYWwgcmVzZXQsIHdlIHJlc2V0IHRoZSBodG1sIGVsZW1lbnQgdG8gYmUgY29tcGF0aWJsZVxuICAvLyB3aXRoIHRoZSB2ZXJ0aWNhbCByaHl0aG0gbWl4aW5zLlxuICBodG1sIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib2R5OyB9XG4gIG9sLCB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZTsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfVxuICBAaW5jbHVkZSByZXNldC1odG1sNTsgfVxuXG4vLyBSZXNldCBhbGwgZWxlbWVudHMgd2l0aGluIHNvbWUgc2VsZWN0b3Igc2NvcGUuIFRvIHJlc2V0IHRoZSBzZWxlY3RvciBpdHNlbGYsXG4vLyBtaXhpbiB0aGUgYXBwcm9wcmlhdGUgcmVzZXQgbWl4aW4gZm9yIHRoYXQgZWxlbWVudCB0eXBlIGFzIHdlbGwuIFRoaXMgY291bGQgYmVcbi8vIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdHlsZSBhIHBhcnQgb2YgeW91ciBwYWdlIGluIGEgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB3YXkuXG5AbWl4aW4gbmVzdGVkLXJlc2V0IHtcbiAgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuICBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxuICBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbiAgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gICAgQGluY2x1ZGUgcmVzZXQtZm9udDsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfSB9XG5cbi8vIFJlc2V0IHRoZSBib3ggbW9kZWwgbWVhc3VyZW1lbnRzLlxuQG1peGluIHJlc2V0LWJveC1tb2RlbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8vIFJlc2V0IHRoZSBmb250IGFuZCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gcmVzZXQtZm9udCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8vIFJlc2V0cyB0aGUgb3V0bGluZSB3aGVuIGZvY3VzLlxuLy8gRm9yIGFjY2Vzc2liaWxpdHkgeW91IG5lZWQgdG8gYXBwbHkgc29tZSBzdHlsaW5nIGluIGl0cyBwbGFjZS5cbkBtaXhpbiByZXNldC1mb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLy8gUmVzZXQgYSBib2R5IGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8vIFJlc2V0IHRoZSBsaXN0IHN0eWxlIG9mIGFuIGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLy8gUmVzZXQgYSB0YWJsZVxuQG1peGluIHJlc2V0LXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLy8gUmVzZXQgYSB0YWJsZSBjZWxsIChgdGhgLCBgdGRgKVxuQG1peGluIHJlc2V0LXRhYmxlLWNlbGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8vIFJlc2V0IGEgcXVvdGF0aW9uIChgcWAsIGBibG9ja3F1b3RlYClcbkBtaXhpbiByZXNldC1xdW90YXRpb24ge1xuICBxdW90ZXM6IG5vbmU7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyBcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBib3JkZXIuXG5AbWl4aW4gcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vLyBVbnJlY29nbml6ZWQgZWxlbWVudHMgYXJlIGRpc3BsYXllZCBpbmxpbmUuXG4vLyBUaGlzIHJlc2V0IHByb3ZpZGVzIGEgYmFzaWMgcmVzZXQgZm9yIGJsb2NrIGh0bWw1IGVsZW1lbnRzXG4vLyBzbyB0aGV5IGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCByZWNvZ25pemUgdGhlbVxuLy8gYW5kIHJlc2V0IGluIGJyb3dzZXJzIHRoYXQgaGF2ZSBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlbS5cbkBtaXhpbiByZXNldC1odG1sNSB7XG4gICN7ZWxlbWVudHMtb2YtdHlwZShodG1sNS1ibG9jayl9IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgZGlzcGxheSBvZiBpbmxpbmUgYW5kIGJsb2NrIGVsZW1lbnRzIHRvIHRoZWlyIGRlZmF1bHQgZGlzcGxheVxuLy8gYWNjb3JkaW5nIHRvIHRoZWlyIHRhZyB0eXBlLiBFbGVtZW50cyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRpc3BsYXkgdGhhdCB2YXJpZXMgYWNyb3NzXG4vLyB2ZXJzaW9ucyBvZiBodG1sIG9yIGJyb3dzZXIgYXJlIG5vdCBoYW5kbGVkIGhlcmUsIGJ1dCB0aGlzIGNvdmVycyB0aGUgOTAlIHVzZSBjYXNlLlxuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgLy8gVHVybiBvZmYgdGhlIGRpc3BsYXkgZm9yIGJvdGggb2YgdGhlc2UgY2xhc3Nlc1xuLy8gICAgIC51bnJlZ2lzdGVyZWQtb25seSwgLnJlZ2lzdGVyZWQtb25seVxuLy8gICAgICAgZGlzcGxheTogbm9uZVxuLy8gICAgIC8vIE5vdyB0dXJuIG9ubHkgb25lIG9mIHRoZW0gYmFjayBvbiBkZXBlbmRpbmcgb24gc29tZSBvdGhlciBjb250ZXh0LlxuLy8gICAgIGJvZHkucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIucmVnaXN0ZXJlZC1vbmx5XCIpXG4vLyAgICAgYm9keS51bnJlZ2lzdGVyZWRcbi8vICAgICAgICtyZXNldC1kaXNwbGF5KFwiLnVucmVnaXN0ZXJlZC1vbmx5XCIpXG5AbWl4aW4gcmVzZXQtZGlzcGxheSgkc2VsZWN0b3I6IFwiXCIsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJpbmxpbmVcIiksICRzZWxlY3Rvcil9IHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJibG9ja1wiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBFeHRlbmRzIHRoZSBib3R0b20gb2YgdGhlIGVsZW1lbnQgdG8gZW5jbG9zZSBhbnkgZmxvYXRzIGl0IGNvbnRhaW5zLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwiaGFja3NcIjtcblxuLy8gVGhpcyBiYXNpYyBtZXRob2QgaXMgcHJlZmVycmVkIGZvciB0aGUgdXN1YWwgY2FzZSwgd2hlbiBwb3NpdGlvbmVkXG4vLyBjb250ZW50IHdpbGwgbm90IHNob3cgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb250YWluZXIuXG4vL1xuLy8gUmVjb21tZW5kYXRpb25zIGluY2x1ZGUgdXNpbmcgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGEgd2lkdGguXG4vLyBDcmVkaXQ6IFtxdWlya3Ntb2RlLm9yZ10oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMDUvMDMvY2xlYXJpbmdfZmxvYXRzLmh0bWwpXG5AbWl4aW4gY2xlYXJmaXgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIG9sZGVyIG1ldGhvZCBmcm9tIFBvc2l0aW9uIElzIEV2ZXJ5dGhpbmcgY2FsbGVkXG4vLyBbRWFzeSBDbGVhcmluZ10oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZWFzeWNsZWFyaW5nLmh0bWwpXG4vLyBoYXMgdGhlIGFkdmFudGFnZSBvZiBhbGxvd2luZyBwb3NpdGlvbmVkIGVsZW1lbnRzIHRvIGhhbmdcbi8vIG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29udGFpbmVyIGF0IHRoZSBleHBlbnNlIG9mIG1vcmUgdHJpY2t5IENTUy5cbkBtaXhpbiBsZWdhY3ktcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudCAgICA6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIGhlaWdodCAgICAgOiAwO1xuICAgIGNsZWFyICAgICAgOiBib3RoO1xuICAgIG92ZXJmbG93ICAgOiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgfVxuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIGlzIGFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0aGUgUElFIGNsZWFyZml4IG1ldGhvZCB0aGF0IHJlZHVjZXMgdGhlIGFtb3VudCBvZiBDU1Mgb3V0cHV0LlxuLy8gSWYgeW91IG5lZWQgdG8gc3VwcG9ydCBGaXJlZm94IGJlZm9yZSAzLjUgeW91IG5lZWQgdG8gdXNlIGBsZWdhY3ktcGllLWNsZWFyZml4YCBpbnN0ZWFkLlxuLy9cbi8vIEFkYXB0ZWQgZnJvbTogW0EgbmV3IG1pY3JvIGNsZWFyZml4IGhhY2tdKGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLylcbkBtaXhpbiBwaWUtY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGUgYHpvb21gIGFwcHJvYWNoIGdlbmVyYXRlcyBsZXNzIENTUyBidXQgZG9lcyBub3QgdmFsaWRhdGUuXG4vLyBTZXQgdGhpcyB0byBgYmxvY2tgIHRvIHVzZSB0aGUgZGlzcGxheS1wcm9wZXJ0eSB0byBoYWNrIHRoZVxuLy8gZWxlbWVudCB0byBnYWluIGxheW91dC5cbiRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2g6IHpvb20gIWRlZmF1bHQ7XG5cbi8vIFRoaXMgbWl4aW4gY2F1c2VzIGFuIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIHNlbGVjdG9yXG4vLyB0byBnYWluIHRoZSBcImhhc0xheW91dFwiIHByb3BlcnR5IGluIGludGVybmV0IGV4cGxvcmVyLlxuLy8gTW9yZSBpbmZvcm1hdGlvbiBvbiBbaGFzTGF5b3V0XShodHRwOi8vcmVmZXJlbmNlLnNpdGVwb2ludC5jb20vY3NzL2hhc2xheW91dCkuXG5AbWl4aW4gaGFzLWxheW91dCgkYXBwcm9hY2g6ICRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2gpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIEBpZiAkYXBwcm9hY2ggPT0gem9vbSB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfSBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gYmxvY2sge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC1ibG9jaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiVW5rbm93biBoYXMtbGF5b3V0IGFwcHJvYWNoOiAjeyRhcHByb2FjaH1cIjtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtem9vbSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtYmxvY2sge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLy8gVGhpcyBtYWtlcyBpZTYgZ2V0IGxheW91dFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBhbmQgdGhpcyBwdXRzIGl0IGJhY2sgdG8gYmxvY2tcbiAgICAmIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4vLyBBIGhhY2sgdG8gc3VwcGx5IElFNiAoYW5kIGJlbG93KSB3aXRoIGEgZGlmZmVyZW50IHByb3BlcnR5IHZhbHVlLlxuLy8gW1JlYWQgbW9yZV0oaHR0cDovL3d3dy5jc3Nwb3J0YWwuY29tL2Nzcy1oYWNrcy8jaW5fY3NzLWltcG9ydGFudCkuXG5AbWl4aW4gYmFuZy1oYWNrKCRwcm9wZXJ0eSwgJHZhbHVlLCAkaWU2LXZhbHVlKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JGllNi12YWx1ZX07XG4gIH1cbn1cbiIsIi8vIFVzdWFsbHkgY29tcGFzcyBoYWNrcyBhcHBseSB0byBib3RoIGllNiAmIDcgLS0gc2V0IHRoaXMgdG8gZmFsc2UgdG8gZGlzYWJsZSBzdXBwb3J0IGZvciBib3RoLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU2IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNjogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU3IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNzogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgbGVnYWN5IGllOCBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIEBwcml2YXRlXG4vLyBUaGUgdXNlciBjYW4gc2ltcGx5IHNldCAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIGFuZCA2LCA3LCBhbmQgOCB3aWxsIGJlIHNldCBhY2NvcmRpbmdseSxcbi8vIEJ1dCBpbiBjYXNlIHRoZSB1c2VyIHNldCBlYWNoIG9mIHRob3NlIGV4cGxpY2l0bHksIHdlIG5lZWQgdG8gc3luYyB0aGUgdmFsdWUgb2Zcbi8vIHRoaXMgY29tYmluZWQgdmFyaWFibGUuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllODtcblxuLy8gV2hldGhlciB0byBvdXRwdXQgbGVnYWN5IHN1cHBvcnQgZm9yIG1vemlsbGEuXG4vLyBVc3VhbGx5IHRoaXMgbWVhbnMgaGFja3MgdG8gc3VwcG9ydCBGaXJlZm94IDMuNiBvciBlYXJsaWVyLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhOiB0cnVlO1xuXG4vLyBTdXBwb3J0IGZvciBtb3ppbGxhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tb3opLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC13ZWJraXQpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0J3Mgb3JpZ2luYWwgKG5vbi1zdGFuZGFyZCkgZ3JhZGllbnQgc3ludGF4LlxuJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igb3BlcmEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW8pLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgbWljcm9zb2Z0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tcykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBraHRtbCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgta2h0bWwpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHN2ZyBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzLlxuLy8gU2V0dGluZyB0aGlzIHRvIHRydWUgbWlnaHQgYWRkIHNpZ25pZmljYW50IHNpemUgdG8geW91clxuLy8gZ2VuZXJhdGVkIHN0eWxlc2hlZXRzLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIENTUyBQSUUgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXBpZSkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6bGVmdCB3aXRoIGZpeCBmb3IgdGhlXG4vLyBbZG91YmxlLW1hcmdpbiBidWcgaW4gSUU1LzZdKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2V4cGxvcmVyL2RvdWJsZWQtbWFyZ2luLmh0bWwpXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIEBpbmNsdWRlIGZsb2F0KGxlZnQpOyB9XG5cbi8vIEltcGxlbWVudGF0aW9uIG9mIGZsb2F0OnJpZ2h0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIEBpbmNsdWRlIGZsb2F0KHJpZ2h0KTsgfVxuXG4vLyBEaXJlY3Rpb24gaW5kZXBlbmRlbnQgZmxvYXQgbWl4aW4gdGhhdCBmaXhlcyB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdCgkc2lkZTogbGVmdCkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiB1bnF1b3RlKCRzaWRlKTsgfVxuXG4vLyBSZXNldHMgZmxvYXRlZCBlbGVtZW50cyBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgb2YgYGZsb2F0OiBub25lYCBhbmQgZGVmYXVsdHNcbi8vIHRvIGBkaXNwbGF5OiBibG9ja2AgdW5sZXNzIHlvdSBwYXNzIGBpbmxpbmVgIGFzIGFuIGFyZ3VtZW50XG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgYm9keS5ob21lcGFnZVxuLy8gICAgICAgI2Zvb3RlciBsaVxuLy8gICAgICAgICArZmxvYXQtbGVmdFxuLy8gICAgIGJvZHkuc2lnbnVwXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtyZXNldC1mbG9hdFxuQG1peGluIHJlc2V0LWZsb2F0KCRkaXNwbGF5OiBibG9jaykge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogJGRpc3BsYXk7IH0iLCIvLyBFbWl0cyBzdHlsZXMgZm9yIGEgdGFnIGNsb3VkXG5AbWl4aW4gdGFnLWNsb3VkKCRiYXNlLXNpemU6IDFlbSkge1xuICBmb250LXNpemU6ICRiYXNlLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgKiAkYmFzZS1zaXplO1xuICAueHhzLCAueHMsIC5zLCAubCwgLnhsLCAueHhsIHtcbiAgICBsaW5lLWhlaWdodDogMS4yICogJGJhc2Utc2l6ZTsgfVxuICAueHhzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLXNpemUgLyAyOyB9XG4gIC54cyB7XG4gICAgZm9udC1zaXplOiAyICogJGJhc2Utc2l6ZSAvIDM7IH1cbiAgLnMge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyA0OyB9XG4gIC5sIHtcbiAgICBmb250LXNpemU6IDQgKiAkYmFzZS1zaXplIC8gMzsgfVxuICAueGwge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyAyOyB9XG4gIC54eGwge1xuICAgIGZvbnQtc2l6ZTogMiAqICRiYXNlLXNpemU7IH0gfVxuIiwiQGltcG9ydCBcImhhY2tzXCI7XG5cbi8vKipcbi8vIENyb3NzIGJyb3dzZXIgbWluLWhlaWdodCBtaXhpbi5cbkBtaXhpbiBtaW4taGVpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bShoZWlnaHQsICR2YWx1ZSk7IH1cblxuLy8qKlxuLy8gQ3Jvc3MgYnJvd3NlciBtaW4td2lkdGggbWl4aW4uXG5AbWl4aW4gbWluLXdpZHRoKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bSh3aWR0aCwgJHZhbHVlKTsgfVxuXG4vLyBAcHJpdmF0ZSBUaGlzIG1peGluIGlzIG5vdCBtZWFudCB0byBiZSB1c2VkIGRpcmVjdGx5LlxuQG1peGluIGhhY2tlZC1taW5pbXVtKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gIG1pbi0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgQGluY2x1ZGUgYmFuZy1oYWNrKCRwcm9wZXJ0eSwgYXV0bywgJHZhbHVlKTsgfVxuIiwiQGltcG9ydCBcInNwcml0ZXMvYmFzZVwiO1xuQGltcG9ydCBcInNwcml0ZXMvc3ByaXRlLWltZ1wiO1xuIiwiLy8gRGV0ZXJtaW5lcyB0aG9zZSBzdGF0ZXMgZm9yIHdoaWNoIHlvdSB3YW50IHRvIGVuYWJsZSBtYWdpYyBzcHJpdGUgc2VsZWN0b3JzXG4kc3ByaXRlLXNlbGVjdG9yczogaG92ZXIsIHRhcmdldCwgYWN0aXZlICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgYW4gZWxlbWVudCB0byB0aGUgb3JpZ2luYWxcbi8vIGRpbWVuc2lvbnMgb2YgYW4gaW1hZ2UgYmVmb3JlIGl0IHdhcyBpbmNsdWRlZCBpbiB0aGUgc3ByaXRlLlxuQG1peGluIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xuICB3aWR0aDogaW1hZ2Utd2lkdGgoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xufVxuXG4vLyBTZXQgdGhlIGJhY2tncm91bmQgcG9zaXRpb24gb2YgdGhlIGdpdmVuIHNwcml0ZSBgJG1hcGAgdG8gZGlzcGxheSB0aGVcbi8vIHNwcml0ZSBvZiB0aGUgZ2l2ZW4gYCRzcHJpdGVgIG5hbWUuIFlvdSBjYW4gbW92ZSB0aGUgaW1hZ2UgcmVsYXRpdmUgdG8gaXRzXG4vLyBuYXR1cmFsIHBvc2l0aW9uIGJ5IHBhc3NpbmcgYCRvZmZzZXQteGAgYW5kIGAkb2Zmc2V0LXlgLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHNwcml0ZS1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7ICBcbn1cblxuXG4vLyBEZXRlcm1pbmVzIGlmIHlvdSB3YW50IHRvIGluY2x1ZGUgbWFnaWMgc2VsZWN0b3JzIGluIHlvdXIgc3ByaXRlc1xuJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9yczpmYWxzZSAhZGVmYXVsdDtcblxuLy8gSW5jbHVkZSB0aGUgcG9zaXRpb24gYW5kIChvcHRpb25hbGx5KSBkaW1lbnNpb25zIG9mIHRoaXMgYCRzcHJpdGVgXG4vLyBpbiB0aGUgZ2l2ZW4gc3ByaXRlIGAkbWFwYC4gVGhlIHNwcml0ZSB1cmwgc2hvdWxkIGNvbWUgZnJvbSBlaXRoZXIgYSBiYXNlXG4vLyBjbGFzcyBvciB5b3UgY2FuIHNwZWNpZnkgdGhlIGBzcHJpdGUtdXJsYCBleHBsaWNpdGx5IGxpa2UgdGhpczpcbi8vXG4vLyAgICAgYmFja2dyb3VuZDogJG1hcCBuby1yZXBlYXQ7XG5AbWl4aW4gc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICBAaWYgJGRpbWVuc2lvbnMge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpO1xuICB9XG4gIEBpZiBub3QoJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9ycykge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZSwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICB9XG59XG5cbi8vIEluY2x1ZGUgdGhlIHNlbGVjdG9ycyBmb3IgdGhlIGAkc3ByaXRlYCBnaXZlbiB0aGUgYCRtYXBgIGFuZCB0aGUgXG4vLyBgJGZ1bGwtc3ByaXRlLW5hbWVgXG4vLyBAcHJpdmF0ZVxuQG1peGluIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZnVsbC1zcHJpdGUtbmFtZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzcHJpdGUtc2VsZWN0b3JzIHtcbiAgICBAaWYgc3ByaXRlX2hhc19zZWxlY3RvcigkbWFwLCAkc3ByaXRlLW5hbWUsICRzZWxlY3Rvcikge1xuICAgICAgJjojeyRzZWxlY3Rvcn0sICYuI3skZnVsbC1zcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9LCAmLiN7JGZ1bGwtc3ByaXRlLW5hbWV9LSN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgXCIjeyRzcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9XCIsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGVzIGEgY2xhc3MgZm9yIGVhY2ggc3BhY2Ugc2VwYXJhdGVkIG5hbWUgaW4gYCRzcHJpdGUtbmFtZXNgLlxuLy8gVGhlIGNsYXNzIHdpbGwgYmUgb2YgdGhlIGZvcm0gLjxtYXAtbmFtZT4tPHNwcml0ZS1uYW1lPi5cbi8vXG4vLyBJZiBhIGJhc2UgY2xhc3MgaXMgcHJvdmlkZWQsIHRoZW4gZWFjaCBjbGFzcyB3aWxsIGV4dGVuZCBpdC5cbi8vXG4vLyBJZiBgJGRpbWVuc2lvbnNgIGlzIGB0cnVlYCwgdGhlIHNwcml0ZSBkaW1lbnNpb25zIHdpbGwgc3BlY2lmaWVkLlxuQG1peGluIHNwcml0ZXMoJG1hcCwgJHNwcml0ZS1uYW1lcywgJGJhc2UtY2xhc3M6IGZhbHNlLCAkZGltZW5zaW9uczogZmFsc2UsICRwcmVmaXg6IHNwcml0ZS1tYXAtbmFtZSgkbWFwKSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNwcml0ZS1uYW1lIGluICRzcHJpdGUtbmFtZXMge1xuICAgIEBpZiBzcHJpdGVfZG9lc19ub3RfaGF2ZV9wYXJlbnQoJG1hcCwgJHNwcml0ZS1uYW1lKSB7XG4gICAgICAkZnVsbC1zcHJpdGUtbmFtZTogXCIjeyRwcmVmaXh9LSN7JHNwcml0ZS1uYW1lfVwiO1xuICAgICAgLiN7JGZ1bGwtc3ByaXRlLW5hbWV9IHtcbiAgICAgICAgQGlmICRiYXNlLWNsYXNzIHsgQGV4dGVuZCAjeyRiYXNlLWNsYXNzfTsgfVxuICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZGltZW5zaW9ucywgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIEBkb2Mgb2ZmXG4vLyBFeGFtcGxlIDE6XG4vL1xuLy8gICAgIGEudHdpdHRlclxuLy8gICAgICAgK3Nwcml0ZS1pbWcoXCJpY29ucy0zMi5wbmdcIiwgMSlcbi8vICAgICBhLmZhY2Vib29rXG4vLyAgICAgICArc3ByaXRlLWltZyhcImljb25zLTMycG5nXCIsIDIpXG4vL1xuLy8gRXhhbXBsZSAyOlxuLy9cbi8vICAgICBhXG4vLyAgICAgICArc3ByaXRlLWJhY2tncm91bmQoXCJpY29ucy0zMi5wbmdcIilcbi8vICAgICAgIGEudHdpdHRlclxuLy8gICAgICAgICArc3ByaXRlLWNvbHVtbigxKVxuLy8gICAgICAgYS5mYWNlYm9va1xuLy8gICAgICAgICArc3ByaXRlLXJvdygyKVxuLy8gQGRvYyBvblxuXG4kc3ByaXRlLWRlZmF1bHQtc2l6ZTogMzJweCAhZGVmYXVsdDtcblxuJHNwcml0ZS1kZWZhdWx0LW1hcmdpbjogMHB4ICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGg6ICRzcHJpdGUtZGVmYXVsdC1zaXplICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0OiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gU2V0cyBhbGwgdGhlIHJ1bGVzIGZvciBhIHNwcml0ZSBmcm9tIGEgZ2l2ZW4gc3ByaXRlIGltYWdlIHRvIHNob3cganVzdCBvbmUgb2YgdGhlIHNwcml0ZXMuXG4vLyBUbyByZWR1Y2UgZHVwbGljYXRpb24gdXNlIGEgc3ByaXRlLWJnIG1peGluIGZvciBjb21tb24gcHJvcGVydGllcyBhbmQgYSBzcHJpdGUtc2VsZWN0IG1peGluIGZvciBwb3NpdGlvbmluZy5cbkBtaXhpbiBzcHJpdGUtaW1nKCRpbWcsICRjb2wsICRyb3c6IDEsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aCwgJGhlaWdodCk7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkY29sLCAkcm93LCAkd2lkdGgsICRoZWlnaHQsICRtYXJnaW4pOyBcbn1cblxuLy8gU2V0cyBydWxlcyBjb21tb24gZm9yIGFsbCBzcHJpdGVzLCBhc3N1bWVzIHlvdSB3YW50IGEgc3F1YXJlLCBidXQgYWxsb3dzIGEgcmVjdGFuZ3VsYXIgcmVnaW9uLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aDogJHNwcml0ZS1kZWZhdWx0LXNpemUsICRoZWlnaHQ6ICR3aWR0aCkge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoLCAkaGVpZ2h0KTsgXG59XG5cbi8vIFNldHMgcnVsZXMgY29tbW9uIGZvciBhbGwgc3ByaXRlcywgYXNzdW1lcyBhIHJlY3Rhbmd1bGFyIHJlZ2lvbi5cbkBtaXhpbiBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQpIHtcbiAgYmFja2dyb3VuZDogaW1hZ2UtdXJsKCRpbWcpIG5vLXJlcGVhdDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyBcbn1cblxuLy8gQWxsb3dzIGhvcml6b250YWwgc3ByaXRlIHBvc2l0aW9uaW5nIG9wdGltaXplZCBmb3IgYSBzaW5nbGUgcm93IG9mIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLWNvbHVtbigkY29sLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJGNvbCwgMSwgJHdpZHRoLCAwcHgsICRtYXJnaW4pOyBcbn1cblxuLy8gQWxsb3dzIHZlcnRpY2FsIHNwcml0ZSBwb3NpdGlvbmluZyBvcHRpbWl6ZWQgZm9yIGEgc2luZ2xlIGNvbHVtbiBvZiBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1yb3coJHJvdywgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oMSwgJHJvdywgMHB4LCAkaGVpZ2h0LCAkbWFyZ2luKTsgXG59XG5cbi8vIEFsbG93cyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBzcHJpdGUgcG9zaXRpb25pbmcgZnJvbSBhIGdyaWQgb2YgZXF1YWwgZGltZW5zaW9uZWQgc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtcG9zaXRpb24oJGNvbCwgJHJvdzogMSwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgJHg6ICgkY29sIC0gMSkgKiAtJHdpZHRoIC0gKCRjb2wgLSAxKSAqICRtYXJnaW47XG4gICR5OiAoJHJvdyAtIDEpICogLSRoZWlnaHQgLSAoJHJvdyAtIDEpICogJG1hcmdpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHggJHk7IFxufVxuXG5cblxuLy8gU2ltaWxhciB0byAnc3ByaXRlLXJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCBkb2VzIG5vdCBhdXRtYXRpY2x5IHNldCB0aGUgZGVtZW5zaW9uc1xuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQgKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHsgICAgXG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbiAgQGluY2x1ZGUgc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRtYXA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8vIFNpbWlsYXIgdG8gJ3JlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCB3aXRoIHNwcml0ZXNcbi8vIFRvIHVzZSwgY3JlYXRlIHlvdXIgc3ByaXRlIGFuZCB0aGVuIHBhc3MgaXQgaW4gdGhlIGAkbWFwYCBwYXJhbVxuLy8gVGhlIG5hbWUgb2YgdGhlIGltYWdlIGluIHRoZSBzcHJpdGUgZm9sZGVyIHNob3VsZCBiZSBgJGltZy1uYW1lYFxuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zICgkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCl7ICAgIFxuICBAaW5jbHVkZSBzcHJpdGUtcmVwbGFjZS10ZXh0ICgkbWFwLCAkc3ByaXRlLCB0cnVlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG59IiwiQGltcG9ydCBcInRhYmxlcy9hbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zXCI7XG5AaW1wb3J0IFwidGFibGVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ0YWJsZXMvc2NhZmZvbGRpbmdcIjtcbiIsIkBtaXhpbiBhbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zKCRldmVuLXJvdy1jb2xvciwgJG9kZC1yb3ctY29sb3IsICRkYXJrLWludGVyc2VjdGlvbiwgJGhlYWRlci1jb2xvcjogd2hpdGUsICRmb290ZXItY29sb3I6IHdoaXRlKSB7XG4gIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfVxuICB0ciB7XG4gICAgJi5vZGQsICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIHRkIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvcjtcbiAgICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH1cbiAgICB9XG4gIHRyLmV2ZW4ge1xuICAgIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVuLXJvdy1jb2xvcjtcbiAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW4tcm93LWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3I7XG4gICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9IH1cbiIsIkBtaXhpbiBvdXRlci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIGJvcmRlcjogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0aCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfSB9XG5cbkBtaXhpbiBpbm5lci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIHRoLCB0ZCB7XG4gICAgYm9yZGVyOiB7XG4gICAgICByaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGxlZnQtd2lkdGg6IDBweDtcbiAgICAgIHRvcC13aWR0aDogMHB4OyB9O1xuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7IH0gfVxuXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuICB0Ym9keSwgdGZvb3Qge1xuICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyB9IH1cbiAgICB0ci5sYXN0IHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsgfSB9IH0gfVxuIiwiQG1peGluIHRhYmxlLXNjYWZmb2xkaW5nIHtcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICAmLm51bWVyaWMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfSB9XG4iLCJAaW1wb3J0IFwibGlua3MvaG92ZXItbGlua1wiO1xuQGltcG9ydCBcImxpbmtzL2xpbmstY29sb3JzXCI7XG5AaW1wb3J0IFwibGlua3MvdW5zdHlsZWQtbGlua1wiO1xuIiwiLy8gYSBsaW5rIHRoYXQgb25seSBoYXMgYW4gdW5kZXJsaW5lIHdoZW4geW91IGhvdmVyIG92ZXIgaXRcbkBtaXhpbiBob3Zlci1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG4iLCIvLyBTZXQgYWxsIHRoZSBjb2xvcnMgZm9yIGEgbGluayB3aXRoIG9uZSBtaXhpbiBjYWxsLlxuLy8gT3JkZXIgb2YgYXJndW1lbnRzIGlzOlxuLy9cbi8vIDEuIG5vcm1hbFxuLy8gMi4gaG92ZXJcbi8vIDMuIGFjdGl2ZVxuLy8gNC4gdmlzaXRlZFxuLy8gNS4gZm9jdXNcbi8vXG4vLyBUaG9zZSBzdGF0ZXMgbm90IHNwZWNpZmllZCB3aWxsIGluaGVyaXQuXG4vLyBNaXhpbiB0byBhbiBhbmNob3IgbGluayBsaWtlIHNvOlxuLy8gICAgIGFcbi8vICAgICAgICtsaW5rLWNvbG9ycygjMDBjLCAjMGNjLCAjYzBjLCAjY2NjLCAjY2MwKVxuXG5AbWl4aW4gbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyOiBmYWxzZSwgJGFjdGl2ZTogZmFsc2UsICR2aXNpdGVkOiBmYWxzZSwgJGZvY3VzOiBmYWxzZSkge1xuICBjb2xvcjogJG5vcm1hbDtcbiAgQGlmICR2aXNpdGVkIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICR2aXNpdGVkOyB9IH1cbiAgQGlmICRmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvY3VzOyB9IH1cbiAgQGlmICRob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGhvdmVyOyB9IH1cbiAgQGlmICRhY3RpdmUge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYWN0aXZlOyB9IH0gfVxuIiwiLy8gQSBsaW5rIHRoYXQgbG9va3MgYW5kIGFjdHMgbGlrZSB0aGUgdGV4dCBpdCBpcyBjb250YWluZWQgd2l0aGluXG5AbWl4aW4gdW5zdHlsZWQtbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCBcImxpc3RzL2hvcml6b250YWwtbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2lubGluZS1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvaW5saW5lLWJsb2NrLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9idWxsZXRzXCI7XG4iLCIvLyBIb3Jpem9udGFsIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgdWwubmF2XG4vLyAgICAgK2hvcml6b250YWwtbGlzdFxuLy9cbi8vIEFkdmFuY2VkIG1vZGU6XG4vLyBJZiB5b3UgbmVlZCB0byB0YXJnZXQgdGhlIGxpc3QgaXRlbXMgdXNpbmcgYSBkaWZmZXJlbnQgc2VsZWN0b3IgdGhlbiB1c2Vcbi8vICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIG9uIHlvdXIgdWwvb2wgYW5kICtob3Jpem9udGFsLWxpc3QtaXRlbSBvbiB5b3VyIGxpLlxuLy8gVGhpcyBtYXkgaGVscCB3aGVuIHdvcmtpbmcgb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgIHVsLm5hdlxuLy8gICAgICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyXG4vLyAgICAgPiBsaVxuLy8gICAgICAgK2hvcml6b250YWwtbGlzdC1pdGVtXG5cbkBpbXBvcnQgXCJidWxsZXRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9yZXNldFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0XCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYSBob3Jpem9udGFsIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbkBtaXhpbiBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgbGkgc2VsZWN0b3IgdGhhdCBpcyBtZWFudCB0byBwYXJ0aWNpcGF0ZSBpbiBhIGhvcml6b250YWwgbGF5b3V0LlxuLy8gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbi8vXG4vLyA6bGFzdC1jaGlsZCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkXG4vLyBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MjkgZm9yIHRoZSBzdXBwb3J0IG1hdHJpeFxuLy9cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuLy9cbi8vIFNldHRpbmcgYCRwYWRkaW5nYCB0byBgZmFsc2VgIGRpc2FibGVzIHRoZSBwYWRkaW5nIGJldHdlZW4gbGlzdCBlbGVtZW50c1xuQG1peGluIGhvcml6b250YWwtbGlzdC1pdGVtKCRwYWRkaW5nOiA0cHgsICRkaXJlY3Rpb246IGxlZnQpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBmbG9hdCgkZGlyZWN0aW9uKTtcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAkcGFkZGluZztcbiAgICAgIHJpZ2h0OiAkcGFkZGluZztcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCwgJi5maXJzdCB7IHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06IDA7IH1cbiAgICAmLmxhc3QgeyBwYWRkaW5nLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAwOyB9XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBmbG9hdGVkIGxlZnQgYW5kIHdvbid0IHdyYXAuXG4vLyBUaGlzIGlzIG5vdCBhbiBpbmxpbmUgbGlzdC5cbi8vXG4vLyBTZXR0aW5nIGAkcGFkZGluZ2AgdG8gYGZhbHNlYCBkaXNhYmxlcyB0aGUgcGFkZGluZyBiZXR3ZWVuIGxpc3QgZWxlbWVudHNcbkBtaXhpbiBob3Jpem9udGFsLWxpc3QoJHBhZGRpbmc6IDRweCwgJGRpcmVjdGlvbjogbGVmdCkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1saXN0LWl0ZW0oJHBhZGRpbmcsICRkaXJlY3Rpb24pOyB9IH1cbiIsIi8vIFR1cm4gb2ZmIHRoZSBidWxsZXQgZm9yIGFuIGVsZW1lbnQgb2YgYSBsaXN0XG5AbWl4aW4gbm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS1pbWFnZSA6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZSAgOiBub25lO1xuICBtYXJnaW4tbGVmdCAgICAgIDogMDtcbn1cblxuLy8gdHVybnMgb2ZmIHRoZSBidWxsZXRzIGZvciBhbiBlbnRpcmUgbGlzdFxuQG1peGluIG5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaSB7IEBpbmNsdWRlIG5vLWJ1bGxldDsgfVxufVxuXG4vLyBNYWtlIGEgbGlzdCh1bC9vbCkgaGF2ZSBhbiBpbWFnZSBidWxsZXQuXG4vL1xuLy8gVGhlIG1peGluIHNob3VsZCBiZSB1c2VkIGxpa2UgdGhpcyBmb3IgYW4gaWNvbiB0aGF0IGlzIDV4Nzpcbi8vXG4vLyAgICAgdWwucHJldHR5XG4vLyAgICAgICArcHJldHR5LWJ1bGxldHMoXCJteS1pY29uLnBuZ1wiLCA1cHgsIDdweClcbi8vXG4vLyBBZGRpdGlvbmFsbHksIGlmIHRoZSBpbWFnZSBkaW1lbnNpb25zIGFyZSBub3QgcHJvdmlkZWQsXG4vLyBUaGUgaW1hZ2UgZGltZW5zaW9ucyB3aWxsIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBpbWFnZSBpdHNlbGYuXG4vL1xuLy8gICAgIHVsLnByZXR0eVxuLy8gICAgICAgK3ByZXR0eS1idWxsZXRzKFwibXktaWNvbi5wbmdcIilcbi8vXG5AbWl4aW4gcHJldHR5LWJ1bGxldHMoJGJ1bGxldC1pY29uLCAkd2lkdGg6IGltYWdlLXdpZHRoKCRidWxsZXQtaWNvbiksICRoZWlnaHQ6IGltYWdlLWhlaWdodCgkYnVsbGV0LWljb24pLCAkbGluZS1oZWlnaHQ6IDE4cHgsICRwYWRkaW5nOiAxNHB4KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGJ1bGxldC1pY29uKSBuby1yZXBlYXQgKCRwYWRkaW5nIC0gJHdpZHRoKSAvIDIgKCRsaW5lLWhlaWdodCAtICRoZWlnaHQpIC8gMjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIG1ha2VzIGEgbGlzdCBpbmxpbmUuXG5cbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJiwgJiBsaSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4vLyBtYWtlcyBhbiBpbmxpbmUgbGlzdCBkZWxpbWl0ZWQgd2l0aCB0aGUgcGFzc2VkIHN0cmluZy5cbi8vIERlZmF1bHRzIHRvIG1ha2luZyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LlxuLy9cbi8vIFBsZWFzZSBtYWtlIG5vdGUgb2YgdGhlIGJyb3dzZXIgc3VwcG9ydCBpc3N1ZXMgYmVmb3JlIHVzaW5nIHRoaXMgbWl4aW46XG4vL1xuLy8gdXNlIG9mIGBjb250ZW50YCBhbmQgYDphZnRlcmAgaXMgbm90IGZ1bGx5IHN1cHBvcnRlZCBpbiBhbGwgYnJvd3NlcnMuXG4vLyBTZWUgcXVpcmtzbW9kZSBmb3IgdGhlIFtzdXBwb3J0IG1hdHJpeF0oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MTUpXG4vL1xuLy8gYDpsYXN0LWNoaWxkYCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkLlxuLy8gc2VlIHF1aXJrc21vZGUgZm9yIHRoZSBbc3VwcG9ydCBtYXRyaXhdKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvY3NzL2NvbnRlbnRzLmh0bWwjdDI5KS5cbi8vXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuQG1peGluIGRlbGltaXRlZC1saXN0KCRzZXBhcmF0b3I6IFwiLCBcIikge1xuICBAaW5jbHVkZSBpbmxpbmUtbGlzdDtcbiAgbGkge1xuICAgICY6YWZ0ZXIgeyBjb250ZW50OiAkc2VwYXJhdG9yOyB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG4gICAgfVxuICAgICYubGFzdCB7XG4gICAgICAmOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTZWUgW2RlbGltaXRlZC1saXN0XSgjbWl4aW4tZGVsaW1pdGVkLWxpc3QpXG4vLyBAZGVwcmVjYXRlZFxuQG1peGluIGNvbW1hLWRlbGltaXRlZC1saXN0IHtcbiAgQHdhcm4gXCJjb21tYS1kZWxpbWl0ZWQtbGlzdCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGRlbGltaXRlZC1saXN0IGluc3RlYWQuXCI7XG4gIEBpbmNsdWRlIGRlbGltaXRlZC1saXN0O1xufVxuIiwiLy8gSW5saW5lLUJsb2NrIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgICB1bC5uYXYge1xuLy8gICAgICAgQGltcG9ydCBpbmxpbmUtYmxvY2stbGlzdDtcbi8vICAgICB9XG4vL1xuLy8gQWR2YW5jZWQgbW9kZTpcbi8vIElmIHlvdSBuZWVkIHRvIHRhcmdldCB0aGUgbGlzdCBpdGVtcyB1c2luZyBhIGRpZmZlcmVudCBzZWxlY3RvciB0aGVuIHVzZVxuLy8gYEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcmAgb24geW91ciB1bC9vbCBhbmRcbi8vIGBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtYCBvbiB5b3VyIGxpLiBUaGlzIG1heSBoZWxwIHdoZW4gd29ya2luZ1xuLy8gb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgdWwubmF2IHtcbi8vICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbi8vICAgICAgID4gbGkge1xuLy8gICAgICAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtO1xuLy8gICAgICAgfVxuLy8gICAgIH1cblxuQGltcG9ydCBcImJ1bGxldHNcIjtcbkBpbXBvcnQgXCJob3Jpem9udGFsLWxpc3RcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9mbG9hdFwiO1xuQGltcG9ydCBcIi4uLy4uL2NzczMvaW5saW5lLWJsb2NrXCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYW4gaW5saW5lLWJsb2NrIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgYGlubGluZS1ibG9jay1saXN0YC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXIge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyOyB9XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBsaSBzZWxlY3RvciB0aGF0IGlzIG1lYW50IHRvIHBhcnRpY2lwYXRlIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQuXG4vLyBVc2VkIHRvIGltcGxlbWVudCBgaW5saW5lLWJsb2NrLWxpc3RgLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldDtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgcmlnaHQ6ICRwYWRkaW5nO1xuICAgIH07XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBpbmxpbmUtYmxvY2sgYW5kIHdvbid0IHdyYXAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QoJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbiAgbGkge1xuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmcpOyB9IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU2V0IGAkaW5saW5lLWJsb2NrLWFsaWdubWVudGAgdG8gYG5vbmVgIG9yIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgb3V0cHV0XG4vLyBvZiBhIHZlcnRpY2FsLWFsaWduIHByb3BlcnR5IGluIHRoZSBpbmxpbmUtYmxvY2sgbWl4aW4uXG4vLyBPciBzZXQgaXQgdG8gYSBsZWdhbCB2YWx1ZSBmb3IgYHZlcnRpY2FsLWFsaWduYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG4kaW5saW5lLWJsb2NrLWFsaWdubWVudDogbWlkZGxlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBhIGNyb3NzLWJyb3dzZXIgbWV0aG9kIHRvIGltcGxlbWVudCBgZGlzcGxheTogaW5saW5lLWJsb2NrO2BcbkBtaXhpbiBpbmxpbmUtYmxvY2soJGFsaWdubWVudDogJGlubGluZS1ibG9jay1hbGlnbm1lbnQpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaWYgJGFsaWdubWVudCBhbmQgJGFsaWdubWVudCAhPSBub25lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGFsaWdubWVudDtcbiAgfVxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKnZlcnRpY2FsLWFsaWduOiBhdXRvO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCJAaW1wb3J0IFwidGV4dC9lbGxpcHNpc1wiO1xuQGltcG9ydCBcInRleHQvbm93cmFwXCI7XG5AaW1wb3J0IFwidGV4dC9yZXBsYWNlbWVudFwiO1xuQGltcG9ydCBcInRleHQvZm9yY2Utd3JhcFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL2NzczMvc2hhcmVkXCI7XG5cbi8vIFRvIGdldCBmdWxsIGZpcmVmb3ggc3VwcG9ydCwgeW91IG11c3QgaW5zdGFsbCB0aGUgZWxsaXBzaXMgcGF0dGVybjpcbi8vXG4vLyAgICAgY29tcGFzcyBpbnN0YWxsIGNvbXBhc3MvZWxsaXBzaXNcbiR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhpcyB0ZWNobmlxdWUsIGJ5IFtKdXN0aW4gTWF4d2VsbF0oaHR0cDovL2NvZGU0MDQuY29tLyksIHdhcyBvcmlnaW5hbGx5XG4vLyBwdWJsaXNoZWQgW2hlcmVdKGh0dHA6Ly9tYXR0c25pZGVyLmNvbS9jc3MvY3NzLXN0cmluZy10cnVuY2F0aW9uLXdpdGgtZWxsaXBzaXMvKS5cbi8vIEZpcmVmb3ggaW1wbGVtZW50YXRpb24gYnkgW1Jpa2tlcnQgS29wcGVzXShodHRwOi8vd3d3LnJpa2tlcnRrb3BwZXMuY29tL3Rob3VnaHRzLzIwMDgvNi8pLlxuQG1peGluIGVsbGlwc2lzKCRuby13cmFwOiB0cnVlKSB7XG4gIEBpZiAkbm8td3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRleHQtb3ZlcmZsb3csIGVsbGlwc2lzLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG9mZmljaWFsXG4gICk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgYW5kICR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nIHtcbiAgICAtbW96LWJpbmRpbmc6IHN0eWxlc2hlZXQtdXJsKHVucXVvdGUoXCJ4bWwvZWxsaXBzaXMueG1sI2VsbGlwc2lzXCIpKTtcbiAgfVxufVxuIiwiLy8gV2hlbiByZW1lbWJlcmluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSdzIGEgaHlwaGVuIGluIHdoaXRlLXNwYWNlIGlzIHRvbyBoYXJkXG5AbWl4aW4gbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuIiwiLy8gSW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24geW91IHByZWZlciB0byBtb3ZlIHlvdXIgdGV4dFxuLy8gd2hlbiBoaWRpbmcgaXQuXG4vL1xuLy8gYGxlZnRgIGlzIG1vcmUgcm9idXN0LCBlc3BlY2lhbGx5IGluIG9sZGVyIGJyb3dzZXJzLlxuLy8gYHJpZ2h0YCBzZWVtcyBoYXZlIGJldHRlciBydW50aW1lIHBlcmZvcm1hbmNlLlxuJGhpZGUtdGV4dC1kaXJlY3Rpb246IGxlZnQgIWRlZmF1bHQ7XG5cbi8vIEhpZGVzIGh0bWwgdGV4dCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhbiBpbWFnZS5cbi8vIElmIHlvdSB1c2UgdGhpcyBvbiBhbiBpbmxpbmUgZWxlbWVudCwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGRpc3BsYXkgdG8gYmxvY2sgb3IgaW5saW5lLWJsb2NrLlxuLy8gQWxzbywgaWYgdGhlIHNpemUgb2YgdGhlIGltYWdlIGRpZmZlcnMgc2lnbmlmaWNhbnRseSBmcm9tIHRoZSBmb250IHNpemUsIHlvdSdsbCBuZWVkIHRvIHNldCB0aGUgd2lkdGggYW5kL29yIGhlaWdodC5cbi8vXG4vLyBQYXJhbWV0ZXJzOlxuLy9cbi8vICogYGltZ2AgLS0gdGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgcHJvamVjdCBpbWFnZSBkaXJlY3RvcnkgdG8gdGhlIGltYWdlLCBvciBhIHVybCBsaXRlcmFsLlxuLy8gKiBgeGAgLS0gdGhlIHggcG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQgaW1hZ2UuXG4vLyAqIGB5YCAtLSB0aGUgeSBwb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZCBpbWFnZS5cbkBtaXhpbiByZXBsYWNlLXRleHQoJGltZywgJHg6IDUwJSwgJHk6IDUwJSkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBAaWYgaXMtdXJsKCRpbWcpIHtcbiAgICAgIGltYWdlOiAkaW1nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgaW1hZ2U6IGltYWdlLXVybCgkaW1nKTtcbiAgICB9XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246ICR4ICR5O1xuICB9O1xufVxuXG4vLyBMaWtlIHRoZSBgcmVwbGFjZS10ZXh0YCBtaXhpbiwgYnV0IGFsc28gc2V0cyB0aGUgd2lkdGhcbi8vIGFuZCBoZWlnaHQgb2YgdGhlIGVsZW1lbnQgYWNjb3JkaW5nIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBpbWFnZS5cbi8vXG4vLyBJZiB5b3Ugc2V0IGAkaW5saW5lYCB0byB0cnVlLCB0aGVuIGFuIGlubGluZSBpbWFnZSAoZGF0YSB1cmkpIHdpbGwgYmUgdXNlZC5cbkBtaXhpbiByZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zKCRpbWcsICR4OiA1MCUsICR5OiA1MCUsICRpbmxpbmU6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJlcGxhY2UtdGV4dChpZigkaW5saW5lLCBpbmxpbmUtaW1hZ2UoJGltZyksICRpbWcpLCAkeCwgJHkpO1xuICB3aWR0aDogaW1hZ2Utd2lkdGgoJGltZyk7XG4gIGhlaWdodDogaW1hZ2UtaGVpZ2h0KCRpbWcpO1xufVxuXG4vLyBIaWRlcyB0ZXh0IGluIGFuIGVsZW1lbnQgc28geW91IGNhbiBzZWUgdGhlIGJhY2tncm91bmQuXG4vL1xuLy8gVGhlIGRpcmVjdGlvbiBpbmRpY2F0ZXMgaG93IHRoZSB0ZXh0IHNob3VsZCBiZSBtb3ZlZCBvdXQgb2Ygdmlldy5cbi8vXG4vLyBTZWUgYCRoaWRlLXRleHQtZGlyZWN0aW9uYCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgdG8gc2V0IHRoaXMgZ2xvYmFsbHlcbi8vIGZvciB5b3VyIGFwcGxpY2F0aW9uLlxuQG1peGluIGhpZGUtdGV4dCgkZGlyZWN0aW9uOiAkaGlkZS10ZXh0LWRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAkYXBwcm94aW1hdGUtZW0tdmFsdWU6IDEycHggLyAxZW07XG4gICAgJHdpZGVyLXRoYW4tYW55LXNjcmVlbjogLTk5OTllbTtcbiAgICB0ZXh0LWluZGVudDogJHdpZGVyLXRoYW4tYW55LXNjcmVlbiAqICRhcHByb3hpbWF0ZS1lbS12YWx1ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH0gQGVsc2Uge1xuICAgIC8vIHNsaWdodGx5IHdpZGVyIHRoYW4gdGhlIGJveCBwcmV2ZW50cyBpc3N1ZXMgd2l0aCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAgICB0ZXh0LWluZGVudDogMTEwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gSGlkZXMgdGV4dCBpbiBhbiBlbGVtZW50IGJ5IHNxdWlzaGluZyB0aGUgdGV4dCBpbnRvIG9ibGl2aW9uLlxuLy8gVXNlIHRoaXMgaWYgeW91IG5lZWQgdG8gaGlkZSB0ZXh0IGNvbnRhaW5lZCBpbiBhbiBpbmxpbmUgZWxlbWVudFxuLy8gYnV0IHN0aWxsIGhhdmUgaXQgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXG5AbWl4aW4gc3F1aXNoLXRleHQge1xuICBmb250OiAwLzAgc2VyaWY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvLyBQcmV2ZW50IGxvbmcgdXJscyBhbmQgdGV4dCBmcm9tIGJyZWFraW5nIGxheW91dHNcbi8vIFtvcmlnaW5hbGx5IGZyb20gcGVyaXNoYWJsZXByZXNzLmNvbV0oaHR0cDovL3BlcmlzaGFibGVwcmVzcy5jb20vcHJlc3MvMjAxMC8wNi8wMS93cmFwcGluZy1jb250ZW50LylcbkBtaXhpbiBmb3JjZS13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IHByZTsgICAgICAgICAgIC8vIENTUyAyLjBcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAgICAgIC8vIENTUyAyLjFcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyAgICAgIC8vIENTUyAzLjBcbiAgd2hpdGUtc3BhY2U6IC1wcmUtd3JhcDsgICAgIC8vIE9wZXJhIDQtNlxuICB3aGl0ZS1zcGFjZTogLW8tcHJlLXdyYXA7ICAgLy8gT3BlcmEgN1xuICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgLy8gTW96aWxsYVxuICB3aGl0ZS1zcGFjZTogLWhwLXByZS13cmFwOyAgLy8gSFAgUHJpbnRlcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyAgICAgIC8vIElFIDUrXG59XG4iLCJAaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3ZlcnRpY2FsX3JoeXRobVwiO1xuIiwiQGltcG9ydCBcIi4uL2xheW91dC9ncmlkLWJhY2tncm91bmRcIjtcblxuLy8gVGhlIGJhc2UgZm9udCBzaXplLlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGRlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciByaHl0aG0gYm9yZGVycy5cbiRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemU6IDE2cHg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byB1c2UgYWJzb2x1dGUgcGl4ZWxzIGluIHNpemluZyB5b3VyIHR5cG9ncmFwaHkuXG4kcmVsYXRpdmUtZm9udC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyB0aGUgYGFkanVzdC1mb250LXNpemUtdG9gIG1peGluIGFuZCB0aGUgYGxpbmVzLWZvci1mb250LXNpemVgIGZ1bmN0aW9uXG4vLyB0byByb3VuZCB0aGUgbGluZSBoZWlnaHQgdG8gdGhlIG5lYXJlc3QgaGFsZiBsaW5lIGhlaWdodCBpbnN0ZWFkIG9mIHRoZVxuLy8gbmVhcmVzdCBpbnRlZ3JhbCBsaW5lIGhlaWdodCB0byBhdm9pZCBsYXJnZSBzcGFjaW5nIGJldHdlZW4gbGluZXMuXG4kcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBFbnN1cmUgdGhlcmUgaXMgYXQgbGVhc3QgdGhpcyBtYW55IHBpeGVsc1xuLy8gb2YgdmVydGljYWwgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIHRleHQuXG4kbWluLWxpbmUtcGFkZGluZzogMnB4ICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1mb250LXNpemUgYnV0IGluIHlvdXIgb3V0cHV0IHVuaXQgb2YgY2hvaWNlLlxuLy8gRGVmYXVsdHMgdG8gMWVtIHdoZW4gYCRyZWxhdGl2ZS1mb250LXNpemluZ2AgaXMgdHJ1ZS5cbiRmb250LXVuaXQ6IGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgMWVtLCAkYmFzZS1mb250LXNpemUpICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzaWMgdW5pdCBvZiBmb250IHJoeXRobS5cbiRiYXNlLXJoeXRobS11bml0OiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqICRmb250LXVuaXQ7XG5cbi8vIFRoZSBsZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGluIGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWxlYWRlcjogKCRiYXNlLWxpbmUtaGVpZ2h0IC0gJGJhc2UtZm9udC1zaXplKSAqICRmb250LXVuaXQgLyAkYmFzZS1mb250LXNpemU7XG5cbi8vIFRoZSBoYWxmLWxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgYWJvdmUgYW5kIGJlbG93IGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWhhbGYtbGVhZGVyOiAkYmFzZS1sZWFkZXIgLyAyO1xuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhIHJlbGF0aXZlIHVuaXQuXG5AZnVuY3Rpb24gcmVsYXRpdmUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gdW5pdCgkbnVtYmVyKSA9PSBcIiVcIiBvciB1bml0KCRudW1iZXIpID09IFwiZW1cIiBvciB1bml0KCRudW1iZXIpID09IFwicmVtXCJcbn1cblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYW4gYWJzb2x1dGUgdW5pdC5cbkBmdW5jdGlvbiBhYnNvbHV0ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiBub3QocmVsYXRpdmUtdW5pdCgkbnVtYmVyKSBvciB1bml0bGVzcygkbnVtYmVyKSk7XG59XG5cbkBpZiAkcmVsYXRpdmUtZm9udC1zaXppbmcgYW5kIG5vdChyZWxhdGl2ZS11bml0KCRmb250LXVuaXQpKSB7XG4gIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIHRydWUgYnV0ICRmb250LXVuaXQgaXMgc2V0IHRvICN7JGZvbnQtdW5pdH0gd2hpY2ggaXMgbm90IGEgcmVsYXRpdmUgdW5pdC5cIjtcbn1cblxuLy8gRXN0YWJsaXNoZXMgYSBmb250IGJhc2VsaW5lIGZvciB0aGUgZ2l2ZW4gZm9udC1zaXplLlxuQG1peGluIGVzdGFibGlzaC1iYXNlbGluZSgkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgLy8gSUUgNiByZWZ1c2VzIHRvIHJlc2l6ZSBmb250cyBzZXQgaW4gcGl4ZWxzIGFuZCBpdCB3ZWlyZGx5IHJlc2l6ZXMgZm9udHNcbiAgLy8gd2hvc2Ugcm9vdCBpcyBzZXQgaW4gZW1zLiBTbyB3ZSBzZXQgdGhlIHJvb3QgZm9udCBzaXplIGluIHBlcmNlbnRhZ2VzIG9mXG4gIC8vIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZS5cbiAgKiBodG1sIHtcbiAgICBmb250LXNpemU6IDEwMCUgKiAoJGZvbnQtc2l6ZSAvICRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplKTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbiAgfVxufVxuXG4vLyBSZXNldHMgdGhlIGxpbmUtaGVpZ2h0IHRvIDEgdmVydGljYWwgcmh5dGhtIHVuaXQuXG4vLyBEb2VzIG5vdCB3b3JrIG9uIGVsZW1lbnRzIHdob3NlIGZvbnQtc2l6ZSBpcyBkaWZmZXJlbnQgZnJvbSAkYmFzZS1mb250LXNpemUuXG4vL1xuLy8gQGRlcHJlY2F0ZWQgVGhpcyBtaXhpbiB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cbi8vIFBsZWFzZSB1c2UgdGhlIGBhZGp1c3QtbGVhZGluZy10b2AgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiByZXNldC1iYXNlbGluZSB7XG4gIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKDEsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJGJhc2UtZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gU2hvdyBhIGJhY2tncm91bmQgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWJ1ZyB5b3VyIGFsaWdubWVudHMuXG4vLyBJbmNsdWRlIHRoZSAkaW1nIGFyZ3VtZW50IGlmIHlvdSB3b3VsZCByYXRoZXIgdXNlIHlvdXIgb3duIGltYWdlIHRoYW4gdGhlXG4vLyBDb21wYXNzIGRlZmF1bHQgZ3JhZGllbnQgaW1hZ2UuXG5AbWl4aW4gZGVidWctdmVydGljYWwtYWxpZ25tZW50KCRpbWc6IGZhbHNlKSB7XG4gIEBpZiAkaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZS1yaHl0aG0tdW5pdCk7XG4gIH1cbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBhIGRpZmZlcmVudCBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IHRvIG1haW50YWluIHRoZVxuLy8gcmh5dGhtLiAkbGluZXMgc3BlY2lmaWVzIGhvdyBtYW55IG11bHRpcGxlcyBvZiB0aGUgYmFzZWxpbmUgcmh5dGhtIGVhY2ggbGluZVxuLy8gb2YgdGhpcyBmb250IHNob3VsZCB1c2UgdXAuIEl0IGRvZXMgbm90IGhhdmUgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0XG4vLyBkZWZhdWx0cyB0byB0aGUgc21hbGxlc3QgaW50ZWdlciB0aGF0IGlzIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIGZvbnQuXG4vLyBVc2UgJGZyb20tc2l6ZSB0byBhZGp1c3QgZnJvbSBhIGZvbnQtc2l6ZSBvdGhlciB0aGFuIHRoZSBiYXNlIGZvbnQtc2l6ZS5cbkBtaXhpbiBhZGp1c3QtZm9udC1zaXplLXRvKCR0by1zaXplLCAkbGluZXM6IGxpbmVzLWZvci1mb250LXNpemUoJHRvLXNpemUpLCAkZnJvbS1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZnJvbS1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYWRqdXN0LWZvbnQtc2l6ZS10b1wiO1xuICB9XG4gIGZvbnQtc2l6ZTogJGZvbnQtdW5pdCAqICR0by1zaXplIC8gJGZyb20tc2l6ZTtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oJGxpbmVzLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICR0by1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBkaWZmZXJlbnQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlIHJoeXRobS5cbi8vICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lIG9mIHRoaXNcbi8vIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgZGVmYXVsdHMgdG8gdGhlXG4vLyBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbkBtaXhpbiBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBsaW5lLWhlaWdodDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIENhbGN1bGF0ZSByaHl0aG0gdW5pdHMuXG5AZnVuY3Rpb24gcmh5dGhtKFxuICAkbGluZXM6IDEsXG4gICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSxcbiAgJG9mZnNldDogMFxuKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHRoZSByaHl0aG0gZnVuY3Rpb25cIjtcbiAgfVxuICAkcmh5dGhtOiAkZm9udC11bml0ICogKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJG9mZnNldCkgLyAkZm9udC1zaXplO1xuICAvLyBSb3VuZCB0aGUgcGl4ZWxzIGRvd24gdG8gbmVhcmVzdCBpbnRlZ2VyLlxuICBAaWYgdW5pdCgkcmh5dGhtKSA9PSBweCB7XG4gICAgJHJoeXRobTogZmxvb3IoJHJoeXRobSk7XG4gIH1cbiAgQHJldHVybiAkcmh5dGhtO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gbXVsdGlwbGUgb2Ygcmh5dGhtIHVuaXRzIG5lZWRlZCB0byBjb250YWluIHRoZSBmb250LXNpemUuXG5AZnVuY3Rpb24gbGluZXMtZm9yLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICRsaW5lczogaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLFxuICAgICAgICAgICAgICBjZWlsKDIgKiAkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpIC8gMixcbiAgICAgICAgICAgICAgY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpKTtcbiAgQGlmICRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSA8ICRtaW4tbGluZS1wYWRkaW5nICogMiB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsIDAuNSwgMSk7XG4gIH1cbiAgQHJldHVybiAkbGluZXM7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIHRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIFNob3J0aGFuZCBtaXhpbiB0byBhcHBseSB3aGl0ZXNwYWNlIGZvciB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIGFuZCBwYWRkaW5nLlxuQG1peGluIHJoeXRobSgkbGVhZGVyOiAwLCAkcGFkZGluZy1sZWFkZXI6IDAsICRwYWRkaW5nLXRyYWlsZXI6IDAsICR0cmFpbGVyOiAwLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbGVhZGVyKCRsZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLWxlYWRlcigkcGFkZGluZy1sZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLXRyYWlsZXIoJHBhZGRpbmctdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHRyYWlsZXIoJHRyYWlsZXIsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBhIGJvcmRlciBhbmQgd2hpdGVzcGFjZSB0byBhbnkgc2lkZSB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHZlcnRpY2FsXG4vLyByaHl0aG0uIFRoZSB3aGl0ZXNwYWNlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyLlxuQG1peGluIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcigkc2lkZSwgJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlclwiO1xuICB9XG4gIGJvcmRlci0jeyRzaWRlfToge1xuICAgIHN0eWxlOiAkYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgfTtcbiAgcGFkZGluZy0jeyRzaWRlfTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYm9yZGVycyBhbmQgd2hpdGVzcGFjZSBlcXVhbGx5IHRvIGFsbCBzaWRlcy5cbkBtaXhpbiByaHl0aG0tYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gcmh5dGhtLWJvcmRlcnNcIjtcbiAgfVxuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemU7XG4gIH07XG4gIHBhZGRpbmc6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGEgbGVhZGluZyBib3JkZXIuXG5AbWl4aW4gbGVhZGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcih0b3AsICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYSB0cmFpbGluZyBib3JkZXIuXG5AbWl4aW4gdHJhaWxpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoYm90dG9tLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGJvdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgYm9yZGVycy5cbkBtaXhpbiBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGxlYWRpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbiAgQGluY2x1ZGUgdHJhaWxpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQWxpYXMgZm9yIGBob3Jpem9udGFsLWJvcmRlcnNgIG1peGluLlxuQG1peGluIGgtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cbiIsIkBpbXBvcnQgXCIuLi9jc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcIi4uL2NzczMvYmFja2dyb3VuZC1zaXplXCI7XG5cbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBjb2x1bW5zXG4kZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvciAgICAgOiByZ2JhKDEwMCwgMTAwLCAyMjUsIDAuMjUpICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgZ3V0dGVyc1xuJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IgICAgIDogcmdiYSgwLCAwLCAwLCAwKSAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHlvdXIgZ3JpZFxuJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zICAgIDogMjQgICAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSB3aWR0aCBvZiB5b3VyIGNvbHVtbnNcbiRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoICAgICA6IDMwcHggICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgd2lkdGggb2YgeW91ciBndXR0ZXJzXG4kZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCAgICAgOiAxMHB4ICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIG9mZnNldCwgaWYgeW91ciBjb2x1bW5zIGFyZSBwYWRkZWQgaW4gZnJvbSB0aGUgY29udGFpbmVyIGVkZ2VcbiRncmlkLWJhY2tncm91bmQtb2Zmc2V0ICAgICAgICAgICA6IDBweCAgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGJhc2VsaW5lXG4kZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yICAgOiByZ2JhKDAsIDAsIDAsIDAuNSkgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGhlaWdodCBvZiB5b3VyIGJhc2VsaW5lIGdyaWRcbiRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtaGVpZ2h0ICA6IDEuNWVtICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gdG9nZ2xlIHlvdXIgY29sdW1ucyBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyAgICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgeW91ciB2ZXJ0aWNhbCBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgYWxsIHlvdXIgZ3JpZHMgb24gYW5kIG9mZlxuJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyAgICAgICAgICAgIDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBvcHRpb25hbGx5IGZvcmNlIHlvdXIgZ3JpZC1pbWFnZSB0byByZW1haW4gZmx1aWRcbi8vIG5vIG1hdHRlciB3aGF0IHVuaXRzIHlvdSB1c2VkIHRvIGRlY2xhcmVkIHlvdXIgZ3JpZC5cbiRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWQgICAgICA6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBDcmVhdGUgdGhlIGdyYWRpZW50IG5lZWRlZCBmb3IgYmFzZWxpbmUgZ3JpZHNcbkBmdW5jdGlvbiBnZXQtYmFzZWxpbmUtZ3JhZGllbnQoXG4gICRjb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChib3R0b20sICRjb2xvciA1JSwgcmdiYSgkY29sb3IsMCkgNSUpO1xuICBAcmV0dXJuICRncmFkaWVudDtcbn1cblxuLy8gQ3JlYXRlIHRoZSBjb2xvci1zdG9wcyBuZWVkZWQgZm9yIGhvcml6b250YWwgZ3JpZHNcbkBmdW5jdGlvbiBidWlsZC1ncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGdyaWQ6IGNvbXBhY3QoKTtcbiAgJGdyaWQ6IGFwcGVuZCgkZ3JpZCwgJGd1dHRlci1jb2xvciAkb2Zmc2V0LCBjb21tYSk7XG4gIEBmb3IgJGkgZnJvbSAwIHRvICR0b3RhbCB7XG5cbiAgICAvLyAkYSByZXByZXNlbnRzIHRoZSBzdGFydCBvZiB0aGlzIGNvbHVtbiwgaW5pdGlhbGx5IGVxdWFsIHRvIHRoZSBvZmZzZXRcbiAgICAkYTogJG9mZnNldDtcbiAgICBAaWYgJGkgPiAwIHsgJGE6ICRhICsgKCgkY29sdW1uICsgJGd1dHRlcikgKiAkaSk7IH1cblxuICAgIC8vICRnIHJlcHJlc2VudHMgdGhlIHN0YXJ0IG9mIHRoaXMgZ3V0dGVyLCBlcXVhbCB0byAkYSBwbHVzIG9uZSBjb2x1bW4td2lkdGhcbiAgICAkZzogJGEgKyAkY29sdW1uO1xuXG4gICAgLy8gJHogcmVwcmVzZW50cyB0aGUgZW5kIG9mIGEgZ3V0dGVyLCBlcXVhbCB0byAkZyBwbHVzIG9uZSBndXR0ZXItd2lkdGhcbiAgICAkejogJGcgKyAkZ3V0dGVyO1xuXG4gICAgQGlmICh1bml0KCRhKSA9PSBcIiVcIikgYW5kICgkaSA9PSAoJHRvdGFsIC0gMSkpIHtcbiAgICAgICR6OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIGFuZCB3ZSBhZGQgdGhpcyBjb2x1bW4vZ3V0dGVyIHBhaXIgdG8gb3VyIGdyaWRcbiAgICAkZ3JpZDogam9pbigkZ3JpZCwgKCRjb2x1bW4tY29sb3IgJGEsICRjb2x1bW4tY29sb3IgJGcsICRndXR0ZXItY29sb3IgJGcsICRndXR0ZXItY29sb3IgJHopKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQ7XG59XG5cbi8vIFJldHVybiB0aGUgZ3JhZGllbnQgbmVlZGVkIGZvciBob3Jpem9udGFsIGdyaWRzXG5AZnVuY3Rpb24gZ2V0LWNvbHVtbi1ncmFkaWVudChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICAkZ3JpZDogdW5xdW90ZShcIlwiKTtcblxuICAvLyBkb24ndCBmb3JjZSBmbHVpZCBncmlkcyB3aGVuIHRoZXkgYXJlIGFscmVhZHkgZmx1aWQuXG4gIEBpZiB1bml0KCRjb2x1bW4pID09IFwiJVwiIHsgJGZvcmNlLWZsdWlkOiBmYWxzZTsgfVxuXG4gIEBpZiAkZm9yY2UtZmx1aWQge1xuICAgICRncmlkOiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgICRncmlkOiBidWlsZC1ncmlkLWJhY2tncm91bmQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH1cblxuICAvLyByZXR1cm4gdGhlIGhvcml6b250YWwgZ3JpZCBhcyBhIGdyYWRpZW50XG4gICRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmlkKTtcbiAgQHJldHVybiAkZ3JhZGllbnQ7XG59XG5cbi8vIENvbnZlcnQgYSBncmlkIGZyb20gZml4ZWQgdW5pdHMgaW50byBwZXJjZW50YWdlcy5cbkBmdW5jdGlvbiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGNvbnRleHQ6ICgkY29sdW1uICogJHRvdGFsKSArICgkZ3V0dGVyICogKCR0b3RhbCAtIDEpICsgKCRvZmZzZXQgKiAyKSk7XG4gICRvZmZzZXQ6ICRvZmZzZXQgLyAkY29udGV4dCAqIDEwMCU7XG4gICRjb2x1bW46ICRjb2x1bW4gLyAkY29udGV4dCAqIDEwMCU7XG4gICRndXR0ZXI6ICRndXR0ZXIgLyAkY29udGV4dCAqIDEwMCU7XG5cbiAgLy8gcmV0dXJuIHRoZSBob3Jpem9udGFsIGdyaWQgYXMgYSBzZXQgb2YgY29sb3Itc3RvcHNcbiAgJGdyaWQ6IGJ1aWxkLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgQHJldHVybiAkZ3JpZDtcbn1cblxuXG4vLyBBZGQganVzdCB0aGUgYmFzZWxpbmUgZ3JpZCB0byBhbiBlbGVtZW50J3MgYmFja2dyb3VuZFxuQG1peGluIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZChcbiAgJGJhc2VsaW5lIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRjb2xvciAgICA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShnZXQtYmFzZWxpbmUtZ3JhZGllbnQoJGNvbG9yKSk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKDEwMCUgJGJhc2VsaW5lKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4vLyBBZGQganVzdCB0aGUgaG9yaXpvbnRhbCBncmlkIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gY29sdW1uLWdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICB9XG59XG5cbi8vIEFkZCBib3RoIGhvcml6b250YWwgYW5kIGJhc2VsaW5lIGdyaWRzIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJGJhc2VsaW5lICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRiYXNlbGluZS1jb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGlmICRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMgYW5kICRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzIHtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICAgIGdldC1iYXNlbGluZS1ncmFkaWVudCgkYmFzZWxpbmUtY29sb3IpLFxuICAgICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICAgICk7XG4gICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUoMTAwJSAkYmFzZWxpbmUsIGF1dG8pO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBiYXNlbGluZS1ncmlkLWJhY2tncm91bmQoJGJhc2VsaW5lLCAkYmFzZWxpbmUtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgY29sdW1uLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yLCAkZm9yY2UtZmx1aWQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9nZW5lcmFsL2hhY2tzXCI7XG5cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQoXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkYmFja2dyb3VuZHMpIG9yICRtdWx0LWJncztcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtc3ZnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtb3dnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtbW96KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAgIC1vKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICAgICAgIHsgLXBpZS1iYWNrZ3JvdW5kOiAgICAtcGllKCRiYWNrZ3JvdW5kcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXdpdGgtY3NzMi1mYWxsYmFjayhcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRzaW1wbGUtYmFja2dyb3VuZDogaWYoJG11bHQtYmdzIG9yIHByZWZpeGVkKC1jc3MyLCAkYmFja2dyb3VuZHMpLCAtY3NzMigtY29tcGFzcy1udGgoJGJhY2tncm91bmRzLCBsYXN0KSksIGZhbHNlKTtcbiAgQGlmIG5vdChibGFuaygkc2ltcGxlLWJhY2tncm91bmQpKSB7IGJhY2tncm91bmQ6ICRzaW1wbGUtYmFja2dyb3VuZDsgfVxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xufVxuXG5cbi8vIEJhY2tncm91bmQgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoXG4gICRpbWFnZS0xLFxuICAkaW1hZ2UtMjogZmFsc2UsXG4gICRpbWFnZS0zOiBmYWxzZSxcbiAgJGltYWdlLTQ6IGZhbHNlLFxuICAkaW1hZ2UtNTogZmFsc2UsXG4gICRpbWFnZS02OiBmYWxzZSxcbiAgJGltYWdlLTc6IGZhbHNlLFxuICAkaW1hZ2UtODogZmFsc2UsXG4gICRpbWFnZS05OiBmYWxzZSxcbiAgJGltYWdlLTEwOiBmYWxzZVxuKSB7XG4gICRpbWFnZXM6IGNvbXBhY3QoJGltYWdlLTEsICRpbWFnZS0yLCAkaW1hZ2UtMywgJGltYWdlLTQsICRpbWFnZS01LCAkaW1hZ2UtNiwgJGltYWdlLTcsICRpbWFnZS04LCAkaW1hZ2UtOSwgJGltYWdlLTEwKTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGltYWdlcykgb3IgLWNvbXBhc3MtbGlzdC1zaXplKCRpbWFnZXMpID4gMTtcblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLXN2ZygkaW1hZ2VzKTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtb3dnKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgeyBAd2FybiBcIlBJRSBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtaW1hZ2UuIFVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kKCN7JGltYWdlc30pIGluc3RlYWQuXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAkaW1hZ2VzIDtcbn1cblxuLy8gRW1pdCBhIElFLVNwZWNpZmljIGZpbHRlcnMgdGhhdCByZW5kZXJzIGEgc2ltcGxlIGxpbmVhciBncmFkaWVudC5cbi8vIEZvciB1c2UgaW4gSUUgNiAtIDguIEJlc3QgcHJhY3RpY2Ugd291bGQgaGF2ZSB5b3UgYXBwbHkgdGhpcyB2aWEgYVxuLy8gY29uZGl0aW9uYWwgSUUgc3R5bGVzaGVldCwgYnV0IGlmIHlvdSBtdXN0LCB5b3Ugc2hvdWxkIHBsYWNlIHRoaXMgYmVmb3JlXG4vLyBhbnkgYmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0aWVzIHRoYXQgeW91IGhhdmUgc3BlY2lmaWVkLlxuLy9cbi8vIEZvciB0aGUgYCRvcmllbnRhdGlvbmAgcGFyYW1ldGVyLCB5b3UgY2FuIHBhc3MgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuXG5AbWl4aW4gZmlsdGVyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCkge1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAkZ3JhZGllbnQtdHlwZTogaWYoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsLCAwLCAxKTtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChncmFkaWVudFR5cGU9I3skZ3JhZGllbnQtdHlwZX0sIHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9Jyk7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMuXG5AbWl4aW4gYm9yZGVyLWltYWdlKCR2YWx1ZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgeyAgICAtbW96LWJvcmRlci1pbWFnZTogICAgLW1veihyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICAgIC1vd2cocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgeyAgICAgIC1vLWJvcmRlci1pbWFnZTogICAgICAtbyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIHsgICAgICAgICBib3JkZXItaW1hZ2U6ICAgIC1zdmcocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZTtcbn1cblxuLy8gTGlzdCBzdHlsZSBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZS1pbWFnZSgkaW1hZ2UpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkaW1hZ2UpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJGltYWdlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICRpbWFnZSA7XG59XG5cbi8vIExpc3Qgc3R5bGUgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJHZhbHVlIDtcbn1cblxuLy8gY29udGVudCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gY29udGVudCgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgY29udGVudDogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogICAgICAgICAkdmFsdWUgO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyAgb3ZlcnJpZGUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0XG4kZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0byAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBzaXplIG9mIGJhY2tncm91bmQgaW1hZ2VzIHVzaW5nIHB4LCB3aWR0aCBhbmQgaGVpZ2h0LCBvciBwZXJjZW50YWdlcy5cbi8vIEN1cnJlbnRseSBzdXBwb3J0ZWQgaW46IE9wZXJhLCBHZWNrbywgV2Via2l0LlxuLy9cbi8vICogcGVyY2VudGFnZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBiYWNrZ3JvdW5kLW9yaWdpbiAoZGVmYXVsdCA9IHBhZGRpbmctYm94KVxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0bzogYCRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZWBcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplLTE6ICRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZSxcbiAgJHNpemUtMjogZmFsc2UsXG4gICRzaXplLTM6IGZhbHNlLFxuICAkc2l6ZS00OiBmYWxzZSxcbiAgJHNpemUtNTogZmFsc2UsXG4gICRzaXplLTY6IGZhbHNlLFxuICAkc2l6ZS03OiBmYWxzZSxcbiAgJHNpemUtODogZmFsc2UsXG4gICRzaXplLTk6IGZhbHNlLFxuICAkc2l6ZS0xMDogZmFsc2Vcbikge1xuICAkc2l6ZS0xOiBpZih0eXBlLW9mKCRzaXplLTEpID09IHN0cmluZywgdW5xdW90ZSgkc2l6ZS0xKSwgJHNpemUtMSk7XG4gICRzaXplczogY29tcGFjdCgkc2l6ZS0xLCAkc2l6ZS0yLCAkc2l6ZS0zLCAkc2l6ZS00LCAkc2l6ZS01LCAkc2l6ZS02LCAkc2l6ZS03LCAkc2l6ZS04LCAkc2l6ZS05LCAkc2l6ZS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLXNpemUsICRzaXplcywgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSk7XG59XG4iLCJAaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiY3NzMy9pbmxpbmUtYmxvY2tcIjtcbkBpbXBvcnQgXCJjc3MzL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtc2hhZG93XCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1jbGlwXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLW9yaWdpblwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1zaXplXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvcmVnaW9uc1wiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4kZGVmYXVsdC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG5cbi8vIFJvdW5kIGFsbCBjb3JuZXJzIGJ5IGEgc3BlY2lmaWMgYW1vdW50LCBkZWZhdWx0cyB0byB2YWx1ZSBvZiBgJGRlZmF1bHQtYm9yZGVyLXJhZGl1c2AuXG4vL1xuLy8gV2hlbiB0d28gdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBmaXJzdCBpcyB0aGUgaG9yaXpvbnRhbCByYWRpdXNcbi8vIGFuZCB0aGUgc2Vjb25kIGlzIHRoZSB2ZXJ0aWNhbCByYWRpdXMuXG4vL1xuLy8gTm90ZTogd2Via2l0IGRvZXMgbm90IHN1cHBvcnQgc2hvcnRoYW5kIHN5bnRheCBmb3Igc2V2ZXJhbCBjb3JuZXJzIGF0IG9uY2UuXG4vLyBTbyBpbiB0aGUgY2FzZSB3aGVyZSB5b3UgcGFzcyBzZXZlcmFsIHZhbHVlcyBvbmx5IHRoZSBmaXJzdCB3aWxsIGJlIHBhc3NlZCB0byB3ZWJraXQuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gICAgIC5zaW1wbGUgICB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4LCA0cHgpOyB9XG4vLyAgICAgLmNvbXBvdW5kIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHggNXB4LCAzcHggNnB4KTsgfVxuLy8gICAgIC5jcmF6eSAgICB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMXB4IDNweCA1cHggN3B4LCAycHggNHB4IDZweCA4cHgpfVxuLy9cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vXG4vLyAgICAuc2ltcGxlIHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHggNHB4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweCAvIDRweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDRweCAvIDRweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4OyB9XG4vLyAgICBcbi8vICAgIC5jb21wb3VuZCB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4IDNweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDsgfVxuLy8gICAgXG4vLyAgICAuY3Jhenkge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweCAycHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7IH1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cywgJHZlcnRpY2FsLXJhZGl1czogZmFsc2UpIHtcblxuICBAaWYgJHZlcnRpY2FsLXJhZGl1cyB7XG4gICAgLy8gV2Via2l0IGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGUgb2ZmaWNpYWwgc2hvcnRoYW5kIHN5bnRheCBmb3Igc3BlY2lmeWluZ1xuICAgIC8vIGEgdmVydGljYWwgcmFkaXVzIHVubGVzcyBzbyBpbiBjYXNlIHRoZXJlJ3Mgc2V2ZXJhbCB3ZSBvbmx5IHRha2UgdGhlIGZpcnN0LlxuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCBmaXJzdC12YWx1ZS1vZigkcmFkaXVzKSBmaXJzdC12YWx1ZS1vZigkdmVydGljYWwtcmFkaXVzKSxcbiAgICAgIG5vdCgtbW96KSxcbiAgICAgIC13ZWJraXQsXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICBub3QoLWtodG1sKSxcbiAgICAgIG5vdCBvZmZpY2lhbFxuICAgICk7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLXJhZGl1c1wiLCAkcmFkaXVzIHVucXVvdGUoXCIvXCIpICR2ZXJ0aWNhbC1yYWRpdXMsXG4gICAgICAtbW96LFxuICAgICAgbm90KC13ZWJraXQpLFxuICAgICAgbm90KC1vKSxcbiAgICAgIG5vdCgtbXMpLFxuICAgICAgLWtodG1sLFxuICAgICAgb2ZmaWNpYWxcbiAgICApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm9yZGVyLXJhZGl1cywgJHJhZGl1cyk7XG4gIH1cbn1cblxuLy8gUm91bmQgcmFkaXVzIGF0IHBvc2l0aW9uIGJ5IGFtb3VudC5cbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgYCR2ZXJ0YDogYHRvcGAsIGBib3R0b21gXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgYCRob3J6YDogYGxlZnRgLCBgcmlnaHRgXG5cbkBtaXhpbiBib3JkZXItY29ybmVyLXJhZGl1cygkdmVydCwgJGhvcnosICRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgLy8gU3VwcG9ydCBmb3IgbW96aWxsYSdzIHN5bnRheCBmb3Igc3BlY2lmeWluZyBhIGNvcm5lclxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzLSN7JHZlcnR9I3skaG9yen1cIiwgJHJhZGl1cyxcbiAgICAtbW96LFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItI3skdmVydH0tI3skaG9yen0tcmFkaXVzXCIsICRyYWRpdXMsXG4gICAgbm90KC1tb3opLFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbiAgXG59XG5cbi8vIFJvdW5kIHRvcC1sZWZ0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCBsZWZ0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCB0b3AtcmlnaHQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCByaWdodCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdHRvbS1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHRvcCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCByaWdodCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBib3R0b20gY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggbGVmdCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBDU1Mgb3BhY2l0eS4gVGFrZXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxIGFzIHRoZSBhcmd1bWVudCwgZS5nLiAwLjUgZm9yIDUwJSBvcGFjaXR5LlxuLy9cbi8vICAgICBAcGFyYW0gJG9wYWNpdHlcbi8vICAgICAgICAgQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLCB3aGVyZSAwIGlzIHRyYW5zcGFyZW50IGFuZCAxIGlzIG9wYXF1ZS5cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0je3JvdW5kKCRvcGFjaXR5ICogMTAwKX0pXCIpO1xuICB9XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSB0cmFuc3BhcmVudC5cbkBtaXhpbiB0cmFuc3BhcmVudCB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgb3BhcXVlLlxuQG1peGluIG9wYXF1ZSB7IEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGJlZm9yZSBpbXBvcnRpbmcuXG4vLyBAZG9jIG9uXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgYm94IHNoYWRvd3NcbiRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGhvcml6b250YWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyB0byB0aGUgcmlnaHQuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHZlcnRpY2FsIG9mZnNldC4gUG9zaXRpdmUgaXMgZG93bi5cbiRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgYmx1ciBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LWJsdXI6IDVweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc3ByZWFkIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNoYWRvdyBpbnNldDogaW5zZXQgb3IgZmFsc2UgKGZvciBzdGFuZGFyZCBzaGFkb3cpLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMyBib3ggc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIGJveFxuLy8gc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gYm94LXNoYWRvdyBwcm9wZXJ0eS5cbkBtaXhpbiBib3gtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTEgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoaWYoJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCwgaW5zZXQsIGZhbHNlKSwgJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLCAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCwgJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcikpO1xuICB9XG4gICRzaGFkb3cgOiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNoYWRvdywgJHNoYWRvdyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIGJveCBzaGFkb3cgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzLlxuLy8gSW5jbHVkZXMgZGVmYXVsdCBhcmd1bWVudHMgZm9yIGNvbG9yLCBob3Jpem9udGFsIG9mZnNldCwgdmVydGljYWwgb2Zmc2V0LCBibHVyIGxlbmd0aCwgc3ByZWFkIGxlbmd0aCwgYW5kIGluc2V0LlxuQG1peGluIHNpbmdsZS1ib3gtc2hhZG93KFxuICAkY29sb3IgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcixcbiAgJGhvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQsXG4gICR2b2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LFxuICAkYmx1ciAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLFxuICAkc3ByZWFkIDogJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsXG4gICRpbnNldCAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0XG4pIHtcbiAgQGlmIG5vdCAoJGluc2V0ID09IHRydWUgb3IgJGluc2V0ID09IGZhbHNlIG9yICRpbnNldCA9PSBpbnNldCkge1xuICAgIEB3YXJuIFwiJGluc2V0IGV4cGVjdGVkIHRvIGJlIHRydWUgb3IgdGhlIGluc2V0IGtleXdvcmQuIEdvdCAjeyRpbnNldH0gaW5zdGVhZC4gVXNpbmc6IGluc2V0XCI7XG4gIH1cblxuICBAaWYgJGNvbG9yID09IG5vbmUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH0gQGVsc2Uge1xuICAgICRmdWxsICAgOiAkaG9mZiAkdm9mZjtcbiAgICBAaWYgJGJsdXIgICB7ICRmdWxsOiAkZnVsbCAkYmx1cjsgICB9XG4gICAgQGlmICRzcHJlYWQgeyAkZnVsbDogJGZ1bGwgJHNwcmVhZDsgfVxuICAgIEBpZiAkY29sb3IgIHsgJGZ1bGw6ICRmdWxsICRjb2xvcjsgIH1cbiAgICBAaWYgJGluc2V0ICB7ICRmdWxsOiBpbnNldCAkZnVsbDsgICB9XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZnVsbCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhlc2UgZGVmYXVsdHMgbWFrZSB0aGUgYXJndW1lbnRzIG9wdGlvbmFsIGZvciB0aGlzIG1peGluXG4vLyBJZiB5b3UgbGlrZSwgc2V0IGRpZmZlcmVudCBkZWZhdWx0cyBpbiB5b3VyIHByb2plY3RcblxuJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3I6ICAgICNhYWEgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldDogMHB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1cjogICAgIDFweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQ6ICAgZmFsc2UgICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIHRleHQgc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIHNoYWRvd3MgYXJlIG5lZWRlZC5cbi8vIEVhY2ggc2hhZG93IGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIHRleHQtc2hhZG93IHByb3BlcnR5LlxuLy9cbi8vIE5vdGU6IGlmIGFueSBzaGFkb3cgaGFzIGEgc3ByZWFkIHBhcmFtZXRlciwgdGhpcyB3aWxsIGNhdXNlIHRoZSBtaXhpblxuLy8gdG8gZW1pdCB0aGUgc2hhZG93IGRlY2xhcmF0aW9uIHR3aWNlLCBmaXJzdCB3aXRob3V0IHRoZSBzcHJlYWQsXG4vLyB0aGVuIHdpdGggdGhlIHNwcmVhZCBpbmNsdWRlZC4gVGhpcyBhbGxvd3MgeW91IHRvIHByb2dyZXNzaXZlbHlcbi8vIGVuaGFuY2UgdGhlIGJyb3dzZXJzIHRoYXQgZG8gc3VwcG9ydCB0aGUgc3ByZWFkIHBhcmFtZXRlci5cbkBtaXhpbiB0ZXh0LXNoYWRvdyhcbiAgJHNoYWRvdy0xIDogZGVmYXVsdCxcbiAgJHNoYWRvdy0yIDogZmFsc2UsXG4gICRzaGFkb3ctMyA6IGZhbHNlLFxuICAkc2hhZG93LTQgOiBmYWxzZSxcbiAgJHNoYWRvdy01IDogZmFsc2UsXG4gICRzaGFkb3ctNiA6IGZhbHNlLFxuICAkc2hhZG93LTcgOiBmYWxzZSxcbiAgJHNoYWRvdy04IDogZmFsc2UsXG4gICRzaGFkb3ctOSA6IGZhbHNlLFxuICAkc2hhZG93LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkc2hhZG93LTEgPT0gZGVmYXVsdCB7XG4gICAgJHNoYWRvdy0xOiBjb21wYWN0KCRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0ICRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0ICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yKTtcbiAgfVxuICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogam9pbigoKSwoKSxjb21tYSk7XG4gICRzaGFkb3dzOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJGhhcy1zcHJlYWQ6IGZhbHNlO1xuICBAZWFjaCAkc2hhZG93IGluIGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApIHtcbiAgICBAaWYgbGVuZ3RoKCRzaGFkb3cpID4gNCB7XG4gICAgICAkaGFzLXNwcmVhZDogdHJ1ZTtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsIG50aCgkc2hhZG93LDEpIG50aCgkc2hhZG93LDIpIG50aCgkc2hhZG93LDMpIG50aCgkc2hhZG93LDUpKTtcbiAgICAgICRzaGFkb3dzOiBhcHBlbmQoJHNoYWRvd3MsICRzaGFkb3cpO1xuICAgIH0gZWxzZSB7XG4gICAgICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogYXBwZW5kKCRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkLCAkc2hhZG93KTtcbiAgICAgICRzaGFkb3dzOiBhcHBlbmQoJHNoYWRvd3MsICRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICBAaWYgJGhhcy1zcHJlYWQge1xuICAgIHRleHQtc2hhZG93OiAkc2hhZG93cy13aXRob3V0LXNwcmVhZDtcbiAgfVxuICB0ZXh0LXNoYWRvdzogJHNoYWRvd3M7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIHRleHQgc2hhZG93LlxuLy9cbi8vIFByb3ZpZGVzIHNlbnNpYmxlIGRlZmF1bHRzIGZvciB0aGUgY29sb3IsIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIsIGFuZCBzcHJlYWRcbi8vIGFjY29yZGluZyB0byB0aGUgY29uZmlndXJhdGlvbiBkZWZhdWx0cyBhYm92ZS5cbkBtaXhpbiBzaW5nbGUtdGV4dC1zaGFkb3coXG4gICRob2ZmOiBmYWxzZSxcbiAgJHZvZmY6IGZhbHNlLFxuICAkYmx1cjogZmFsc2UsXG4gICRzcHJlYWQ6IGZhbHNlLFxuICAkY29sb3I6IGZhbHNlXG4pIHtcbiAgLy8gQSBsb3Qgb2YgcGVvcGxlIHRoaW5rIHRoZSBjb2xvciBjb21lcyBmaXJzdC4gSXQgZG9lc24ndC5cbiAgQGlmIHR5cGUtb2YoJGhvZmYpID09IGNvbG9yIHtcbiAgICAkdGVtcC1jb2xvcjogJGhvZmY7XG4gICAgJGhvZmY6ICR2b2ZmO1xuICAgICR2b2ZmOiAkYmx1cjtcbiAgICAkYmx1cjogJHNwcmVhZDtcbiAgICAkc3ByZWFkOiAkY29sb3I7XG4gICAgJGNvbG9yOiAkdGVtcC1jb2xvcjtcbiAgfVxuICAvLyBDYW4ndCByZWx5IG9uIGRlZmF1bHQgYXNzaWdubWVudCB3aXRoIG11bHRpcGxlIHN1cHBvcnRlZCBhcmd1bWVudCBvcmRlcnMuXG4gICRob2ZmOiAgIGlmKCRob2ZmLCAgICRob2ZmLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0KTtcbiAgJHZvZmY6ICAgaWYoJHZvZmYsICAgJHZvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQpO1xuICAkYmx1cjogICBpZigkYmx1ciwgICAkYmx1ciwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyICAgICk7XG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQsICRzcHJlYWQsICRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZCAgKTtcbiAgJGNvbG9yOiAgaWYoJGNvbG9yLCAgJGNvbG9yLCAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IgICApO1xuICAvLyBXZSBkb24ndCBuZWVkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciB0aGlzIHByb3BlcnR5LlxuICBAaWYgJGNvbG9yID09IG5vbmUgb3IgJGhvZmYgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3cobm9uZSk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KGNvbXBhY3QoJGhvZmYgJHZvZmYgJGJsdXIgJHNwcmVhZCAkY29sb3IpKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBTcGVjaWZ5IHRoZSBzaG9ydGhhbmQgYGNvbHVtbnNgIHByb3BlcnR5LlxuLy9cbi8vIEV4YW1wbGU6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbnMoMjBlbSAyKVxuQG1peGluIGNvbHVtbnMoJHdpZHRoLWFuZC1jb3VudCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1ucywgJHdpZHRoLWFuZC1jb3VudCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgbnVtYmVyIG9mIGNvbHVtbnNcbkBtaXhpbiBjb2x1bW4tY291bnQoJGNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tY291bnQsICRjb3VudCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgZ2FwIGJldHdlZW4gY29sdW1ucyBlLmcuIGAyMHB4YFxuQG1peGluIGNvbHVtbi1nYXAoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tZ2FwLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHdpZHRoIG9mIGNvbHVtbnMgZS5nLiBgMTAwcHhgXG5AbWl4aW4gY29sdW1uLXdpZHRoKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGAxcHhgXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBzdHlsZSBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgZG90dGVkYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItc3R5bGUuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1zdHlsZSwgdW5xdW90ZSgkc3R5bGUpLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBjb2xvciBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgYmx1ZWAuXG4vLyBUaGlzIHdvcmtzIGxpa2UgYm9yZGVyLWNvbG9yLlxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvcixcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZW5jb21wYXNzaW5nIGFsbCBjb2x1bW4gcnVsZSBwcm9wZXJ0aWVzXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4LCBzb2xpZCwgI2MwMClcbi8vXG4vLyBPciB0aGUgdmFsdWVzIGNhbiBiZSBzcGFjZSBzZXBhcmF0ZWQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbi1ydWxlKDFweCBzb2xpZCAjYzAwKVxuQG1peGluIGNvbHVtbi1ydWxlKCR3aWR0aCwgJHN0eWxlOiBmYWxzZSwgJGNvbG9yOiBmYWxzZSkge1xuICAkZnVsbCA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkd2lkdGgsICRzdHlsZSwgJGNvbG9yKSk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZSwgJGZ1bGwsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1iZWZvcmVcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstYmVmb3JlKGFsd2F5cyk7fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy9cbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbkBtaXhpbiBjb2x1bW4tYnJlYWstYmVmb3JlKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWJlZm9yZSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWFmdGVyXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstYWZ0ZXIoYWx3YXlzKTsgfVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy9cbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbkBtaXhpbiBjb2x1bW4tYnJlYWstYWZ0ZXIoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYWZ0ZXIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1pbnNpZGVcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYXZvaWQsIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWluc2lkZSgpO31cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy8gIFxuLy8gIGgyLmluc2lkZSB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87XG4vLyAgICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO31cbkBtaXhpbiBjb2x1bW4tYnJlYWstaW5zaWRlKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWluc2lkZSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gQWxsLXB1cnBvc2UgbWl4aW4gZm9yIHNldHRpbmcgY29sdW1uIGJyZWFrcy5cbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJHR5cGUgOiBiZWZvcmUsIGFmdGVyLCBpbnNpZGUgXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJyR2YWx1ZScgYXJlIGRlcGVuZGVudCBvbiAkdHlwZVxuLy8gICAgKiB3aGVuICR0eXBlID0gYmVmb3JlLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gICAgKiB3aGVuICR0eXBlID0gYWZ0ZXIsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBpbnNpZGUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYXZvaWQsIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gIFxuLy8gIEV4YW1wbGVzOiBcbi8vICAgIGgyLmJlZm9yZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGJlZm9yZSwgYWx3YXlzKTt9XG4vLyAgICBoMi5hZnRlciB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGFmdGVyLCBhbHdheXMpOyB9XG4vLyAgICBoMi5pbnNpZGUge0BpbmNsdWRlIGNvbHVtbi1icmVhayhpbnNpZGUpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgaDIuYmVmb3JlIHsgICAgXG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5czt9XG4vLyAgXG4vLyAgaDIuYWZ0ZXIge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzOyB9XG4vL1xuLy8gIGgyLmluc2lkZSB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87XG4vLyAgICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO31cbiBcbkBtaXhpbiBjb2x1bW4tYnJlYWsoJHR5cGU6IGJlZm9yZSwgJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImNvbHVtbi1icmVhay0jeyR0eXBlfVwiLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ2hhbmdlIHRoZSBib3ggbW9kZWwgZm9yIE1vemlsbGEsIFdlYmtpdCwgSUU4IGFuZCB0aGUgZnV0dXJlXG4vL1xuLy8gQHBhcmFtICRic1xuLy8gICBbIGNvbnRlbnQtYm94IHwgYm9yZGVyLWJveCBdXG5cbkBtaXhpbiBib3gtc2l6aW5nKCRicykge1xuICAkYnM6IHVucXVvdGUoJGJzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1zaXppbmcsICRicyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIGRpc3BsYXk6Ym94OyBtdXN0IGJlIHVzZWQgZm9yIGFueSBvZiB0aGUgb3RoZXIgZmxleGJveCBtaXhpbnMgdG8gd29yayBwcm9wZXJseVxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsLXZhbHVlKGRpc3BsYXksIGJveCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBvcmllbnRhdGlvbiwgYXNzdW1pbmcgdGhhdCB0aGUgdXNlciB3YW50cyBzb21ldGhpbmcgbGVzcyBibG9jay1saWtlXG4kZGVmYXVsdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFkZWZhdWx0O1xuXG4vLyBCb3ggb3JpZW50YXRpb24gWyBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMgfCBpbmhlcml0IF1cbkBtaXhpbiBib3gtb3JpZW50KFxuICAkb3JpZW50YXRpb246ICRkZWZhdWx0LWJveC1vcmllbnRcbikge1xuICAkb3JpZW50YXRpb24gOiB1bnF1b3RlKCRvcmllbnRhdGlvbik7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtb3JpZW50LCAkb3JpZW50YXRpb24sXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3gtYWxpZ25cbiRkZWZhdWx0LWJveC1hbGlnbjogc3RyZXRjaCAhZGVmYXVsdDtcblxuLy8gQm94IGFsaWduIFsgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2ggXVxuQG1peGluIGJveC1hbGlnbihcbiAgJGFsaWdubWVudDogJGRlZmF1bHQtYm94LWFsaWduXG4pIHtcbiAgJGFsaWdubWVudCA6IHVucXVvdGUoJGFsaWdubWVudCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtYWxpZ24sICRhbGlnbm1lbnQsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3ggZmxleFxuJGRlZmF1bHQtYm94LWZsZXg6IDAgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3IgYm94IGZsZXguIEFwcGx5IHRoaXMgdG8gdGhlIGNoaWxkcmVuIGluc2lkZSB0aGUgYm94LlxuLy9cbi8vIEZvciBleGFtcGxlOiBcImRpdi5kaXNwbGF5LWJveCA+IGRpdi5jaGlsZC1ib3hcIiB3b3VsZCBnZXQgdGhlIGJveCBmbGV4IG1peGluLlxuQG1peGluIGJveC1mbGV4KFxuICAkZmxleDogJGRlZmF1bHQtYm94LWZsZXhcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWZsZXgsICRmbGV4LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgZmxleCBncm91cFxuJGRlZmF1bHQtYm94LWZsZXgtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3IgZmxleGlibGUgZ3JvdXBpbmdcbkBtaXhpbiBib3gtZmxleC1ncm91cChcbiAgJGdyb3VwOiAkZGVmYXVsdC1ib3gtZmxleC1ncm91cFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleC1ncm91cCwgJGdyb3VwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIG9yZGluYWwgZ3JvdXBcbiRkZWZhdWx0LWJveC1vcmRpbmFsLWdyb3VwOiAxICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIG9yZGluYWwgZ3JvdXBpbmcgYW5kIHJlYXJyYW5naW5nIHRoZSBvcmRlclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LW9yZGluYWwtZmxleC1ncm91cFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtb3JkaW5hbC1ncm91cCwgJGdyb3VwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEJveCBkaXJlY3Rpb24gZGVmYXVsdCB2YWx1ZVxuJGRlZmF1bHQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94LWRpcmVjdGlvbiBbIG5vcm1hbCB8IHJldmVyc2UgfCBpbmhlcml0IF1cbkBtaXhpbiBib3gtZGlyZWN0aW9uKFxuICAkZGlyZWN0aW9uOiAkZGVmYXVsdC1ib3gtZGlyZWN0aW9uXG4pIHtcbiAgJGRpcmVjdGlvbjogdW5xdW90ZSgkZGlyZWN0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3IgYm94IGxpbmVzXG4kZGVmYXVsdC1ib3gtbGluZXM6IHNpbmdsZSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveCBsaW5lcyBbIHNpbmdsZSB8IG11bHRpcGxlIF1cbkBtaXhpbiBib3gtbGluZXMoXG4gICRsaW5lczogJGRlZmF1bHQtYm94LWxpbmVzXG4pIHtcbiAgJGxpbmVzOiB1bnF1b3RlKCRsaW5lcyk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtbGluZXMsICRsaW5lcyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggcGFja1xuJGRlZmF1bHQtYm94LXBhY2s6IHN0YXJ0ICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IHBhY2sgWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgXVxuQG1peGluIGJveC1wYWNrKFxuICAkcGFjazogJGRlZmF1bHQtYm94LXBhY2tcbikge1xuICAkcGFjazogdW5xdW90ZSgkcGFjayk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtcGFjaywgJHBhY2ssXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBwYWRkaW5nLWJveGAgLS0gdGhlIGJveCBtb2RlbCB1c2VkIGJ5IG1vZGVybiBicm93c2Vycy5cbi8vXG4vLyBJZiB5b3Ugd2lzaCB0byBkbyBzbywgeW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCBjb25zdGFudCB3aXRoIGBib3JkZXItYm94YFxuLy9cbi8vIFRvIG92ZXJyaWRlIHRvIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggbW9kZWwsIHVzZSB0aGlzIGNvZGU6XG4vLyAgICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWRlZmF1bHQ7XG5cbi8vIENsaXAgdGhlIGJhY2tncm91bmQgKGltYWdlIGFuZCBjb2xvcikgYXQgdGhlIGVkZ2Ugb2YgdGhlIHBhZGRpbmcgb3IgYm9yZGVyLlxuLy9cbi8vIExlZ2FsIFZhbHVlczpcbi8vXG4vLyAgICogcGFkZGluZy1ib3hcbi8vICAgKiBib3JkZXItYm94XG4vLyAgICogdGV4dFxuXG5AbWl4aW4gYmFja2dyb3VuZC1jbGlwKCRjbGlwOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXApIHtcbiAgLy8gd2Via2l0IGFuZCBtb3ppbGxhIHVzZSB0aGUgZGVwcmVjYXRlZCBzaG9ydCBbYm9yZGVyIHwgcGFkZGluZ11cbiAgJGNsaXA6IHVucXVvdGUoJGNsaXApO1xuICAkZGVwcmVjYXRlZDogJGNsaXA7XG4gIEBpZiAkY2xpcCA9PSBwYWRkaW5nLWJveCB7ICRkZXByZWNhdGVkOiBwYWRkaW5nOyB9XG4gIEBpZiAkY2xpcCA9PSBib3JkZXItYm94IHsgJGRlcHJlY2F0ZWQ6IGJvcmRlcjsgfVxuICAvLyBTdXBwb3J0IGZvciB3ZWJraXQgYW5kIG1vemlsbGEncyB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgZm9ybVxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1jbGlwLCAkZGVwcmVjYXRlZCxcbiAgICAtbW96LFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qgb2ZmaWNpYWxcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtY2xpcCwgJGNsaXAsXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xufVxuIiwiLy8gT3ZlcnJpZGUgYCRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94ICFkZWZhdWx0O1xuXG4vLyBQb3NpdGlvbiB0aGUgYmFja2dyb3VuZCBvZmYgdGhlIGVkZ2Ugb2YgdGhlIHBhZGRpbmcsIGJvcmRlciBvciBjb250ZW50XG4vL1xuLy8gKiBQb3NzaWJsZSB2YWx1ZXM6XG4vLyAgICogYHBhZGRpbmctYm94YFxuLy8gICAqIGBib3JkZXItYm94YFxuLy8gICAqIGBjb250ZW50LWJveGBcbi8vICogYnJvd3NlciBkZWZhdWx0cyB0byBgcGFkZGluZy1ib3hgXG4vLyAqIG1peGluIGRlZmF1bHRzIHRvIGBjb250ZW50LWJveGBcblxuXG5AbWl4aW4gYmFja2dyb3VuZC1vcmlnaW4oJG9yaWdpbjogJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgkb3JpZ2luKTtcbiAgLy8gd2Via2l0IGFuZCBtb3ppbGxhIHVzZSB0aGUgZGVwcmVjYXRlZCBzaG9ydCBbYm9yZGVyIHwgcGFkZGluZyB8IGNvbnRlbnRdXG4gICRkZXByZWNhdGVkOiAkb3JpZ2luO1xuICBAaWYgJG9yaWdpbiA9PSBwYWRkaW5nLWJveCB7ICRkZXByZWNhdGVkOiBwYWRkaW5nOyB9XG4gIEBpZiAkb3JpZ2luID09IGJvcmRlci1ib3ggIHsgJGRlcHJlY2F0ZWQ6IGJvcmRlcjsgIH1cbiAgQGlmICRvcmlnaW4gPT0gY29udGVudC1ib3ggeyAkZGVwcmVjYXRlZDogY29udGVudDsgfVxuXG4gIC8vIFN1cHBvcnQgZm9yIHdlYmtpdCBhbmQgbW96aWxsYSdzIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBzaG9ydCBmb3JtXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLW9yaWdpbiwgJGRlcHJlY2F0ZWQsXG4gICAgLW1veixcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLW9yaWdpbiwgJG9yaWdpbixcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIC1vLFxuICAgIC1tcyxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciBAZm9udC1mYWNlLiBTdXBwb3J0cyBJRSwgR2Vja28sIFdlYmtpdCwgT3BlcmEuXG4vL1xuLy8gKiAkbmFtZSBpcyByZXF1aXJlZCwgYXJiaXRyYXJ5LCBhbmQgd2hhdCB5b3Ugd2lsbCB1c2UgaW4gZm9udCBzdGFja3MuXG4vLyAqICRmb250LWZpbGVzIGlzIHJlcXVpcmVkIHVzaW5nIGZvbnQtZmlsZXMoJ3JlbGF0aXZlL2xvY2F0aW9uJywgJ2Zvcm1hdCcpLlxuLy8gICBmb3IgYmVzdCByZXN1bHRzIHVzZSB0aGlzIG9yZGVyOiB3b2ZmLCBvcGVudHlwZS90cnVldHlwZSwgc3ZnXG4vLyAqICRlb3QgaXMgcmVxdWlyZWQgYnkgSUUsIGFuZCBpcyBhIHJlbGF0aXZlIGxvY2F0aW9uIG9mIHRoZSBlb3QgZmlsZS5cbi8vICogJHdlaWdodCBzaG93cyBpZiB0aGUgZm9udCBpcyBib2xkLCBkZWZhdWx0cyB0byBub3JtYWxcbi8vICogJHN0eWxlIGRlZmF1bHRzIHRvIG5vcm1hbCwgbWlnaHQgYmUgYWxzbyBpdGFsaWNcbi8vICogRm9yIGFuZHJvaWQgMi4yIENvbXBhdGlibGl0eSwgcGxlYXNlIGVuc3VyZSB0aGF0IHlvdXIgd2ViIHBhZ2UgaGFzXG4vLyAgIGEgbWV0YSB2aWV3cG9ydCB0YWcuXG4vLyAqIFRvIHN1cHBvcnQgaU9TIDwgNC4yLCBhbiBTVkcgZmlsZSBtdXN0IGJlIHByb3ZpZGVkXG4vL1xuLy8gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXIgZm9ybWF0cyBjaGVjayBvdXQgdGhlIEZvbnQgU3F1aXJyZWxcbi8vIFtmb250IGdlbmVyYXRvcl0oaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tL2ZvbnRmYWNlL2dlbmVyYXRvcilcbi8vXG5cbi8vIEluIG9yZGVyIHRvIHJlZmVyIHRvIGEgc3BlY2lmaWMgc3R5bGUgb2YgdGhlIGZvbnQgaW4geW91ciBzdHlsZXNoZWV0cyBhcyBcbi8vIGUuZy4gXCJmb250LXN0eWxlOiBpdGFsaWM7XCIsICB5b3UgbWF5IGFkZCBhIGNvdXBsZSBvZiBAZm9udC1mYWNlIGluY2x1ZGVzXG4vLyBjb250YWluaW5nIHRoZSByZXNwZWN0aXZlIGZvbnQgZmlsZXMgZm9yIGVhY2ggc3R5bGUgYW5kIHNwZWN5aW5nXG4vLyByZXNwZWN0aXZlIHRoZSAkc3R5bGUgcGFyYW1ldGVyLlxuXG4vLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoXG4gICRuYW1lLCBcbiAgJGZvbnQtZmlsZXMsIFxuICAkZW90OiBmYWxzZSxcbiAgJHdlaWdodDogZmFsc2UsXG4gICRzdHlsZTogZmFsc2Vcbikge1xuICAkaWVmb250OiB1bnF1b3RlKFwiI3skZW90fT8jaWVmaXhcIik7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XG4gICAgQGlmICRlb3Qge1xuICAgICAgc3JjOiBmb250LXVybCgkZW90KTtcbiAgICAgICRmb250LWZpbGVzOiBmb250LXVybCgkaWVmb250KSB1bnF1b3RlKFwiZm9ybWF0KCdlb3QnKVwiKSwgJGZvbnQtZmlsZXM7IFxuICAgIH1cbiAgICBzcmM6ICRmb250LWZpbGVzO1xuICAgIEBpZiAkd2VpZ2h0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIH1cbiAgICBAaWYgJHN0eWxlIHtcbiAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQGRvYyBvZmZcbi8vIE5vdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2FmYXJpLCBDaHJvbWUsIGFuZCBGaXJlZm94IGFsbCBzdXBwb3J0IDNEIHRyYW5zZm9ybXMuIEhvd2V2ZXIsXG4vLyBvbmx5IGluIHRoZSBtb3N0IHJlY2VudCBidWlsZHMuIFlvdSBzaG91bGQgYWxzbyBwcm92aWRlIGZhbGxiYWNrIDJkIHN1cHBvcnQgZm9yXG4vLyBPcGVyYSBhbmQgSUUuIElFMTAgaXMgc2xhdGVkIHRvIGhhdmUgM2QgZW5hYmxlZCwgYnV0IGlzIGN1cnJlbnRseSB1bnJlbGVhc2VkLlxuLy8gVG8gbWFrZSB0aGF0IGVhc3ksIGFsbCAyRCB0cmFuc2Zvcm1zIGluY2x1ZGUgYW4gYnJvd3Nlci10YXJnZXRpbmcgdG9nZ2xlICgkb25seTNkKVxuLy8gdG8gc3dpdGNoIGJldHdlZW4gdGhlIHR3byBzdXBwb3J0IGxpc3RzLiBUaGUgdG9nZ2xlIGRlZmF1bHRzIHRvICdmYWxzZScgKDJEKSxcbi8vIGFuZCBhbHNvIGFjY2VwdHMgJ3RydWUnICgzRCkuIEN1cnJlbnRseSB0aGUgbGlzdHMgYXJlIGFzIGZvbGxvd3M6XG4vLyAyRDogTW96aWxsYSwgV2Via2l0LCBPcGVyYSwgT2ZmaWNpYWxcbi8vIDNEOiBXZWJraXQsIEZpcmVmb3guXG5cbi8vIEF2YWlsYWJsZSBUcmFuc2Zvcm1zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBTY2FsZSAoMmQgYW5kIDNkKVxuLy8gLSBSb3RhdGUgKDJkIGFuZCAzZClcbi8vIC0gVHJhbnNsYXRlICgyZCBhbmQgM2QpXG4vLyAtIFNrZXcgKDJkIG9ubHkpXG5cbi8vIFRyYW5zZm9ybSBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBUcmFuc2Zvcm0gT3JpZ2luICgyZCBhbmQgM2QpXG4vLyAtIFBlcnNwZWN0aXZlICgzZClcbi8vIC0gUGVyc3BlY3RpdmUgT3JpZ2luICgzZClcbi8vIC0gVHJhbnNmb3JtIFN0eWxlICgzZClcbi8vIC0gQmFja2ZhY2UgVmlzaWJpbGl0eSAoM2QpXG5cbi8vIE1peGlucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gdHJhbnNmb3JtLW9yaWdpblxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtLW9yaWdpbjJkLCB0cmFuc2Zvcm0tb3JpZ2luM2Rcbi8vICAtIGhlbHBlcnM6ICAgIGFwcGx5LW9yaWdpblxuLy8gdHJhbnNmb3JtXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0yZCwgdHJhbnNmb3JtM2Rcbi8vICAtIGhlbHBlcnM6ICAgIHNpbXBsZS10cmFuc2Zvcm0sIGNyZWF0ZS10cmFuc2Zvcm1cbi8vIHBlcnNwZWN0aXZlXG4vLyAgLSBoZWxwZXJzOiAgICBwZXJzcGVjdGl2ZS1vcmlnaW5cbi8vIHRyYW5zZm9ybS1zdHlsZVxuLy8gYmFja2ZhY2UtdmlzaWJpbGl0eVxuLy8gc2NhbGVcbi8vICAtIHNob3J0Y3V0czogIHNjYWxlWCwgc2NhbGVZLCBzY2FsZVosIHNjYWxlM2Rcbi8vIHJvdGF0ZVxuLy8gIC0gc2hvcnRjdXRzOiAgcm90YXRlWCwgcm90YXRlWSwgcm90YXRlM2Rcbi8vIHRyYW5zbGF0ZVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNsYXRlWCwgdHJhbnNsYXRlWSwgdHJhbnNsYXRlWiwgdHJhbnNsYXRlM2Rcbi8vIHNrZXdcbi8vICAtIHNob3J0Y3V0czogIHNrZXdYLCBza2V3WVxuXG4vLyBEZWZhdWx0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gVGhlIGRlZmF1bHQgeC1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi14ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi15ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi16ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteCAgICAgOiAxLjI1ICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXkgICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS16ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCBhbmdsZSBmb3Igcm90YXRpb25zXG4kZGVmYXVsdC1yb3RhdGUgICAgICA6IDQ1ZGVnICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteCAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci15ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXogICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXggOiAxZW0gICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteSA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS16IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteCAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy15ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gKipUcmFuc2Zvcm0tb3JpZ2luKipcbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZ1xuLy9cbi8vICAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oIG9yaWdpbiBbLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlICdvcmlnaW4nIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3QgY29udGFpbmluZyAxLTMgKHgveS96KSBjb29yZGluYXRlc1xuLy8gaW4gcGVyY2VudGFnZXMsIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgb3IgcmVsYXRpdmVcbi8vIChsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b20sIGNlbnRlcikgdW5pdHNcbi8vXG4vLyBAcGFyYW0gb25seTNkIFNldCB0aGlzIHRvIHRydWUgdG8gb25seSBhcHBseSB0aGlzXG4vLyBtaXhpbiB3aGVyZSBicm93c2VycyBoYXZlIDNEIHN1cHBvcnQuXG5AbWl4aW4gYXBwbHktb3JpZ2luKCRvcmlnaW4sICRvbmx5M2QpIHtcbiAgJG9ubHkzZDogJG9ubHkzZCBvciAtY29tcGFzcy1saXN0LXNpemUoLWNvbXBhc3MtbGlzdCgkb3JpZ2luKSkgPiAyO1xuICBAaWYgJG9ubHkzZCB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGluZGl2aWR1YWwgYXJndW1lbnRzOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCBbIG9yaWdpbi14LCBvcmlnaW4teSwgb3JpZ2luLXosIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlIDMgJ29yaWdpbi0nIGFyZ3VtZW50cyByZXByZXNlbnQgeC95L3ogY29vcmRpbmF0ZXMuXG4vL1xuLy8gKipOT1RFOioqIHNldHRpbmcgeiBjb29yZGluYXRlcyB0cmlnZ2VycyAzRCBzdXBwb3J0IGxpc3QsIGxlYXZlIGZhbHNlIGZvciAyRCBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbihcbiAgJG9yaWdpbi14OiAkZGVmYXVsdC1vcmlnaW4teCxcbiAgJG9yaWdpbi15OiAkZGVmYXVsdC1vcmlnaW4teSxcbiAgJG9yaWdpbi16OiBmYWxzZSxcbiAgJG9ubHkzZDogICBpZigkb3JpZ2luLXosIHRydWUsIGZhbHNlKVxuKSB7XG4gICRvcmlnaW46IHVucXVvdGUoJycpO1xuICBAaWYgJG9yaWdpbi14IG9yICRvcmlnaW4teSBvciAkb3JpZ2luLXoge1xuICAgIEBpZiAkb3JpZ2luLXggeyAkb3JpZ2luOiAkb3JpZ2luLXg7IH0gQGVsc2UgeyAkb3JpZ2luOiA1MCU7IH1cbiAgICBAaWYgJG9yaWdpbi15IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXk7IH0gQGVsc2UgeyBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiA1MCU7IH19XG4gICAgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi16OyB9XG4gICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCRvcmlnaW4sICRvbmx5M2QpO1xuICB9XG59XG5cblxuLy8gVHJhbnNmb3JtIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmc6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNmb3JtcyBbLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlICd0cmFuc2Zvcm1zJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGFsbCB0aGUgdHJhbnNmb3JtcyB0byBiZSBhcHBsaWVkLlxuQG1peGluIHRyYW5zZm9ybShcbiAgJHRyYW5zZm9ybSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICBAaWYgJG9ubHkzZCB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFNob3J0Y3V0IHRvIHRhcmdldCBhbGwgYnJvd3NlcnMgd2l0aCAyRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTJkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCBmYWxzZSk7XG59XG5cbi8vIFNob3J0Y3V0IHRvIHRhcmdldCBvbmx5IGJyb3dzZXJzIHdpdGggM0QgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0zZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgdHJ1ZSk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyAzRCBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2V0IHRoZSBwZXJzcGVjdGl2ZSBvZiAzRCB0cmFuc2Zvcm1zIG9uIHRoZSBjaGlsZHJlbiBvZiBhbiBlbGVtZW50OlxuLy9cbi8vICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUoIHBlcnNwZWN0aXZlIClcbi8vXG4vLyB3aGVyZSAncGVyc3BlY3RpdmUnIGlzIGEgdW5pdGxlc3MgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgZGVwdGggb2YgdGhlXG4vLyB6LWF4aXMuIFRoZSBoaWdoZXIgdGhlIHBlcnNwZWN0aXZlLCB0aGUgbW9yZSBleGFnZ2VyYXRlZCB0aGUgZm9yZXNob3J0ZW5pbmcuXG4vLyB2YWx1ZXMgZnJvbSA1MDAgdG8gMTAwMCBhcmUgbW9yZS1vci1sZXNzIFwibm9ybWFsXCIgLSBhIGdvb2Qgc3RhcnRpbmctcG9pbnQuXG5AbWl4aW4gcGVyc3BlY3RpdmUoJHApIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHBlcnNwZWN0aXZlLCAkcCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU2V0IHRoZSBvcmlnaW4gcG9zaXRpb24gZm9yIHRoZSBwZXJzcGVjdGl2ZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUtb3JpZ2luKG9yaWdpbi14IFtvcmlnaW4teV0pXG4vL1xuLy8gd2hlcmUgdGhlIHR3byBhcmd1bWVudHMgcmVwcmVzZW50IHgveSBjb29yZGluYXRlc1xuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkb3JpZ2luOiA1MCUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHBlcnNwZWN0aXZlLW9yaWdpbiwgJG9yaWdpbixcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHdoZXRoZXIgYSAzRCBvYmplY3RzIGNoaWxkcmVuIGFsc28gbGl2ZSBpbiB0aGUgZ2l2ZW4gM0Qgc3BhY2Vcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1zdHlsZSggWyBzdHlsZSBdIClcbi8vXG4vLyB3aGVyZSBgc3R5bGVgIGNhbiBiZSBlaXRoZXIgYGZsYXRgIG9yIGBwcmVzZXJ2ZS0zZGAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIGBmbGF0YCwgbWl4aW4gZGVmYXVsdHMgdG8gYHByZXNlcnZlLTNkYC5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB0aGUgdmlzaWJpbGl0eSBvZiBhbiBlbGVtZW50IHdoZW4gaXQncyBiYWNrIGlzIHR1cm5lZFxuLy9cbi8vICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KCBbIHZpc2liaWxpdHkgXSApXG4vL1xuLy8gd2hlcmUgYHZpc2liaWxpdHlgIGNhbiBiZSBlaXRoZXIgYHZpc2libGVgIG9yIGBoaWRkZW5gLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byB2aXNpYmxlLCBtaXhpbiBkZWZhdWx0cyB0byBoaWRkZW5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5OiBoaWRkZW4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNmb3JtIFBhcnRpYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGVzZSB3b3JrIHdlbGwgb24gdGhlaXIgb3duLCBidXQgdGhleSBkb24ndCBhZGQgdG8gZWFjaCBvdGhlciwgdGhleSBvdmVycmlkZS5cbi8vIFVzZSBhbG9uZyB3aXRoIHRyYW5zZm9ybSBwYXJhbWV0ZXIgbWl4aW5zIHRvIGFkanVzdCBvcmlnaW4sIHBlcnNwZWN0aXZlIGFuZCBzdHlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gU2NhbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBhbmQgeSBheGlzOlxuLy9cbi8vICAgICAgQGluY2x1ZGUgc2NhbGUoIFsgc2NhbGUteCwgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdzY2FsZS0nIGFyZ3VtZW50cyBhcmUgdW5pdGxlc3MgbXVsdGlwbGllcnMgb2YgdGhlIHggYW5kIHkgZGltZW5zaW9uc1xuLy8gYW5kIHBlcnNwZWN0aXZlLCB3aGljaCB3b3JrcyB0aGUgc2FtZSBhcyB0aGUgc3RhbmQtYWxvbmUgcGVyc3BlY3RpdmUgcHJvcGVydHkvbWl4aW5cbi8vIGJ1dCBhcHBsaWVzIHRvIHRoZSBpbmRpdmlkdWFsIGVsZW1lbnQgKG11bHRpcGxpZWQgd2l0aCBhbnkgcGFyZW50IHBlcnNwZWN0aXZlKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZShcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRzY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWCggWyBzY2FsZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVYKFxuICAkc2NhbGU6ICAgICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWCgkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWSggWyBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVZKFxuICAkc2NhbGU6ICAgICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWSgkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB6IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWiggWyBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVaKFxuICAkc2NhbGU6ICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWigkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBTY2FsZSBhbmQgb2JqZWN0IGFsb25nIGFsbCB0aHJlZSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZTNkKCBbIHNjYWxlLXgsIHNjYWxlLXksIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZTNkKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHNjYWxlLXo6ICAgICAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gUm90YXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB6IGF4aXMgICgyRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSAncm90YXRpb24nIGlzIGFuIGFuZ2xlIHNldCBpbiBkZWdyZWVzIChkZWcpIG9yIHJhZGlhbiAocmFkKSB1bml0c1xuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUoXG4gICRyb3RhdGU6ICAgICAgJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBBIGxvbmdjdXQgZm9yICdyb3RhdGUnIGluIGNhc2UgeW91IGZvcmdldCB0aGF0ICd6JyBpcyBpbXBsaWVkXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVooXG4gICRyb3RhdGU6ICAgICAgJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgcm90YXRlKCRyb3RhdGUsICRwZXJzcGVjdGl2ZSwgJG9ubHkzZCk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB4IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlWCggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVgoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWCgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVZKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVkoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIGFuIGFyYml0cmFyeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyB2ZWN0b3IteCwgdmVjdG9yLXksIHZlY3Rvci16LCByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vLyB3aGVyZSB0aGUgJ3ZlY3Rvci0nIGFyZ3VtZW50cyBhY2NlcHQgdW5pdGxlc3MgbnVtYmVycy5cbi8vIFRoZXNlIG51bWJlcnMgYXJlIG5vdCBpbXBvcnRhbnQgb24gdGhlaXIgb3duLCBidXQgaW4gcmVsYXRpb24gdG8gb25lIGFub3RoZXJcbi8vIGNyZWF0aW5nIGFuIGF4aXMgZnJvbSB5b3VyIHRyYW5zZm9ybS1vcmlnaW4sIGFsb25nIHRoZSBheGlzIG9mIFh4ID0gWXkgPSBaei5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlM2QoXG4gICR2ZWN0b3IteDogJGRlZmF1bHQtdmVjdG9yLXgsXG4gICR2ZWN0b3IteTogJGRlZmF1bHQtdmVjdG9yLXksXG4gICR2ZWN0b3ItejogJGRlZmF1bHQtdmVjdG9yLXosXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlM2QoJHZlY3Rvci14LCAkdmVjdG9yLXksICR2ZWN0b3IteiwgJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2xhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggb3IgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgdGhlICd0cmFuc2xhdGUtJyBhcmd1bWVudHMgYWNjZXB0IGFueSBkaXN0YW5jZSBpbiBwZXJjZW50YWdlcyBvciBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGUoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZSgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVgoXG4gICR0cmFucy14OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVgoJHRyYW5zLXgpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVZKFxuICAkdHJhbnMteTogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVZKCR0cmFucy15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB6IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWihcbiAgJHRyYW5zLXo6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWigkdHJhbnMteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4LCB5IGFuZCB6IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGUzZChcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHRyYW5zbGF0ZS16OiAkZGVmYXVsdC10cmFuc2xhdGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlM2QoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXksICR0cmFuc2xhdGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBTa2V3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2tldyBhbiBlbGVtZW50OlxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgc2tldy15LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2tldy0nIGFyZ3VtZW50cyBhY2NlcHQgY3NzIGFuZ2xlcyBpbiBkZWdyZWVzIChkZWcpIG9yIHJhZGlhbiAocmFkKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tldyhcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3KCRza2V3LXgsICRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB4IGF4aXpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdYKFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WCgkc2tldy14KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeSBheGlzXG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy15LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WShcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1koJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG5cbi8vIEZ1bGwgdHJhbnNmb3JtIG1peGluc1xuLy8gRm9yIHNldHRpbmdzIGFueSBjb21iaW5hdGlvbiBvZiB0cmFuc2Zvcm1zIGFzIGFyZ3VtZW50c1xuLy8gVGhlc2UgYXJlIGNvbXBsZXggYW5kIG5vdCBoaWdobHkgcmVjb21tZW5kZWQgZm9yIGRhaWx5IHVzZS4gVGhleSBhcmUgbWFpbmx5XG4vLyBoZXJlIGZvciBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IHB1cnBvc2VzLlxuLy9cbi8vICogdGhleSBpbmNsdWRlIG9yaWdpbiBhZGp1c3RtZW50c1xuLy8gKiBzY2FsZSB0YWtlcyBhIG11bHRpcGxpZXIgKHVuaXRsZXNzKSwgcm90YXRlIGFuZCBza2V3IHRha2UgZGVncmVlcyAoZGVnKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBjcmVhdGUtdHJhbnNmb3JtKFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkc2NhbGUteDogICAgIGZhbHNlLFxuICAkc2NhbGUteTogICAgIGZhbHNlLFxuICAkc2NhbGUtejogICAgIGZhbHNlLFxuICAkcm90YXRlLXg6ICAgIGZhbHNlLFxuICAkcm90YXRlLXk6ICAgIGZhbHNlLFxuICAkcm90YXRlLXo6ICAgIGZhbHNlLFxuICAkcm90YXRlM2Q6ICAgIGZhbHNlLFxuICAkdHJhbnMteDogICAgIGZhbHNlLFxuICAkdHJhbnMteTogICAgIGZhbHNlLFxuICAkdHJhbnMtejogICAgIGZhbHNlLFxuICAkc2tldy14OiAgICAgIGZhbHNlLFxuICAkc2tldy15OiAgICAgIGZhbHNlLFxuICAkb3JpZ2luLXg6ICAgIGZhbHNlLFxuICAkb3JpZ2luLXk6ICAgIGZhbHNlLFxuICAkb3JpZ2luLXo6ICAgIGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB1bnF1b3RlKFwiXCIpO1xuXG4gIC8vIHBlcnNwZWN0aXZlXG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgOyB9XG5cbiAgLy8gc2NhbGVcbiAgQGlmICRzY2FsZS14IGFuZCAkc2NhbGUteSB7XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTsgfVxuICAgIEBlbHNlIHsgJHRyYW5zOiAkdHJhbnMgc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHNjYWxlLXggeyAkdHJhbnM6ICR0cmFucyBzY2FsZVgoJHNjYWxlLXgpOyB9XG4gICAgQGlmICRzY2FsZS15IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVZKCRzY2FsZS15KTsgfVxuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlWigkc2NhbGUteik7IH1cbiAgfVxuXG4gIC8vIHJvdGF0ZVxuICBAaWYgJHJvdGF0ZS14IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWCgkcm90YXRlLXgpOyB9XG4gIEBpZiAkcm90YXRlLXkgeyAkdHJhbnM6ICR0cmFucyByb3RhdGVZKCRyb3RhdGUteSk7IH1cbiAgQGlmICRyb3RhdGUteiB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVooJHJvdGF0ZS16KTsgfVxuICBAaWYgJHJvdGF0ZTNkIHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlM2QoJHJvdGF0ZTNkKTsgfVxuXG4gIC8vIHRyYW5zbGF0ZVxuICBAaWYgJHRyYW5zLXggYW5kICR0cmFucy15IHtcbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUzZCgkdHJhbnMteCwgJHRyYW5zLXksICR0cmFucy16KTsgfVxuICAgIEBlbHNlIHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlKCR0cmFucy14LCAkdHJhbnMteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICR0cmFucy14IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWCgkdHJhbnMteCk7IH1cbiAgICBAaWYgJHRyYW5zLXkgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVZKCR0cmFucy15KTsgfVxuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVooJHRyYW5zLXopOyB9XG4gIH1cblxuICAvLyBza2V3XG4gIEBpZiAkc2tldy14IGFuZCAkc2tldy15IHsgJHRyYW5zOiAkdHJhbnMgc2tldygkc2tldy14LCAkc2tldy15KTsgfVxuICBAZWxzZSB7XG4gICAgQGlmICRza2V3LXggeyAkdHJhbnM6ICR0cmFucyBza2V3WCgkc2tldy14KTsgfVxuICAgIEBpZiAkc2tldy15IHsgJHRyYW5zOiAkdHJhbnMgc2tld1koJHNrZXcteSk7IH1cbiAgfVxuXG4gIC8vIGFwcGx5IGl0IVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKTtcbn1cblxuXG4vLyBBIHNpbXBsaWZpZWQgc2V0IG9mIG9wdGlvbnNcbi8vIGJhY2t3YXJkcy1jb21wYXRpYmxlIHdpdGggdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlICd0cmFuc2Zvcm0nIG1peGluXG5AbWl4aW4gc2ltcGxlLXRyYW5zZm9ybShcbiAgJHNjYWxlOiAgICBmYWxzZSxcbiAgJHJvdGF0ZTogICBmYWxzZSxcbiAgJHRyYW5zLXg6ICBmYWxzZSxcbiAgJHRyYW5zLXk6ICBmYWxzZSxcbiAgJHNrZXcteDogICBmYWxzZSxcbiAgJHNrZXcteTogICBmYWxzZSxcbiAgJG9yaWdpbi14OiBmYWxzZSxcbiAgJG9yaWdpbi15OiBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICAgZmFsc2UsXG4gICAgJHNjYWxlLCAkc2NhbGUsIGZhbHNlLFxuICAgIGZhbHNlLCBmYWxzZSwgJHJvdGF0ZSwgZmFsc2UsXG4gICAgJHRyYW5zLXgsICR0cmFucy15LCBmYWxzZSxcbiAgICAkc2tldy14LCAkc2tldy15LFxuICAgICRvcmlnaW4teCwgJG9yaWdpbi15LCBmYWxzZSxcbiAgICBmYWxzZVxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDU1MgVHJhbnNpdGlvbnNcbi8vIEN1cnJlbnRseSBvbmx5IHdvcmtzIGluIFdlYmtpdC5cbi8vXG4vLyAqIGV4cGVjdGVkIGluIENTUzMsIEZpcmVGb3ggMy42LzcgYW5kIE9wZXJhIFByZXN0byAyLjNcbi8vICogV2UnbGwgYmUgcHJlcGFyZWQuXG4vL1xuLy8gSW5jbHVkaW5nIHRoaXMgc3VibW9kdWxlIHNldHMgZm9sbG93aW5nIGRlZmF1bHRzIGZvciB0aGUgbWl4aW5zOlxuLy9cbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5IDogYWxsXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiA6IDFzXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiA6IGZhbHNlXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSAgICA6IGZhbHNlXG4vL1xuLy8gT3ZlcnJpZGUgdGhlbSBpZiB5b3UgbGlrZS4gVGltaW5nLWZ1bmN0aW9uIGFuZCBkZWxheSBhcmUgc2V0IHRvIGZhbHNlIGZvciBicm93c2VyIGRlZmF1bHRzIChlYXNlLCAwcykuXG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5OiBmYWxzZSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlczogdHJhbnNmb3JtLCB0cmFuc2Zvcm0tb3JpZ2luICFkZWZhdWx0O1xuXG4vLyBPbmUgb3IgbW9yZSBwcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb25cbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogYWxzbyBhY2NlcHRzIFwiYWxsXCIgb3IgXCJub25lXCJcblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRwcm9wZXJ0eS0yIDogZmFsc2UsXG4gICRwcm9wZXJ0eS0zIDogZmFsc2UsXG4gICRwcm9wZXJ0eS00IDogZmFsc2UsXG4gICRwcm9wZXJ0eS01IDogZmFsc2UsXG4gICRwcm9wZXJ0eS02IDogZmFsc2UsXG4gICRwcm9wZXJ0eS03IDogZmFsc2UsXG4gICRwcm9wZXJ0eS04IDogZmFsc2UsXG4gICRwcm9wZXJ0eS05IDogZmFsc2UsXG4gICRwcm9wZXJ0eS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHktMSkgPT0gc3RyaW5nIHsgJHByb3BlcnR5LTE6IHVucXVvdGUoJHByb3BlcnR5LTEpOyB9XG4gICRwcm9wZXJ0aWVzOiBjb21wYWN0KCRwcm9wZXJ0eS0xLCAkcHJvcGVydHktMiwgJHByb3BlcnR5LTMsICRwcm9wZXJ0eS00LCAkcHJvcGVydHktNSwgJHByb3BlcnR5LTYsICRwcm9wZXJ0eS03LCAkcHJvcGVydHktOCwgJHByb3BlcnR5LTksICRwcm9wZXJ0eS0xMCk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbW96LCAgICAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW8sICAgICAgJHByb3BlcnRpZXMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICRwcm9wZXJ0aWVzO1xufVxuXG4vLyBPbmUgb3IgbW9yZSBkdXJhdGlvbnMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkdXJhdGlvbnMgd2lsbCBhZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkZHVyYXRpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGR1cmF0aW9uLTIgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTMgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTQgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTUgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTYgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTcgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTggOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTkgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkdXJhdGlvbi0xKSA9PSBzdHJpbmcgeyAkZHVyYXRpb24tMTogdW5xdW90ZSgkZHVyYXRpb24tMSk7IH1cbiAgJGR1cmF0aW9uczogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0aW1pbmcgZnVuY3Rpb25zXG4vL1xuLy8gKiBbIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcih4MSwgeTEsIHgyLCB5MildXG4vLyAqIEZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogVGhlc2UgZnVuY3Rpb25zIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRmdW5jdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZnVuY3Rpb24tMiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMTA6IGZhbHNlXG4pIHtcbiAgJGZ1bmN0aW9uLTE6IHVucXVvdGUoJGZ1bmN0aW9uLTEpO1xuICAkZnVuY3Rpb25zOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0cmFuc2l0aW9uLWRlbGF5cyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGRlbGF5cyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5LFxuICAkZGVsYXktMiA6IGZhbHNlLFxuICAkZGVsYXktMyA6IGZhbHNlLFxuICAkZGVsYXktNCA6IGZhbHNlLFxuICAkZGVsYXktNSA6IGZhbHNlLFxuICAkZGVsYXktNiA6IGZhbHNlLFxuICAkZGVsYXktNyA6IGZhbHNlLFxuICAkZGVsYXktOCA6IGZhbHNlLFxuICAkZGVsYXktOSA6IGZhbHNlLFxuICAkZGVsYXktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGRlbGF5LTEpID09IHN0cmluZyB7ICRkZWxheS0xOiB1bnF1b3RlKCRkZWxheS0xKTsgfVxuICAkZGVsYXlzOiBjb21wYWN0KCRkZWxheS0xLCAkZGVsYXktMiwgJGRlbGF5LTMsICRkZWxheS00LCAkZGVsYXktNSwgJGRlbGF5LTYsICRkZWxheS03LCAkZGVsYXktOCwgJGRlbGF5LTksICRkZWxheS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXlzLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFRyYW5zaXRpb24gYWxsLWluLW9uZSBzaG9ydGhhbmRcblxuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKFxuICAkcHJvcGVydHk6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRkdXJhdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGZ1bmN0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZGVsYXk6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXlcbikge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbXBhY3QoJHByb3BlcnR5ICRkdXJhdGlvbiAkZnVuY3Rpb24gJGRlbGF5KSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKFxuICAkdHJhbnNpdGlvbi0xIDogZGVmYXVsdCxcbiAgJHRyYW5zaXRpb24tMiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0zIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTQgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi02IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTcgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi05IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkdHJhbnNpdGlvbi0xID09IGRlZmF1bHQge1xuICAgICR0cmFuc2l0aW9uLTEgOiBjb21wYWN0KCRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkpO1xuICB9XG4gICR0cmFuc2l0aW9uczogZmFsc2U7XG4gIEBpZiB0eXBlLW9mKCR0cmFuc2l0aW9uLTEpID09IGxpc3QgYW5kIHR5cGUtb2YobnRoKCR0cmFuc2l0aW9uLTEsMSkpID09IGxpc3Qge1xuICAgICR0cmFuc2l0aW9uczogam9pbigkdHJhbnNpdGlvbi0xLCBjb21wYWN0KCR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKSwgY29tbWEpO1xuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNpdGlvbnMgOiBjb21wYWN0KCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKTtcbiAgfVxuICAkZGVsYXlzOiBjb21tYS1saXN0KCk7XG4gICRoYXMtZGVsYXlzOiBmYWxzZTtcbiAgJHdlYmtpdC12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkbW96LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRvLXZhbHVlOiBjb21tYS1saXN0KCk7XG5cbiAgLy8gVGhpcyBibG9jayBjYW4gYmUgbWFkZSBjb25zaWRlcmFibHkgc2ltcGxlciBhdCB0aGUgcG9pbnQgaW4gdGltZSB0aGF0XG4gIC8vIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRlYWwgd2l0aCB0aGUgZGlmZmVyZW5jZXMgaW4gaG93IGRlbGF5cyBhcmUgdHJlYXRlZC5cbiAgQGVhY2ggJHRyYW5zaXRpb24gaW4gJHRyYW5zaXRpb25zIHtcbiAgICAvLyBFeHRyYWN0IHRoZSB2YWx1ZXMgZnJvbSB0aGUgbGlzdFxuICAgIC8vICh0aGlzIHdvdWxkIGJlIGNsZWFuZXIgaWYgbnRoIHRvb2sgYSAzcmQgYXJndW1lbnQgdG8gcHJvdmlkZSBhIGRlZmF1bHQgdmFsdWUpLlxuICAgICRwcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uLCAxKTtcbiAgICAkZHVyYXRpb246IGZhbHNlO1xuICAgICR0aW1pbmctZnVuY3Rpb246IGZhbHNlO1xuICAgICRkZWxheTogZmFsc2U7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHsgJGR1cmF0aW9uOiAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCAyKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMiB7ICR0aW1pbmctZnVuY3Rpb246IG50aCgkdHJhbnNpdGlvbiwgMyk7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDMgeyAkZGVsYXk6ICAgICAgICAgICBudGgoJHRyYW5zaXRpb24sIDQpOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gSWYgYSBkZWxheSBpcyBwcm92aWRlZCB3aXRob3V0IGEgdGltaW5nIGZ1bmN0aW9uXG4gICAgQGlmIGlzLXRpbWUoJHRpbWluZy1mdW5jdGlvbikgYW5kIG5vdCAkZGVsYXkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pKTtcbiAgICAgICAkbW96LXZhbHVlOiBhcHBlbmQoICAgJG1vei12YWx1ZSwgY29tcGFjdChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgICAgLW8sICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYXBwZWFyYW5jZSBmb3IgTW96aWxsYSwgV2Via2l0IGFuZCBwb3NzaWJseSB0aGUgZnV0dXJlLlxuLy8gVGhlIGFwcGVhcmFuY2UgcHJvcGVydHkgaXMgY3VycmVudGx5IG5vdCBwcmVzZW50IGluIGFueSBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbi5cbi8vXG4vLyBUaGVyZSBpcyBubyBvZmZpY2lhbCBsaXN0IG9mIGFjY2VwdGVkIHZhbHVlcywgYnV0IHlvdSBtaWdodCBjaGVjayB0aGVzZSBzb3VyY2U6XG4vLyAgIE1vemlsbGEgOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9DU1MvLW1vei1hcHBlYXJhbmNlXG4vLyAgIFdlYmtpdCAgOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2Via2l0LW1pcnJvci9zb3VyY2UvYnJvd3NlL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluP3NwZWM9c3ZuZjFhZWE1NTlkY2QwMjVhODk0NmFhN2RhNmU0ZTgzMDZmNWMxYjYwNCZyPTYzYzdkMWFmNDQ0MzBiMzE0MjMzZmVhMzQyYzNkZGIyYTA1MmUzNjVcbi8vICAgKHNlYXJjaCBmb3IgJ2FwcGVhcmFuY2UnIHdpdGhpbiB0aGUgcGFnZSlcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwKSB7XG4gICRhcDogdW5xdW90ZSgkYXApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYXBwZWFyYW5jZSwgJGFwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gV2Via2l0LCBJRTEwIGFuZCBmdXR1cmUgc3VwcG9ydCBmb3IgW0NTUyBSZWdpb25zXShodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lvbnMvKVxuLy9cbi8vICR0YXJnZXQgaXMgYSB2YWx1ZSB5b3UgdXNlIHRvIGxpbmsgdHdvIHJlZ2lvbnMgb2YgeW91ciBjc3MuIEdpdmUgdGhlIHNvdXJjZSBvZiB5b3VyIGNvbnRlbnQgdGhlIGZsb3ctaW50byBwcm9wZXJ0eSwgYW5kIGdpdmUgeW91ciB0YXJnZXQgY29udGFpbmVyIHRoZSBmbG93LWZyb20gcHJvcGVydHkuXG4vL1xuLy8gRm9yIGEgdmlzdWFsIGV4cGxhbmF0aW9uLCBzZWUgdGhlIGRpYWdyYW1zIGF0IENocmlzIENveWllcidzXG4vLyBbQ1NTLVRyaWNrc10oaHR0cDovL2Nzcy10cmlja3MuY29tL2NvbnRlbnQtZm9sZGluZy8pXG5cbkBtaXhpbiBmbG93LWludG8oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1pbnRvLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59XG5cbkBtaXhpbiBmbG93LWZyb20oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1mcm9tLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBNaXhpbnMgdG8gc3VwcG9ydCBzcGVjaWZpYyBDU1MgVGV4dCBMZXZlbCAzIGVsZW1lbnRzXG4vL1xuLy9cbi8vXG4vLyBNaXhpbiBmb3Igd29yZC1icmVhayBwcm9wZXJ0aWVzXG4vLyBodHRwOi8vd3d3LnczLm9yZy9jc3MzLXRleHQvI3dvcmQtYnJlYWtcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IG5vcm1hbCwga2VlcC1hbGwsIGJyZWFrLWFsbFxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgICBwLndvcmRCcmVhayB7QGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO31cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBwLndvcmRCcmVhayB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDt9XG4vL1xuQG1peGluIHdvcmQtYnJlYWsoJHZhbHVlOiBub3JtYWwpe1xuICBAaWYgJHZhbHVlID09IGJyZWFrLWFsbCB7XG4gICAgLy9Nb3N0IGJyb3dzZXJzIGhhbmRsZSB0aGUgYnJlYWstYWxsIGNhc2UgdGhlIHNhbWUuLi5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgICAvL1dlYmtpdCBoYW5kbGVzIGJyZWFrLWFsbCBkaWZmZXJlbnRseS4uLiBhcyBicmVhay13b3JkXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssIGJyZWFrLXdvcmQsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIE1peGluIGZvciB0aGUgaHlwaGVucyBwcm9wZXJ0eVxuLy9cbi8vIFczQyBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRleHQvI2h5cGhlbnNcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGF1dG8sIG1hbnVhbCwgbm9uZVxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgcCB7XG4vLyAgICBAaW5jbHVkZSBoeXBoZW5zKGF1dG8pO31cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICBwIHtcbi8vICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5zKCR2YWx1ZTogYXV0byl7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChoeXBoZW5zLCAkdmFsdWUsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3IgeC1icm93c2VyIGh5cGhlbmF0aW9uIGJhc2VkIG9uIEBhdWNoZW5iZXJnJ3MgcG9zdDpcbi8vIFJlbW92ZXMgdGhlIG5lZWQgZm9yIHRoZSA8d2JyLz4gSFRNTCB0YWdcbi8vIGh0dHA6Ly9ibG9nLmtlbm5ldGguaW8vYmxvZy8yMDEyLzAzLzA0L3dvcmQtd3JhcHBpbmctaHlwZXJuYXRpb24tdXNpbmctY3NzL1xuLy9cbi8vICBFeGFtcGxlOlxuLy8gIGRpdiB7QGluY2x1ZGUgaHlwaGVuYXRpb247fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBkaXYge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4vLyAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVuYXRpb257XG4gIEBpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTtcbiAgQGluY2x1ZGUgaHlwaGVucztcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vXHJcblxyXG4vLyBUYWJsZSBvZiBDb250ZW50c1xyXG4vLyBGb3VuZGF0aW9uIFNldHRpbmdzXHJcbi8vXHJcbi8vIGEuIEJhc2VcclxuLy8gYi4gR3JpZFxyXG4vLyBjLiBHbG9iYWxcclxuLy8gZC4gTWVkaWEgUXVlcnkgUmFuZ2VzXHJcbi8vIGUuIFR5cG9ncmFwaHlcclxuLy8gMDEuIEFjY29yZGlvblxyXG4vLyAwMi4gQWxlcnQgQm94ZXNcclxuLy8gMDMuIEJsb2NrIEdyaWRcclxuLy8gMDQuIEJyZWFkY3J1bWJzXHJcbi8vIDA1LiBCdXR0b25zXHJcbi8vIDA2LiBCdXR0b24gR3JvdXBzXHJcbi8vIDA3LiBDbGVhcmluZ1xyXG4vLyAwOC4gRHJvcGRvd25cclxuLy8gMDkuIERyb3Bkb3duIEJ1dHRvbnNcclxuLy8gMTAuIEZsZXggVmlkZW9cclxuLy8gMTEuIEZvcm1zXHJcbi8vIDEyLiBJY29uIEJhclxyXG4vLyAxMy4gSW5saW5lIExpc3RzXHJcbi8vIDE0LiBKb3lyaWRlXHJcbi8vIDE1LiBLZXlzdHJva2VzXHJcbi8vIDE2LiBMYWJlbHNcclxuLy8gMTcuIE1hZ2VsbGFuXHJcbi8vIDE4LiBPZmYtY2FudmFzXHJcbi8vIDE5LiBPcmJpdFxyXG4vLyAyMC4gUGFnaW5hdGlvblxyXG4vLyAyMS4gUGFuZWxzXHJcbi8vIDIyLiBQcmljaW5nIFRhYmxlc1xyXG4vLyAyMy4gUHJvZ3Jlc3MgQmFyXHJcbi8vIDI0LiBSYW5nZSBTbGlkZXJcclxuLy8gMjUuIFJldmVhbFxyXG4vLyAyNi4gU2lkZSBOYXZcclxuLy8gMjcuIFNwbGl0IEJ1dHRvbnNcclxuLy8gMjguIFN1YiBOYXZcclxuLy8gMjkuIFN3aXRjaFxyXG4vLyAzMC4gVGFibGVzXHJcbi8vIDMxLiBUYWJzXHJcbi8vIDMyLiBUaHVtYm5haWxzXHJcbi8vIDMzLiBUb29sdGlwc1xyXG4vLyAzNC4gVG9wIEJhclxyXG4vLyAzNi4gVmlzaWJpbGl0eSBDbGFzc2VzXHJcblxyXG4vLyBhLiBCYXNlXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cclxuLy8gJHJlbS1iYXNlOiAxNnB4O1xyXG5cclxuLy8gQWxsb3dzIHRoZSB1c2Ugb2YgcmVtLWNhbGMoKSBvciBsb3dlci1ib3VuZCgpIGluIHlvdXIgc2V0dGluZ3NcclxuQGltcG9ydCBcImZvdW5kYXRpb24vZnVuY3Rpb25zXCI7XHJcblxyXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcclxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cclxuXHJcbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cclxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcclxuLy8gc2V0ICRyZW0tYmFzZSB0byAkYmFzZS1mb250LXNpemUgYW5kIG1ha2Ugc3VyZSAkYmFzZS1mb250LXNpemUgaXMgYSBweCB2YWx1ZS5cclxuLy8gJGJhc2UtZm9udC1zaXplOiAxMDAlO1xyXG5cclxuLy8gVGhlICRiYXNlLWZvbnQtc2l6ZSBpcyAxMDAlIHdoaWxlICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDE1MCVcclxuLy8gJGJhc2UtbGluZS1oZWlnaHQ6IDE1MCU7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IENTUyBjbGFzc2VzIGNvbWUgdGhyb3VnaCBpbiB0aGUgZ2VtIGZpbGVzLlxyXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWU7XHJcbi8vICRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZTtcclxuJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gYi4gR3JpZFxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG4vLyAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlczogZmFsc2U7XHJcblxyXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMTcwKTtcclxuLy8gJHRvdGFsLWNvbHVtbnM6IDEyO1xyXG4vLyAkY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApO1xyXG5cclxuLy8gYy4gR2xvYmFsXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcclxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XHJcbi8vICRwcmltYXJ5LWNvbG9yOiAjMDA4Q0JBO1xyXG4vLyAkc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3O1xyXG4vLyAkYWxlcnQtY29sb3I6ICNmMDQxMjQ7XHJcbi8vICRzdWNjZXNzLWNvbG9yOiAjNDNBQzZBO1xyXG4vLyAkd2FybmluZy1jb2xvcjogI2YwOGEyNDtcclxuLy8gJGluZm8tY29sb3I6ICNhMGQzZTg7XHJcblxyXG4vLyRwcmltYXJ5LWNvbG9yOiAjYmMwZTgzO1xyXG5cclxuJHByaW1hcnktY29sb3I6ICM5MzdlNzQ7XHJcbiRzZWNvbmRhcnktY29sb3I6ICNmMWU5ZGQ7XHJcbiR0aGlyZC1jb2xvcjojMzUzNTM1O1xyXG5cclxuJGZvdXJ0aC1jb2xvcjojYjIwODM4O1xyXG4kZmlmdGgtY29sb3I6I2Q5MjMyZjtcclxuJHNpeHRoLWNvbG9yOiAjNGJhN2FkO1xyXG4kc2V2ZW50aC1jb2xvcjogI2Y1ZjVmNTtcclxuJGVpZ2h0LWNvbG9yOiM4YjgwN2I7XHJcblxyXG4vLyAkYWxlcnQtY29sb3I6ICRzaXh0aC1jb2xvcjtcclxuLy8gJHN1Y2Nlc3MtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuLy8gJHdhcm5pbmctY29sb3I6ICRlaWdodC1jb2xvcjtcclxuLy8gJGluZm8tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuXHJcblxyXG5cclxuLy8gJHdoaXRlICAgICAgIDogI0ZGRkZGRjtcclxuLy8gJGdob3N0ICAgICAgIDogI0ZBRkFGQTtcclxuLy8gJHNub3cgICAgICAgIDogI0Y5RjlGOTtcclxuLy8gJHZhcG9yICAgICAgIDogI0Y2RjZGNjtcclxuLy8gJHdoaXRlLXNtb2tlIDogI0Y1RjVGNTtcclxuLy8gJHNpbHZlciAgICAgIDogI0VGRUZFRjtcclxuLy8gJHNtb2tlICAgICAgIDogI0VFRUVFRTtcclxuLy8gJGdhaW5zYm9ybyAgIDogI0RERERERDtcclxuLy8gJGlyb24gICAgICAgIDogI0NDQ0NDQztcclxuLy8gJGJhc2UgICAgICAgIDogI0FBQUFBQTtcclxuLy8gJGFsdW1pbnVtICAgIDogIzk5OTk5OTtcclxuLy8gJGp1bWJvICAgICAgIDogIzg4ODg4ODtcclxuLy8gJG1vbnNvb24gICAgIDogIzc3Nzc3NztcclxuLy8gJHN0ZWVsICAgICAgIDogIzY2NjY2NjtcclxuLy8gJGNoYXJjb2FsICAgIDogIzU1NTU1NTtcclxuLy8gJHR1YXRhcmEgICAgIDogIzQ0NDQ0NDtcclxuLy8gJG9pbCAgICAgICAgIDogIzMzMzMzMztcclxuLy8gJGpldCAgICAgICAgIDogIzIyMjIyMjtcclxuLy8gJGJsYWNrICAgICAgIDogIzAwMDAwMDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xyXG4vLyAkYm9keS1iZzogJHdoaXRlO1xyXG4vLyAkYm9keS1mb250LWNvbG9yOiAkamV0O1xyXG4vLyAkYm9keS1mb250LWNvbG9yOiAjN2M3ODc4O1xyXG4vLyAkYm9keS1mb250LWZhbWlseTogJ2JlYmFzcmVndWxhcicsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbi8vICRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkYm9keS1mb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXHJcbi8vICRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xyXG4vLyAkdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuLy8gJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XHJcbi8vICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xyXG4vLyAkbGFzdC1jaGlsZC1mbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cclxuJGdsb2JhbC1yYWRpdXM6IDBweDtcclxuLy8gJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHg7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxyXG4vLyAkc2hpbnktZWRnZS1zaXplOiAwIDFweCAwO1xyXG4vLyAkc2hpbnktZWRnZS1jb2xvcjogcmdiYSgkd2hpdGUsIC41KTtcclxuLy8gJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCRibGFjaywgLjIpO1xyXG5cclxuLy8gZC4gTWVkaWEgUXVlcnkgUmFuZ2VzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRzbWFsbC1yYW5nZTogKDBlbSwgNDBlbSk7XHJcbiRtZWRpdW0tcmFuZ2U6ICg0MC4wNjNlbSwgNjRlbSk7XHJcbi8vICRsYXJnZS1yYW5nZTogKDY0LjA2M2VtLCA5MGVtKTtcclxuLy8gJHhsYXJnZS1yYW5nZTogKDkwLjA2M2VtLCAxMjBlbSk7XHJcbi8vICR4eGxhcmdlLXJhbmdlOiAoMTIwLjA2M2VtLCA5OTk5OTk5OWVtKTtcclxuXHJcbiRzY3JlZW46IFwib25seSBzY3JlZW5cIjtcclxuXHJcbi8vICRsYW5kc2NhcGU6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCI7XHJcbi8vICRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiO1xyXG5cclxuLy8gJHNtYWxsLXVwOiAkc2NyZWVuO1xyXG4vLyAkc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiO1xyXG5cclxuLy8gJG1lZGl1bS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiO1xyXG4vLyAkbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XHJcbiRtZWRpdW0tZG93bjogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiO1xyXG4vLyAkbGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiO1xyXG4vLyAkbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XHJcblxyXG4vLyAkeGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCI7XHJcbi8vICR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcclxuXHJcbi8vICR4eGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiO1xyXG4vLyAkeHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XHJcblxyXG4vLyBMZWdhY3lcclxuLy8gJHNtYWxsOiAkbWVkaXVtLXVwO1xyXG4vLyAkbWVkaXVtOiAkbWVkaXVtLXVwO1xyXG4vLyAkbGFyZ2U6ICRsYXJnZS11cDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIGFzIGN1cnNvcnMgdmFsdWVzIGZvciBlbmFibGluZyB0aGUgb3B0aW9uIG9mIGhhdmluZyBjdXN0b20gY3Vyc29ycyBpbiB0aGUgd2hvbGUgc2l0ZSdzIHN0eWxlc2hlZXRcclxuLy8gJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpcjtcclxuLy8gJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0O1xyXG4vLyAkY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXI7XHJcbi8vICRjdXJzb3ItaGVscC12YWx1ZTogaGVscDtcclxuLy8gJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0O1xyXG5cclxuLy8gZS4gVHlwb2dyYXBoeVxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXHJcbi8vICRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAncm9ib3RvcmVndWxhcicsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbi8vICRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyAkaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQ7XHJcbi8vICRoZWFkZXItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNDtcclxuLy8gJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcclxuLy8gJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbTtcclxuLy8gJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcclxuJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xyXG4kaDItZm9udC1zaXplOiByZW0tY2FsYygyNyk7XHJcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDIxKTtcclxuJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4kaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiRoNi1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuLyogJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xyXG4kaDQtZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuJGg2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyAqL1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcclxuLy8gJGgxLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygwKSAhZGVmYXVsdDtcclxuLy8gJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygwKSAhZGVmYXVsdDtcclxuLy8gJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuLy8gJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuLy8gJGg1LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xyXG4vLyAkaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXHJcbi8vICRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNDtcclxuLy8gJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XHJcbi8vICRzdWJoZWFkZXItZm9udC1jb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuLy8gJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcclxuLy8gJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbTtcclxuXHJcbi8vIEEgZ2VuZXJhbCA8c21hbGw+IHN0eWxpbmdcclxuLy8gJHNtYWxsLWZvbnQtc2l6ZTogNjAlO1xyXG4vLyAkc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHBhcmFncmFwaHNcclxuJHBhcmFncmFwaC1mb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4vLyAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkcGFyYWdyYXBoLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAxLjM7XHJcbi8vICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0OiAxLjM1O1xyXG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYztcclxuLy8gJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXHJcbi8vICRjb2RlLWNvbG9yOiAkb2lsO1xyXG4vLyAkY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbi8vICRjb2RlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpO1xyXG4vLyAkY29kZS1ib3JkZXItc2l6ZTogMXB4O1xyXG4vLyAkY29kZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xyXG4vLyAkY29kZS1wYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYygxKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXHJcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjogdW5kZXJsaW5lO1xyXG4vLyAkYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XHJcbi8vICRoci1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJGhyLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRoci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XHJcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xyXG4vLyAkbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcclxuLy8gJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcclxuLy8gJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XHJcbi8vICRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuLy8gJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbi8vICRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW07XHJcbi8vICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbTtcclxuLy8gJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwO1xyXG4vLyAkbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCk7XHJcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtO1xyXG4vLyAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xyXG4vLyAkYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XHJcbi8vICRibG9ja3F1b3RlLWZvbnQtY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xyXG4vLyAkYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMCk7XHJcbi8vICRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm87XHJcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpO1xyXG4vLyAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcclxuXHJcbi8vIEFjcm9ueW0gc3R5bGVzXHJcbi8vICRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXHJcbi8vICRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMik7XHJcbi8vICRtaWNyb2Zvcm1hdC1tYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXHJcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcclxuLy8gJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xyXG4vLyAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xyXG4vLyAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nOiByZW0tY2FsYygwIDEpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXHJcbi8vICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuLy8gMDEuIEFjY29yZGlvblxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xyXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIDtcclxuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSk7XHJcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKTtcclxuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQ7XHJcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHJcbi8vICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAkY29sdW1uLWd1dHRlci8yO1xyXG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4vLyAwMi4gQWxlcnQgQm94ZXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXHJcbi8vICRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xyXG4vLyAkYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3A7XHJcbi8vICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApO1xyXG4vLyAkYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGUuXHJcbi8vICRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4vLyAkYWxlcnQtZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgZm9yIGNsb3NlIGhvdmVyIGVmZmVjdC5cclxuLy8gJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXHJcbi8vICRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRhbGVydC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uc1xyXG4vLyAkYWxlcnQtY2xvc2UtY29sb3I6ICRvaWw7XHJcbi8vICRhbGVydC1jbG9zZS10b3A6IDUwJTtcclxuLy8gJGFsZXJ0LWNsb3NlLXBvc2l0aW9uOiByZW0tY2FsYyg0KTtcclxuLy8gJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eTogMC4zO1xyXG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogMC41O1xyXG4vLyAkYWxlcnQtY2xvc2UtcGFkZGluZzogOXB4IDZweCA0cHg7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcclxuLy8gJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRyYW5zaXRpb24gZWZmZWN0c1xyXG4vLyAkYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMzAwbXM7XHJcbi8vICRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xyXG5cclxuLy8gMDMuIEJsb2NrIEdyaWRcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuLy8gJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYmxvY2sgZ3JpZCBlbGVtZW50cyBwZXIgcm93XHJcbi8vICRibG9jay1ncmlkLWVsZW1lbnRzOiAxMjtcclxuLy8gJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCk7XHJcbi8vICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlO1xyXG5cclxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXHJcbi8vICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWU7XHJcblxyXG4vLyAwNC4gQnJlYWRjcnVtYnNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXHJcbi8vICRjcnVtYi1iZzogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNTUlKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cclxuLy8gJGNydW1iLXBhZGRpbmc6IHJlbS1jYWxjKDkgMTQgOSk7XHJcbi8vICRjcnVtYi1zaWRlLXBhZGRpbmc6IHJlbS1jYWxjKDEyKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXHJcbi8vICRjcnVtYi1mdW5jdGlvbi1mYWN0b3I6IC0xMCU7XHJcbi8vICRjcnVtYi1ib3JkZXItc2l6ZTogMXB4O1xyXG4vLyAkY3J1bWItYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJGNydW1iLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNydW1iLWJnLCAkbGlnaHRuZXNzOiAkY3J1bWItZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxyXG4vLyAkY3J1bWItZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbi8vICRjcnVtYi1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJG9pbDtcclxuLy8gJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU6ICRhbHVtaW51bTtcclxuLy8gJGNydW1iLWZvbnQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vICRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmU7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1ic1xyXG4vLyAkY3J1bWItc2xhc2gtY29sb3I6ICRiYXNlO1xyXG4vLyAkY3J1bWItc2xhc2g6IFwiL1wiO1xyXG5cclxuLy8gMDUuIEJ1dHRvbnNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMuXHJcbi8vICRidXR0b24tdG55OiByZW0tY2FsYygxMCk7XHJcbi8vICRidXR0b24tc21sOiByZW0tY2FsYygxNCk7XHJcbi8vICRidXR0b24tbWVkOiByZW0tY2FsYyg4KTtcclxuLy8gJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE2KTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXHJcbi8vICRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAkYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cclxuLy8gJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbi8vICRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsO1xyXG4vLyAkYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSk7XHJcbi8vICRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKTtcclxuLy8gJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpO1xyXG4vLyAkYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCk7XHJcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4vLyAkYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlcjtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cclxuLy8gJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCU7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIGFuZCBob3ZlciBzdHlsZXMuXHJcbi8vICRidXR0b24tYm9yZGVyLXdpZHRoOiAwcHg7XHJcbi8vICRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJGJ1dHRvbi1iZy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICRidXR0b24tYmctaG92ZXI6ICR0aGlyZC1jb2xvcjtcclxuLy8gJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlcjtcclxuLy8gJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlcjtcclxuLy8gJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXI7XHJcbi8vICRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlcjtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxyXG4vLyAkYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vICRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cclxuLy8gJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAwLjc7XHJcbi8vICRidXR0b24tZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XHJcblxyXG4vLyAwNi4gQnV0dG9uIEdyb3Vwc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBTZXRzIHRoZSBtYXJnaW4gZm9yIHRoZSByaWdodCBzaWRlIGJ5IGRlZmF1bHQsIGFuZCB0aGUgbGVmdCBtYXJnaW4gaWYgcmlnaHQtdG8tbGVmdCBkaXJlY3Rpb24gaXMgdXNlZFxyXG4vLyAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU6IHJlbS1jYWxjKDEwKTtcclxuLy8gJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweDtcclxuXHJcbi8vIDA3LiBDbGVhcmluZ1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3JzIGZvciBwYXJ0cyBvZiBDbGVhcmluZy5cclxuLy8gJGNsZWFyaW5nLWJnOiAkb2lsO1xyXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnO1xyXG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtYmc6IHJnYmEoNTEsNTEsNTEsMC44KTtcclxuLy8gJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cclxuLy8gJGNsZWFyaW5nLWNsb3NlLWNvbG9yOiAkaXJvbjtcclxuLy8gJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHg7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xyXG4vLyAkY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweDtcclxuLy8gJGNsZWFyaW5nLWFycm93LWNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3I7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcclxuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjogJGlyb247XHJcbi8vICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogMC44NzVlbTtcclxuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSB0aGUgaW1hZ2UgYW5kIGNhcm91c2VsIGhlaWdodCBhbmQgc3R5bGVcclxuLy8gJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSU7XHJcbi8vICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4O1xyXG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg6IDEyMHB4O1xyXG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7XHJcblxyXG4vLyAwOC4gRHJvcGRvd25cclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXHJcbi8vICRmLWRyb3Bkb3duLW1heC13aWR0aDogMjAwcHg7XHJcbi8vICRmLWRyb3Bkb3duLWhlaWdodDogYXV0bztcclxuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcclxuXHJcbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxyXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XHJcblxyXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxyXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcclxuXHJcbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cclxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xyXG5cclxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXHJcbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXHJcbi8vICRmLWRyb3Bkb3duLWJnOiAkd2hpdGU7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cclxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxyXG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHg7XHJcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGU7XHJcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cclxuLy8gJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZTtcclxuLy8gJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsO1xyXG4vLyAkZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuLy8gJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nOiByZW0tY2FsYyg1LCAxMCk7XHJcbi8vICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XHJcbi8vICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZSAgO1xyXG4vLyAkZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDA7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdHlsZXMgZm9yIHdoZW4gdGhlIGRyb3Bkb3duIGhhcyBjdXN0b20gY29udGVudC5cclxuLy8gJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcblxyXG4vLyBEZWZhdWx0IHJhZGl1cyBmb3IgZHJvcGRvd24uXHJcbi8vICRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG5cclxuLy8gMDkuIERyb3Bkb3duIEJ1dHRvbnNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgY29sb3Igb2YgdGhlIHBpcCBpbiBkcm9wZG93biBidXR0b25zXHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGU7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbDtcclxuXHJcbi8vICRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNik7XHJcbi8vICRidXR0b24tcGlwLXNtbDogcmVtLWNhbGMoNyk7XHJcbi8vICRidXR0b24tcGlwLW1lZDogcmVtLWNhbGMoOSk7XHJcbi8vICRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3O1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55O1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDM7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6IC0kYnV0dG9uLXBpcC10bnkgLyAyICsgcmVtLWNhbGMoMSk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3O1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDM7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6IC0kYnV0dG9uLXBpcC1zbWwgLyAyICsgcmVtLWNhbGMoMSk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNiArIHJlbS1jYWxjKDMpO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41O1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkOiAtJGJ1dHRvbi1waXAtbWVkIC8gMiArIHJlbS1jYWxjKDIpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxhcmdlIGRyb3Bkb3duIGJ1dHRvbnNcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNik7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZzogJGJ1dHRvbi1waXAtbHJnICogMi41O1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAtJGJ1dHRvbi1waXAtbHJnIC8gMiArIHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMTAuIEZsZXggVmlkZW9cclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xyXG4vLyAkZmxleC12aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xyXG4vLyAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSU7XHJcbi8vICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xyXG4vLyAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOiA1Ni4zNCU7XHJcblxyXG4vLyAxMS4gRm9ybXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xyXG4vLyAkZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxMik7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xyXG4vLyAkZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyO1xyXG4vLyAkZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuLy8gJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjU7XHJcbi8vICRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMzAlKTtcclxuLy8gJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuLy8gJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4vLyAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxOCk7XHJcbi8vICRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuLy8gJGlucHV0LWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbi8vICRpbnB1dC1iZy1jb2xvcjogI0ZGRjtcclxuXHJcblxyXG4vLyAkaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKTtcclxuLy8kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpO1xyXG4vLyAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpO1xyXG4vLyRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyRpbnB1dC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vICRpbnB1dC1kaXNhYmxlZC1iZzogJGdhaW5zYm9ybztcclxuLy8gJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG4vLyAkaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcclxuJGlucHV0LWJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cclxuLy8gJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcclxuLy8gJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuLy8gJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cclxuLy8gJGxlZ2VuZC1iZzogJHdoaXRlO1xyXG4vLyAkbGVnZW5kLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBwcmVmaXggYW5kIHBvc3RmaXggaW5wdXQgZWxlbWVudHNcclxuLy8gJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4O1xyXG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZDtcclxuLy8gJGlucHV0LXByZWZpeC1vdmVyZmxvdzogaGlkZGVuO1xyXG4vLyAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICRvaWw7XHJcbi8vICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHNldHRpbmcgdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzICh0aGUgdXAvZG93biBhcnJvd3MpXHJcbi8vICRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcclxuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpO1xyXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHg7XHJcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljO1xyXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGU7XHJcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAkb2lsO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcclxuJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IGZhbHNlO1xyXG4vLyAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAwLjQ1cztcclxuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xyXG5cclxuLy8gU2VsZWN0IHZhcmlhYmxlc1xyXG4vLyAkc2VsZWN0LWJnLWNvbG9yOiAkZ2hvc3Q7XHJcbi8vICRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSk7XHJcblxyXG4vLyAxMi4gSWNvbiBCYXJcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcclxuLy8gJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcbi8vICRpY29uLWJhci1iZzogJG9pbDtcclxuLy8gJGljb24tYmFyLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbTtcclxuLy8gJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJGljb24tYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuLy8gJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW07XHJcbi8vICRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW07XHJcbi8vICRpY29uLWJhci1pbWFnZS1oZWlnaHQ6IDEuODc1cmVtO1xyXG4vLyAkaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbTtcclxuXHJcbi8vIDEzLiBJbmxpbmUgTGlzdHNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cclxuLy8gJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDA7XHJcbi8vICRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDA7XHJcbi8vICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNyk7XHJcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKTtcclxuLy8gJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKTtcclxuXHJcbi8vICRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxyXG4vLyAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcclxuLy8gJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcclxuLy8gJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrO1xyXG5cclxuLy8gMTQuIEpveXJpZGVcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcclxuLy8gJGpveXJpZGUtdGlwLWJnOiAkb2lsO1xyXG4vLyAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHg7XHJcbi8vICRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCk7XHJcbi8vICRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWw7XHJcbi8vICRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweDtcclxuLy8gJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDogMjJweDtcclxuXHJcbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xyXG4vLyAkam95cmlkZS10aXAtZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcclxuLy8gJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4O1xyXG5cclxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXHJcbi8vICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweDtcclxuLy8gJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDogM3B4O1xyXG4vLyAkam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbDtcclxuXHJcbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXHJcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb247XHJcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4O1xyXG4vLyAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG5cclxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xyXG4vLyAkam95cmlkZS1zY3JlZW5maWxsOiByZ2JhKDAsMCwwLDAuNSk7XHJcblxyXG4vLyAxNS4gS2V5c3Ryb2tlc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cclxuLy8gJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcclxuLy8gJGtleXN0cm9rZS1mb250LXNpemU6IGluaGVyaXQ7XHJcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldDtcclxuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xyXG4vLyAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cclxuLy8gJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxyXG4vLyAka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4O1xyXG4vLyAka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAxNi4gTGFiZWxzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcclxuLy8gJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDQgOCA2KTtcclxuLy8gJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsIHRleHRcclxuLy8gJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSk7XHJcbi8vICRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJGxhYmVsLWZvbnQtY29sb3I6ICRvaWw7XHJcbi8vICRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xyXG4vLyAkbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cclxuLy8gMTcuIE1hZ2VsbGFuXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gJG1hZ2VsbGFuLWJnOiAkd2hpdGU7XHJcbi8vICRtYWdlbGxhbi1wYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4vLyAxOC4gT2ZmLWNhbnZhc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gJHRhYmJhci1iZzogJG9pbDtcclxuLy8gJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuLy8gJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcclxuLy8gJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XHJcbi8vICR0YWJiYXItY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCk7XHJcblxyXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXHJcbi8vICR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAxMyUpO1xyXG4vLyAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKTtcclxuXHJcbi8vIE9mZiBDYW52YXMgVGFiIEJhciBIZWFkZXJzXHJcbi8vICR0YWJiYXItaGVhZGVyLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0YWJiYXItaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbi8vICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcclxuLy8gJHRhYmJhci1oZWFkZXItbWFyZ2luOiAwO1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IFZhcmlhYmxlc1xyXG4vLyAkb2ZmLWNhbnZhcy13aWR0aDogcmVtLWNhbGMoMjUwKTtcclxuJG9mZi1jYW52YXMtYmc6ICRwcmltYXJ5LWNvbG9yO1xyXG4kb2ZmLWNhbnZhcy1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDUwJSk7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgTGlzdCBWYXJpYWJsZXNcclxuLy8gJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogMC4zcmVtIHJlbS1jYWxjKDE1KTtcclxuJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICNGRkY7XHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJnOiAkdHVhdGFyYTtcclxuLy8gJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCR0dWF0YXJhLCAkbGlnaHRuZXNzOiAxNCUpO1xyXG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tOiBub25lO1xyXG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW46MDtcclxuLy8gJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpO1xyXG4kb2ZmLWNhbnZhcy1saW5rLWNvbG9yOiAjRkZGO1xyXG4vLyAkb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iZywgJGxpZ2h0bmVzczogLTI1JSk7XHJcbi8vICRvZmYtY2FudmFzLWJhY2stYmc6ICR0dWF0YXJhO1xyXG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A7XHJcbi8vICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcclxuLy8gJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZzogc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmFjay1iZywgJGxpZ2h0bmVzczogLTMwJSk7XHJcbi8vICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpO1xyXG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b206IG5vbmU7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcclxuLy8gJHRhYmJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcclxuXHJcbi8vICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSk7XHJcbi8vICR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcclxuLy8gJHRhYmJhci1tZW51LWljb24taGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcclxuLy8gJHRhYmJhci1tZW51LWljb24tcGFkZGluZzogMDtcclxuXHJcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGg6IHJlbS1jYWxjKDE2KTtcclxuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0OiBmYWxzZTtcclxuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3A6IGZhbHNlO1xyXG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzczogMXB4O1xyXG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcDogNnB4O1xyXG5cclxuLy8gT2ZmIENhbnZhcyBCYWNrLUxpbmsgT3ZlcmxheVxyXG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcclxuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I6IHBvaW50ZXI7XHJcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKCRibGFjaywgMC41KSwgNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjIpO1xyXG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJHdoaXRlLCAwLjA1KTtcclxuXHJcbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXHJcbi8vICRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCI7XHJcblxyXG4vLyAxOS4gT3JiaXRcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgY2FwdGlvbiBzdHlsZXNcclxuLy8gJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZTtcclxuLy8gJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIDAuOCk7XHJcbi8vICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiOyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcclxuLy8gJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpO1xyXG4vLyAkb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG87XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXHJcbi8vICRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50O1xyXG4vLyAkb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMyk7XHJcbi8vICRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZTtcclxuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogJHdoaXRlO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xyXG4vLyAkb3JiaXQtdGltZXItYmc6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtcclxuLy8gJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJ1bGxldCBuYXYgc3R5bGVzXHJcbi8vICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbjtcclxuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW07XHJcbi8vICRvcmJpdC1idWxsZXQtcmFkaXVzOiByZW0tY2FsYyg5KTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xyXG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnOiByZ2JhKDAsMCwwLDApO1xyXG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KTtcclxuXHJcbi8vIEhpZGUgY29udHJvbHMgb24gc21hbGxcclxuLy8gJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcclxuLy8gJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcclxuLy8gJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsOiB0cnVlO1xyXG5cclxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcclxuLy8gJHdyYXBwZXItY2xhc3M6IFwic2xpZGVzaG93LXdyYXBwZXJcIjtcclxuLy8gJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIjtcclxuXHJcbi8vIDIwLiBQYWdpbmF0aW9uXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXHJcbi8vICRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4vLyAkcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGxpc3QtaXRlbSBwcm9wZXJ0aWVzXHJcbi8vICRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuLy8gJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuLy8gJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKTtcclxuLy8gJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkdGhpcmQtY29sb3I7XHJcbi8vICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpO1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogbm9uZTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXHJcbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0O1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bTtcclxuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXHJcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0O1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkZm91cnRoLWNvbG9yO1xyXG5cclxuLy8gMjEuIFBhbmVsc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXHJcbi8vICRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG4vLyAkcGFuZWwtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHBhbmVsLWJvcmRlci1zaXplOiAxcHg7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyAlIHRvIGNvbnRyb2wgaG93IG11Y2ggd2UgZGFya2VuIHRoaW5ncyBvbiBob3ZlclxyXG4vLyAkcGFuZWwtZnVuY3Rpb24tZmFjdG9yOiAtMTElO1xyXG4vLyAkcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6ICRwYW5lbC1mdW5jdGlvbi1mYWN0b3IpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGlubmVyIHBhZGRpbmcgYW5kIGJvdHRvbSBtYXJnaW5cclxuLy8gJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuLy8gJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xyXG4vLyAkcGFuZWwtZm9udC1jb2xvcjogJG9pbDtcclxuLy8gJHBhbmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGU7XHJcblxyXG4vLyAkcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZTtcclxuLy8gJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblxyXG4vLyAyMi4gUHJpY2luZyBUYWJsZXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxyXG4vLyAkcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybztcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcclxuLy8gJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcclxuLy8gJHByaWNlLXRpdGxlLWJnOiAkb2lsO1xyXG4vLyAkcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xyXG4vLyAkcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlcjtcclxuLy8gJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2U7XHJcbi8vICRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNik7XHJcbi8vICRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXHJcbi8vICRwcmljZS1tb25leS1iZzogJHZhcG9yICA7XHJcbi8vICRwcmljZS1tb25leS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCk7XHJcbi8vICRwcmljZS1tb25leS1hbGlnbjogY2VudGVyO1xyXG4vLyAkcHJpY2UtbW9uZXktY29sb3I6ICRvaWw7XHJcbi8vICRwcmljZS1tb25leS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMik7XHJcbi8vICRwcmljZS1tb25leS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgZGVzY3JpcHRpb24gc3R5bGVzXHJcbi8vICRwcmljZS1iZzogJHdoaXRlO1xyXG4vLyAkcHJpY2UtZGVzYy1jb2xvcjogJG1vbnNvb247XHJcbi8vICRwcmljZS1kZXNjLXBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcclxuLy8gJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlcjtcclxuLy8gJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbi8vICRwcmljZS1kZXNjLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNDtcclxuLy8gJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcclxuLy8gJHByaWNlLWl0ZW0tY29sb3I6ICRvaWw7XHJcbi8vICRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcclxuLy8gJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlcjtcclxuLy8gJHByaWNlLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRwcmljZS1pdGVtLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIENUQSBhcmVhIHN0eWxlc1xyXG4vLyAkcHJpY2UtY3RhLWJnOiAkd2hpdGU7XHJcbi8vICRwcmljZS1jdGEtYWxpZ246IGNlbnRlcjtcclxuLy8gJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKTtcclxuXHJcbi8vIDIzLiBQcm9ncmVzcyBCYXJcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcclxuLy8gJHByb2dyZXNzLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcclxuLy8gJHByb2dyZXNzLWJhci1jb2xvcjogJHZhcG9yICA7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xyXG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpO1xyXG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplOiAxcHg7XHJcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtYXJnaW4gJiBwYWRkaW5nXHJcbi8vICRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKTtcclxuLy8gJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcclxuLy8gJHByb2dyZXNzLW1ldGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuLy8gJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xyXG4vLyAkcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBSYW5nZSBTbGlkZXJcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcclxuLy8gJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCU7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpO1xyXG5cclxuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcclxuLy8gJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3Q7XHJcblxyXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXHJcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNik7XHJcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcclxuXHJcbi8vIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXHJcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMik7XHJcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KTtcclxuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4vLyAyNS4gUmV2ZWFsXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgcmV2ZWFsIG92ZXJsYXkuXHJcbi8vICRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSk7XHJcbi8vICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjaztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxyXG4vLyAkcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGU7XHJcbi8vICRyZXZlYWwtcG9zaXRpb24tdG9wOiByZW0tY2FsYygxMDApO1xyXG4vLyAkcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJTtcclxuLy8gJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbi8vICRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXHJcbi8vICRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHJcbi8vICRyZXZlYWwtY2xvc2UtdG9wOiByZW0tY2FsYyg4KTtcclxuLy8gJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygxMSk7XHJcbi8vICRyZXZlYWwtY2xvc2UtY29sb3I6ICRiYXNlO1xyXG4vLyAkcmV2ZWFsLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cclxuLy8gJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXHJcbi8vICRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbDtcclxuXHJcbi8vICRyZXZlYWwtbW9kYWwtY2xhc3M6IFwicmV2ZWFsLW1vZGFsXCI7XHJcbi8vICRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3M6IFwiY2xvc2UtcmV2ZWFsLW1vZGFsXCI7XHJcblxyXG4vLyAyNi4gU2lkZSBOYXZcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxyXG4vLyAkc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cclxuLy8gJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZTtcclxuLy8gJHNpZGUtbmF2LWxpc3QtcG9zaXRpb246IGluc2lkZTtcclxuLy8gJHNpZGUtbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygwIDAgNyAwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpbmsgc3R5bGVzLlxyXG4vLyAkc2lkZS1uYXYtbGluay1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XHJcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKTtcclxuLy8gJHNpZGUtbmF2LWxpbmstYmctaG92ZXI6IGhzbGEoMCwgMCwgMCwgMC4wMjUpO1xyXG4vLyAkc2lkZS1uYXYtbGluay1tYXJnaW46IDA7XHJcbi8vICRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpO1xyXG4vLyAkc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0O1xyXG4vLyAkc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4vLyAkc2lkZS1uYXYtYWN0aXZlLWZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkaW5nIHN0eWxlcy5cclxuLy8gJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yO1xyXG4vLyAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU6ICRzaWRlLW5hdi1mb250LXNpemU7XHJcbi8vICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4vLyAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xyXG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHg7XHJcbi8vICRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMTAlKTtcclxuXHJcbi8vIDI3LiBTcGxpdCBCdXR0b25zXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXHJcbi8vICRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCU7XHJcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGU7XHJcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbDtcclxuLy8gJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXHJcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMDtcclxuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNjtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcclxuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XHJcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcclxuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogODtcclxuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KTtcclxuXHJcbi8vIDI4LiBTdWIgTmF2XHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4vLyAkc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCk7XHJcbi8vICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxyXG4vLyAkc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbi8vICRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW07XHJcbi8vICRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbi8vICRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpO1xyXG4vLyAkc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbi8vICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xyXG4vLyAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRzdWItbmF2LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XHJcbi8vICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtYWN0aXZlLWJnLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuLy8gJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAkd2hpdGU7XHJcbi8vICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nO1xyXG4vLyAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiO1xyXG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMik7XHJcblxyXG4vLyAyOS4gU3dpdGNoXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBDb250cm9sbGluZyBib3JkZXIgc3R5bGVzIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlIHN3aXRjaCBjb250YWluZXJcclxuLy8gJHN3aXRjaC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSk7XHJcbi8vICRzd2l0Y2gtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHN3aXRjaC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJHN3aXRjaC1iZzogJHdoaXRlO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXHJcbi8vICRzd2l0Y2gtaGVpZ2h0LXRueTogcmVtLWNhbGMoMjIpO1xyXG4vLyAkc3dpdGNoLWhlaWdodC1zbWw6IHJlbS1jYWxjKDI4KTtcclxuLy8gJHN3aXRjaC1oZWlnaHQtbWVkOiByZW0tY2FsYygzNik7XHJcbi8vICRzd2l0Y2gtaGVpZ2h0LWxyZzogcmVtLWNhbGMoNDQpO1xyXG4vLyAkc3dpdGNoLWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRlZmF1bHQgZm9udCBzaXplcyBmb3Igb3VyIGNsYXNzZXMuXHJcbi8vICRzd2l0Y2gtZm9udC1zaXplLXRueTogMTFweDtcclxuLy8gJHN3aXRjaC1mb250LXNpemUtc21sOiAxMnB4O1xyXG4vLyAkc3dpdGNoLWZvbnQtc2l6ZS1tZWQ6IDE0cHg7XHJcbi8vICRzd2l0Y2gtZm9udC1zaXplLWxyZzogMTdweDtcclxuLy8gJHN3aXRjaC1sYWJlbC1zaWRlLXBhZGRpbmc6IDZweDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxyXG4vLyAkc3dpdGNoLXBhZGRsZS1iZzogJHdoaXRlO1xyXG4vLyAkc3dpdGNoLXBhZGRsZS1mYWRlLXRvLWNvbG9yOiBzY2FsZS1jb2xvcigkc3dpdGNoLXBhZGRsZS1iZywgJGxpZ2h0bmVzczogLTEwJSk7XHJcbi8vICRzd2l0Y2gtcGFkZGxlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHN3aXRjaC1wYWRkbGUtYmcsICRsaWdodG5lc3M6IC0zNSUpO1xyXG4vLyAkc3dpdGNoLXBhZGRsZS1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJHN3aXRjaC1wYWRkbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjFzO1xyXG4vLyAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xyXG4vLyAkc3dpdGNoLXBvc2l0aXZlLWNvbG9yOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogOTQlKTtcclxuLy8gJHN3aXRjaC1uZWdhdGl2ZS1jb2xvcjogJHdoaXRlLXNtb2tlO1xyXG5cclxuLy8gT3V0bGluZSBTdHlsZSBmb3IgdGFiYmluZyB0aHJvdWdoIHN3aXRjaGVzXHJcbi8vICRzd2l0Y2gtbGFiZWwtb3V0bGluZTogMXB4IGRvdHRlZCAkanVtYm87XHJcblxyXG4vLyAzMC4gVGFibGVzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRhYmxlIGFuZCBldmVuIHJvd3NcclxuJHRhYmxlLWJnOiAjRkZGO1xyXG4kdGFibGUtZXZlbi1yb3ctYmc6ICRzZWNvbmRhcnktY29sb3I7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBzdHlsZVxyXG4kdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuJHRhYmxlLWJvcmRlci1zaXplOiAycHg7XHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcclxuJHRhYmxlLWhlYWQtYmc6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogI0ZGRjtcclxuJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXHJcbiR0YWJsZS1yb3ctcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZztcclxuJHRhYmxlLXJvdy1mb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZTtcclxuJHRhYmxlLXJvdy1mb250LWNvbG9yOiAjMDAwO1xyXG4vLyAkdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuXHJcbi8vIFRoZXNlIGFyZSBmb3IgY29udHJvbGxpbmcgdGhlIGxheW91dCwgZGlzcGxheSBhbmQgbWFyZ2luIG9mIHRhYmxlc1xyXG4vLyAkdGFibGUtbGF5b3V0OiBhdXRvO1xyXG4vLyAkdGFibGUtZGlzcGxheTogdGFibGUtY2VsbDtcclxuJHRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuXHJcbi8vIDMxLiBUYWJzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYygzMCk7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I6ICNGRkY7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAjMDAwO1xyXG4vLyAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpO1xyXG4vLyAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiAkdGhpcmQtY29sb3I7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I6ICNGRkY7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cclxuLy8gJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbi8vICR0YWJzLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMTApO1xyXG5cclxuLy8gJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xyXG5cclxuLy8gMzIuIFRodW1ibmFpbHNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXHJcbi8vICR0aHVtYi1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkdGh1bWItYm9yZGVyLXdpZHRoOiA0cHg7XHJcbi8vICR0aHVtYi1ib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywuMik7XHJcbi8vICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XHJcblxyXG4vLyBSYWRpdXMgYW5kIHRyYW5zaXRpb24gc3BlZWQgZm9yIHRodW1ic1xyXG4vLyAkdGh1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zO1xyXG5cclxuLy8gMzMuIFRvb2x0aXBzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRpcm9uO1xyXG4vLyAkaGFzLXRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbi8vICRoYXMtdGlwLWZvbnQtY29sb3I6ICRvaWw7XHJcbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpO1xyXG4vLyAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHA7XHJcblxyXG4vLyAkdG9vbHRpcC1wYWRkaW5nOiByZW0tY2FsYygxMik7XHJcbi8vICR0b29sdGlwLWJnOiAkb2lsO1xyXG4vLyAkdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuLy8gJHRvb2x0aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICR0b29sdGlwLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRvb2x0aXAtbGluZS1oZWlnaHQ6IDEuMztcclxuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygxMCk7XHJcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yOiAkbW9uc29vbjtcclxuLy8gJHRvb2x0aXAtZm9udC1zaXplLXNtbDogcmVtLWNhbGMoMTQpO1xyXG4vLyAkdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkdG9vbHRpcC1yb3VuZGVkOiAkZ2xvYmFsLXJvdW5kZWQ7XHJcbi8vICR0b29sdGlwLXBpcC1zaXplOiA1cHg7XHJcbi8vICR0b29sdGlwLW1heC13aWR0aDogMzAwcHg7XHJcblxyXG4vLyAzNC4gVG9wIEJhclxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXJcclxuLy8gJHRvcGJhci1iZy1jb2xvcjogJG9pbDtcclxuLy8gJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvcjtcclxuXHJcbi8vIEhlaWdodCBhbmQgbWFyZ2luXHJcbi8vICR0b3BiYXItaGVpZ2h0OiA0NXB4O1xyXG4vLyAkdG9wYmFyLW1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcclxuLy8gJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcblxyXG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWJnOiAkb2lsO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAkb2lsO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiA1cHg7XHJcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhOiAwLjQ7XHJcblxyXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcclxuLy8gJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlO1xyXG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbi8vICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4vLyAkdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlOyAvLyBEYXJrZW4gYnkgMTAlXHJcbi8vICR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZztcclxuLy8gJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAkY2hhcmNvYWw7XHJcbi8vICR0b3BiYXItbGluay1iZy1ob3ZlcjogIzI3MjcyNztcclxuLy8gJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbi8vICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuLy8gJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuLy8gJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4vLyAkdG9wYmFyLWxpbmstcGFkZGluZzogJHRvcGJhci1oZWlnaHQgLyAzO1xyXG4vLyAkdG9wYmFyLWJhY2stbGluay1zaXplOiAkaDUtZm9udC1zaXplO1xyXG4vLyAkdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZzogMjBweDtcclxuXHJcbi8vICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogMC43NXJlbTtcclxuLy8gJHRvcGJhci1idXR0b24tdG9wOiA3cHg7XHJcblxyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbjtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbDtcclxuXHJcbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXHJcbi8vICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuLy8gJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvO1xyXG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm87XHJcblxyXG4vLyBUcmFuc2l0aW9ucyBhbmQgYnJlYWtwb2ludCBzdHlsZXNcclxuLy8gJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcztcclxuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXHJcbi8vICR0b3BiYXItYnJlYWtwb2ludDogI3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX07IC8vIENoYW5nZSB0byA5OTk5cHggZm9yIGFsd2F5cyBtb2JpbGUgbGF5b3V0XHJcbi8vICR0b3BiYXItbWVkaWEtcXVlcnk6ICRtZWRpdW0tdXA7XHJcblxyXG4vLyBEaXZpZGVyIFN0eWxlc1xyXG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpO1xyXG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xyXG5cclxuLy8gU3RpY2t5IENsYXNzXHJcbi8vICR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIjtcclxuLy8gJHRvcGJhci1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cclxuXHJcbi8vIDM2LiBWaXNpYmlsaXR5IENsYXNzZXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuLy8gJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xyXG4vLyAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xyXG4vLyAkaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXM6IHRydWU7XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuLy8gSU1QT1JUIE9OQ0Vcbi8vIFdlIHVzZSB0aGlzIHRvIHByZXZlbnQgc3R5bGVzIGZyb20gYmVpbmcgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBjb21wb25lbnRzIHRoYXQgcmVseSBvbiBvdGhlciBjb21wb25lbnRzLlxuJG1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG5AbWl4aW4gZXhwb3J0cygkbmFtZSkge1xuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XG4gIC8vIENoZWNrIGlmIGEgbW9kdWxlIGlzIGFscmVhZHkgb24gdGhlIGxpc3RcbiAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcbiAgQGlmICgoJG1vZHVsZV9pbmRleCA9PSBudWxsKSBvciAoJG1vZHVsZV9pbmRleCA9PSBmYWxzZSkpIHtcbiAgICAkbW9kdWxlczogYXBwZW5kKCRtb2R1bGVzLCAkbmFtZSkgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vL1xuLy8gQGZ1bmN0aW9uc1xuLy9cblxuXG4vLyBSQU5HRVNcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cbkBmdW5jdGlvbiBsb3dlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59XG5cbi8vIFNUUklQIFVOSVRcbi8vIEl0IHN0cmlwcyB0aGUgdW5pdCBvZiBtZWFzdXJlIGFuZCByZXR1cm5zIGl0XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBURVhUIElOUFVUIFRZUEVTXG5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cyggJHR5cGVzOiBhbGwsICRzZWxlY3RvcjogaW5wdXQgKSB7XG5cbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10ZXh0LWlucHV0LXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3JcbiAgICB0ZXh0YXJlYTtcblxuICBAaWYgJHR5cGVzID09IGFsbCB7ICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzOyB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICBAaWYgJHR5cGUgPT0gdGV4dGFyZWEge1xuICAgICAgQGlmICRzZWxlY3RvciA9PSBpbnB1dCB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfScpLCBjb21tYSlcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0jeyRzZWxlY3Rvcn0nKSwgY29tbWEpXG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skc2VsZWN0b3J9W3R5cGU9XCIjeyR0eXBlfVwiXScpLCBjb21tYSlcbiAgICB9XG4gIH1cblxuICAgIEByZXR1cm4gJHJldHVybjtcblxufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcbiAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIGRhdGEoJGF0dHIpIHtcbiAgQGlmICRuYW1lc3BhY2Uge1xuICAgIEByZXR1cm4gJ1tkYXRhLScgKyAkbmFtZXNwYWNlICsgJy0nICsgJGF0dHIgKyAnXSc7XG4gIH1cblxuICBAcmV0dXJuICdbZGF0YS0nICsgJGF0dHIgKyAnXSc7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG4gICRyZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xuXG4gICRtYXg6IGxlbmd0aCgkcmVtVmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cblxuICAkZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG4gIH1cbiAgQHJldHVybiAkZW1WYWx1ZXM7XG59XG5cblxuLy8gRGVwcmVjYXRlZDogT0xEIEVNIENBTENcbkBmdW5jdGlvbiBlbUNhbGMoJHZhbHVlcykge1xuICBAcmV0dXJuIGVtLWNhbGMoJHZhbHVlcyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBCZWhvbGQsIGhlcmUgYXJlIGFsbCB0aGUgRm91bmRhdGlvbiBjb21wb25lbnRzLlxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2dyaWQnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvYWxlcnQtYm94ZXMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Jsb2NrLWdyaWQnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b24tZ3JvdXBzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b25zJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9jbGVhcmluZyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbnMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Zvcm1zJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9pY29uLWJhcic7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvaW5saW5lLWxpc3RzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9qb3lyaWRlJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9rZXlzdHJva2VzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9sYWJlbHMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL21hZ2VsbGFuJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFuZWxzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9wcmljaW5nLXRhYmxlcyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFycyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3NpZGUtbmF2JztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zcGxpdC1idXR0b25zJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zdWItbmF2JztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zd2l0Y2hlcyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdGFibGVzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90aHVtYnMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Rvb2x0aXBzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90eXBlJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9vZmZjYW52YXMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Zpc2liaWxpdHknO1xuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMDAwKSAhZGVmYXVsdDtcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7XG5cbi8vXG4vLyBHcmlkIEZ1bmN0aW9uc1xuLy9cblxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMSwgdXNlIGdyaWQtY2FsYygpXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICBAd2FybiBcImdyaWRDYWxjKCkgaXMgZGVwcmVjYXRlZCwgdXNlIGdyaWQtY2FsYygpXCI7XG4gIEByZXR1cm4gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpO1xufVxuXG4vLyBARlVOQ1RJT05cbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG4vLyAkdG90YWxDb2x1bW5zIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQGZ1bmN0aW9uIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XG4gIEBpZiAkcmVzdWx0ID09IDAlIHsgJHJlc3VsdDogMDsgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cbi8vXG4vL1xuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxuQG1peGluIGdyaWQtcm93KCRiZWhhdmlvcjogZmFsc2UpIHtcblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XG4gIEBpZiAkYmVoYXZpb3IgPT0gbmVzdCB7XG4gICAgbWFyZ2luOiAwICgtKCRjb2x1bW4tZ3V0dGVyLzIpKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3coY29sbGFwc2UpOyB0byBjb2xsYXBzZWQgYSBjb250YWluZXIgcm93IG1hcmdpbnNcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IGNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QtY29sbGFwc2UpOyB0byBjb2xsYXBzZSBvdXRlciBtYXJnaW5zIG9uIGEgbmVzdGVkIHJvd1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xuICBAZWxzZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXJmaXggZm9yIGFsbCByb3dzXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb2x1bW4sIHNob3VsZCBiZSB1c2VkIGluc2lkZSBvZiBhIG1lZGlhIHF1ZXJ5IHRvIGNvbnRyb2wgbGF5b3V0c1xuLy9cbi8vICRjb2x1bW5zIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIHRoaXMgc2hvdWxkIGJlXG4vLyAkbGFzdC1jb2x1bW4gLSBJcyB0aGlzIHRoZSBsYXN0IGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJG9mZnNldCAtICMgb2YgY29sdW1ucyB0byBvZmZzZXQuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1c2ggLSAjIG9mIGNvbHVtbnMgdG8gcHVzaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRjb2xsYXBzZSAtIEdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmcgb24gY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRmbG9hdCAtIFNob3VsZCB0aGlzIGZsb2F0PyBEZWZhdWx0OiB0cnVlLiBPcHRpb25zOiB0cnVlLCBmYWxzZSwgbGVmdCwgcmlnaHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOmZhbHNlLFxuICAkbGFzdC1jb2x1bW46ZmFsc2UsXG4gICRjZW50ZXI6ZmFsc2UsXG4gICRvZmZzZXQ6ZmFsc2UsXG4gICRwdXNoOmZhbHNlLFxuICAkcHVsbDpmYWxzZSxcbiAgJGNvbGxhcHNlOmZhbHNlLFxuICAkZmxvYXQ6dHJ1ZSxcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgLy8gSWYgcG9zaXRpb25lZCBmb3IgZGVmYXVsdCAuY29sdW1uLCBpbmNsdWRlIHJlbGF0aXZlIHBvc2l0aW9uXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcbiAgQGlmICRwb3NpdGlvbiBvciAkcHVzaCBvciAkcHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gSWYgY29sbGFwc2VkLCBnZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nXG4gIEBpZiAkY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gR3V0dGVyIHBhZGRpbmcgd2hlbmV2ZXIgYSBjb2x1bW4gaXNuJ3Qgc2V0IHRvIGNvbGxhcHNlXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcbiAgQGVsc2UgaWYgJGNvbGxhcHNlID09IGZhbHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICB9XG5cbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcbiAgQGlmICRjb2x1bW5zIHtcbiAgICB3aWR0aDogZ3JpZC1jYWxjKCRjb2x1bW5zLCAkdG90YWwtY29sdW1ucyk7XG5cbiAgICAvLyBJZiBsYXN0IGNvbHVtbiwgZmxvYXQgbmF0dXJhbGx5IGluc3RlYWQgb2YgdG8gdGhlIHJpZ2h0XG4gICAgQGlmICRsYXN0LWNvbHVtbiB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gIH1cblxuICAvLyBTb3VyY2UgT3JkZXJpbmcsIGFkZHMgbGVmdC9yaWdodCBkZXBlbmRpbmcgb24gd2hpY2ggeW91IHVzZS5cbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XG4gIEBpZiAkcHVsbCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGdyaWQtY2FsYygkcHVsbCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bzsgfVxuXG4gIEBpZiAkZmxvYXQgYW5kICRsYXN0LWNvbHVtbiA9PSBmYWxzZSB7XG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgQGVsc2UgaWYgJGZsb2F0ID09IHJpZ2h0IHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgICBAZWxzZSB7IGZsb2F0OiBub25lOyB9XG4gIH1cblxuICAvLyBJZiBjZW50ZXJlZCwgZ2V0IHJpZCBvZiBmbG9hdCBhbmQgYWRkIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRjZW50ZXIge1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRvZmZzZXQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkb2Zmc2V0LCAkdG90YWwtY29sdW1ucykgIWltcG9ydGFudDsgfVxuXG59XG5cbi8vIENyZWF0ZSBwcmVzZW50YXRpb25hbCBjbGFzc2VzIGZvciBncmlkXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtMSwgLmxhcmdlLTIsIGV0Yy5cbkBtaXhpbiBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSkge1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tcHVzaC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICAgIC4jeyRzaXplfS1wdWxsLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOmZhbHNlLCAkcG9zaXRpb246dHJ1ZSk7IH1cblxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgIC4jeyRzaXplfS1vZmZzZXQtI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkb2Zmc2V0OiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgLiN7JHNpemV9LXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS1jZW50ZXJlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjZW50ZXI6dHJ1ZSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cblxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gIH1cblxuICAvLyBGaWdodGluZyBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXTpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ2h0aW5nIC5jb2x1bW4uPHByZXZpb3VzLXNpemU+LWNlbnRlcmVkOmxhc3QtY2hpbGRcbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgfVxuXG4gIC5yb3cge1xuICAgICYuI3skc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uLFxuICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICB9XG4gICAgJi4jeyRzaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICAgPiAuY29sdW1uLFxuICAgICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgICAgLnJvdyB7bWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgICAgfVxuXG4gICAgICAucm93IHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QpO1xuICAgICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QtY29sbGFwc2UpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiR0b3RhbC1jb2x1bW5zKTsgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7XG4gICAgICAmICsgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xuICAgICAgfVxuICAgICAgJiArICYuZW5kIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XG4gICAgICAvLyBPbGQgcHVzaCBhbmQgcHVsbCBjbGFzc2VzXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcbi8vXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xuLy9cblxuLy8gRGF0YSBhdHRyaWJ1dGUgbmFtZXNwYWNlXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDI0cHggd2hpbGUgJGJhc2UtZm9udC1zaXplIGlzIDE2cHhcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcbi8vXG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XG5AbWl4aW4gcmFkaXVzKCRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxuQG1peGluIHNpZGUtcmFkaXVzKCRzaWRlLCAkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxuLy8gJGFjdGl2ZSAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gaW5zZXQtc2hhZG93KCRhY3RpdmU6dHJ1ZSkge1xuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xuXG4gIEBpZiAkYWN0aXZlIHsgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCkge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9wZXJ0eSwgJHNwZWVkLCAkZWFzZSk7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc2luZ2xlIG9yIG11bHRpcGxlIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXG4vLyAkcHJvcGVydHkgLSBEZWZhdWx0OiBhbGwsIE9wdGlvbnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJhbnNpdGlvbnMvI2FuaW1hdGFibGUtcHJvcGVydGllc1xuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcbi8vICRlYXNlIC0gRGVmYXVsdDogZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbi8vICRkZWxheSAtIERlZmF1bHQ6IG51bGwgKDBzKVxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCwgJGRlbGF5Om51bGwpIHtcbiAgJHRyYW5zaXRpb246IG5vbmU7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcGVydHkpID4gMSB7XG5cbiAgICBAZWFjaCAkdHJhbnNpdGlvbl9saXN0IGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpIHtcblxuICAgICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICAgJF9wcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAxIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMiB7XG4gICAgICAgICAgICAkX3NwZWVkOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9zcGVlZDogJHNwZWVkO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDIge1xuICAgICAgICAgIEBpZiAkaSA9PSAzIHtcbiAgICAgICAgICAgICRfZWFzZTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZWFzZTogJGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMyB7XG4gICAgICAgICAgQGlmICRpID09IDQge1xuICAgICAgICAgICAgJF9kZWxheTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZGVsYXk6ICRkZWxheTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICRwcm9wIGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGJveC1zaXppbmcgYWNyb3NzIGJyb3dzZXIgcHJlZml4ZXNcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOmJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxuICAgICAtbW96LWJveC1zaXppbmc6ICR0eXBlOyAvLyBGaXJlZm94IDwgMjlcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpc29zY2VsZXMgdHJpYW5nbGVzXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxuLy8gJHRyaWFuZ2xlLWNvbG9yIC0gVXNlZCB0byBzZXQgYm9yZGVyLWNvbG9yIHdoaWNoIG1ha2VzIHVwIHRyaWFuZ2xlLiBObyBkZWZhdWx0XG4vLyAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gVXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIHRyaWFuZ2xlIHBvaW50cy4gT3B0aW9uczogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gYm90dG9tKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBpY29uIHdpdGggdGhyZWUgbGluZXMgYWthIHRoZSBoYW1idXJnZXIgaWNvbiwgdGhlIG1lbnUtaWNvbiBvciB0aGUgbmF2aWNvblxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXG4vLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcbi8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZSBvZiBAaW5jbHVkZSBpbiBvZmZjYW52YXNcbkBtaXhpbiBoYW1idXJnZXIoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IsICRvZmZjYW52YXMpIHtcbiAgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpZiAkb2ZmY2FudmFzIHtcbiAgICAgIEBpZiAkdG9wIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XG4gICAgICB9XG4gICAgICBAaWYgJGxlZnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtKCR3aWR0aC8yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuICBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBkbyBjbGVhciBmbG9hdHNcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHsgY29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlOyB9XG4gICY6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGEgZ2xvd2luZyBlZmZlY3QgdG8gYmxvY2sgZWxlbWVudHNcbi8vICRzZWxlY3RvciAtIFVzZWQgZm9yIHNlbGVjdG9yIHN0YXRlLiBEZWZhdWx0OiBmb2N1cywgT3B0aW9uczogaG92ZXIsIGFjdGl2ZSwgdmlzaXRlZFxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3IgLSBEZWZhdWx0OiBmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KVxuQG1peGluIGJsb2NrLWdsb3dpbmctZWZmZWN0KCRzZWxlY3Rvcjpmb2N1cywgJGZhZGUtdGltZTozMDBtcywgJGdsb3dpbmctZWZmZWN0LWNvbG9yOmZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpKSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGZhZGUtdGltZSwgYm9yZGVyLWNvbG9yICRmYWRlLXRpbWUgZWFzZS1pbi1vdXQ7XG5cbiAgJjojeyRzZWxlY3Rvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byB0cmFuc2xhdGUgZWxlbWVudHMgaW4gMkRcbi8vICRob3Jpem9udGFsOiBEZWZhdWx0OiAwXG4vLyAkdmVydGljYWw6IERlZmF1bHQ6IDBcbkBtaXhpbiB0cmFuc2xhdGUyZCgkaG9yaXpvbnRhbDowLCAkdmVydGljYWw6MCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkaG9yaXpvbnRhbCwgJHZlcnRpY2FsKVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBhY2Nlc3NpYmxlLlxuLy8gQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbiR3aGl0ZSAgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdDtcbiRnaG9zdCAgICAgICAgIDogI0ZBRkFGQSAhZGVmYXVsdDtcbiRzbm93ICAgICAgICAgIDogI0Y5RjlGOSAhZGVmYXVsdDtcbiR2YXBvciAgICAgICAgIDogI0Y2RjZGNiAhZGVmYXVsdDtcbiR3aGl0ZS1zbW9rZSAgIDogI0Y1RjVGNSAhZGVmYXVsdDtcbiRzaWx2ZXIgICAgICAgIDogI0VGRUZFRiAhZGVmYXVsdDtcbiRzbW9rZSAgICAgICAgIDogI0VFRUVFRSAhZGVmYXVsdDtcbiRnYWluc2Jvcm8gICAgIDogI0RERERERCAhZGVmYXVsdDtcbiRpcm9uICAgICAgICAgIDogI0NDQ0NDQyAhZGVmYXVsdDtcbiRiYXNlICAgICAgICAgIDogI0FBQUFBQSAhZGVmYXVsdDtcbiRhbHVtaW51bSAgICAgIDogIzk5OTk5OSAhZGVmYXVsdDtcbiRqdW1ibyAgICAgICAgIDogIzg4ODg4OCAhZGVmYXVsdDtcbiRtb25zb29uICAgICAgIDogIzc3Nzc3NyAhZGVmYXVsdDtcbiRzdGVlbCAgICAgICAgIDogIzY2NjY2NiAhZGVmYXVsdDtcbiRjaGFyY29hbCAgICAgIDogIzU1NTU1NSAhZGVmYXVsdDtcbiR0dWF0YXJhICAgICAgIDogIzQ0NDQ0NCAhZGVmYXVsdDtcbiRvaWwgICAgICAgICAgIDogIzMzMzMzMyAhZGVmYXVsdDtcbiRqZXQgICAgICAgICAgIDogIzIyMjIyMiAhZGVmYXVsdDtcbiRibGFjayAgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcbiRwcmltYXJ5LWNvbG9yOiAjMDA4Q0JBICFkZWZhdWx0OyAgIC8vIGJvbmRpLWJsdWVcbiRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTcgIWRlZmF1bHQ7IC8vIHdoaXRlLWxpbGFjXG4kYWxlcnQtY29sb3I6ICNmMDQxMjQgIWRlZmF1bHQ7ICAgICAvLyBjaW5uYWJhclxuJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkEgIWRlZmF1bHQ7ICAgLy8gc2VhLWdyZWVuXG4kd2FybmluZy1jb2xvcjogI2YwOGEyNCAhZGVmYXVsdDsgICAvLyBjYXJyb3RcbiRpbmZvLWNvbG9yOiAjYTBkM2U4ICFkZWZhdWx0OyAgICAgIC8vIGNvcm5mbG93ZXJcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcbiRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbiRib2R5LWJnOiAjZmZmICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogIzIyMiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJvZHktZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4kZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuJHRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG4kZGVmYXVsdC1mbG9hdDogbGVmdCAhZGVmYXVsdDtcbiRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0ICFkZWZhdWx0O1xuQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBsdHIge1xuICAkZGVmYXVsdC1mbG9hdDogbGVmdDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG59IEBlbHNlIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IHJpZ2h0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xufVxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4kZ2xvYmFsLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXG4kc2hpbnktZWRnZS1zaXplOiAwIDFweCAwICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoI2ZmZiwgLjUpICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCMwMDAsIC4yKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzOiB0cnVlICFkZWZhdWx0OyAvLyBXYXJuaW5nISBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbiRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApICAhZGVmYXVsdDtcbiRtZWRpdW0tYnJlYWtwb2ludDogZW0tY2FsYygxMDI0KSAhZGVmYXVsdDtcbiRsYXJnZS1icmVha3BvaW50OiAgZW0tY2FsYygxNDQwKSAhZGVmYXVsdDtcbiR4bGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxOTIwKSAhZGVmYXVsdDtcblxuJHNtYWxsLXJhbmdlOiAgICgwLCAkc21hbGwtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbWVkaXVtLXJhbmdlOiAgKCRzbWFsbC1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICRtZWRpdW0tYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbGFyZ2UtcmFuZ2U6ICAgKCRtZWRpdW0tYnJlYWtwb2ludCArIGVtLWNhbGMoMSksICRsYXJnZS1icmVha3BvaW50KSAgIWRlZmF1bHQ7XG4keGxhcmdlLXJhbmdlOiAgKCRsYXJnZS1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICR4bGFyZ2UtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4keHhsYXJnZS1yYW5nZTogKCR4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKSAhZGVmYXVsdDtcblxuJHNjcmVlbjogXCJvbmx5IHNjcmVlblwiICFkZWZhdWx0O1xuXG4kbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiICFkZWZhdWx0O1xuJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIgIWRlZmF1bHQ7XG5cbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcbiRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHJldGluYTogKFxuICBcIiN7JHNjcmVlbn0gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCJcbik7XG5cbi8vIExlZ2FjeVxuJHNtYWxsOiAkc21hbGwtdXA7XG4kbWVkaXVtOiAkbWVkaXVtLXVwO1xuJGxhcmdlOiAkbGFyZ2UtdXA7XG5cblxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4kY3Vyc29yLWF1dG8tdmFsdWU6IGF1dG8gIWRlZmF1bHQ7XG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xuJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XG4kY3Vyc29yLXRleHQtdmFsdWU6IHRleHQgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdsb2JhbFwiKSB7XG5cbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXG5cbiAgQGlmICRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzIHtcblxuICAgIG1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi81LjUuMy9cIjtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gICAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcblxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB9XG5cbiAgICBodG1sLFxuICAgIGJvZHkgeyBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTsgfVxuXG4gICAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICAgIGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogJGJvZHktYmc7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1hdXRvLXZhbHVlO1xuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogJGJvZHktZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9keS1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDsgLy8gU2V0IHRvICRiYXNlLWxpbmUtaGVpZ2h0IHRvIHRha2Ugb24gYnJvd3NlciBkZWZhdWx0IG9mIDE1MCVcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gIGE6aG92ZXIgeyBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTsgfVxuXG4gICAgLy8gR3JpZCBEZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cbiAgICBpbWcgeyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbiAgICAjbWFwX2NhbnZhcyxcbiAgICAubWFwX2NhbnZhcyxcbiAgICAubXFhLWRpc3BsYXkge1xuICAgICAgaW1nLFxuICAgICAgZW1iZWQsXG4gICAgICBvYmplY3QgeyBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNaXNjZWxsYW5lb3VzIHVzZWZ1bCBIVE1MIGNsYXNzZXNcbiAgICAubGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5jbGVhcmZpeCB7IEBpbmNsdWRlIGNsZWFyZml4OyB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgLmhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gICAgLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4gICAgLy8gRm9udCBzbW9vdGhpbmdcbiAgICAvLyBBbnRpYWxpYXNlZCBmb250IHNtb290aGluZyB3b3JrcyBiZXN0IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLlxuICAgIC8vIEFwcGx5IHRvIHNpbmdsZSBlbGVtZW50cyBpbnN0ZWFkIG9mIGdsb2JhbGx5IHRvIGJvZHkuXG4gICAgLy8gTm90ZSB0aGlzIG9ubHkgYXBwbGllcyB0byB3ZWJraXQtYmFzZWQgZGVza3RvcCBicm93c2VycyBhbmQgRmlyZWZveCAyNSAoYW5kIGxhdGVyKSBvbiB0aGUgTWFjLlxuICAgIC5hbnRpYWxpYXNlZCB7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBHbG9iYWwgcmVzZXRzIGZvciBmb3Jtc1xuICAgIC8vXG5cbiAgICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgICB0ZXh0YXJlYSB7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogNTBweDsgfVxuXG4gICAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gICAgc2VsZWN0IHsgd2lkdGg6IDEwMCU7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBJTVBPUlQgT05DRVxuLy8gV2UgdXNlIHRoaXMgdG8gcHJldmVudCBzdHlsZXMgZnJvbSBiZWluZyBsb2FkZWQgbXVsdGlwbGUgdGltZXMgZm9yIGNvbXBvbmVudHMgdGhhdCByZWx5IG9uIG90aGVyIGNvbXBvbmVudHMuXG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XG4gIC8vIEltcG9ydCBmcm9tIGdsb2JhbCBzY29wZVxuICAkbW9kdWxlczogJG1vZHVsZXMgIWdsb2JhbDtcbiAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxuICAkbW9kdWxlX2luZGV4OiBpbmRleCgkbW9kdWxlcywgJG5hbWUpO1xuICBAaWYgKCgkbW9kdWxlX2luZGV4ID09IG51bGwpIG9yICgkbW9kdWxlX2luZGV4ID09IGZhbHNlKSkge1xuICAgICRtb2R1bGVzOiBhcHBlbmQoJG1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG5cbi8vIFJBTkdFU1xuLy8gV2UgdXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBkZWZpbmUgcmFuZ2VzIGZvciB2YXJpb3VzIHRoaW5ncywgbGlrZSBtZWRpYSBxdWVyaWVzLlxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XG59XG5cbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcbn1cblxuLy8gU1RSSVAgVU5JVFxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIFRFWFQgSU5QVVQgVFlQRVNcblxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCAkdHlwZXM6IGFsbCwgJHNlbGVjdG9yOiBpbnB1dCApIHtcblxuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXRleHQtaW5wdXQtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvclxuICAgIHRleHRhcmVhO1xuXG4gIEBpZiAkdHlwZXMgPT0gYWxsIHsgJHR5cGVzOiAkYWxsLXRleHQtaW5wdXQtdHlwZXM7IH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgIEBpZiAkdHlwZSA9PSB0ZXh0YXJlYSB7XG4gICAgICBAaWYgJHNlbGVjdG9yID09IGlucHV0IHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9JyksIGNvbW1hKVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfSN7JHNlbGVjdG9yfScpLCBjb21tYSlcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyRzZWxlY3Rvcn1bdHlwZT1cIiN7JHR5cGV9XCJdJyksIGNvbW1hKVxuICAgIH1cbiAgfVxuXG4gICAgQHJldHVybiAkcmV0dXJuO1xuXG59XG5cbi8vIENPTlZFUlQgVE8gUkVNXG5AZnVuY3Rpb24gY29udmVydC10by1yZW0oJHZhbHVlLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfSAvLyBUdXJuIDByZW0gaW50byAwXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gZGF0YSgkYXR0cikge1xuICBAaWYgJG5hbWVzcGFjZSB7XG4gICAgQHJldHVybiAnW2RhdGEtJyArICRuYW1lc3BhY2UgKyAnLScgKyAkYXR0ciArICddJztcbiAgfVxuXG4gIEByZXR1cm4gJ1tkYXRhLScgKyAkYXR0ciArICddJztcbn1cblxuLy8gUkVNIENBTENcblxuLy8gTmV3IFN5bnRheCwgYWxsb3dzIHRvIG9wdGlvbmFsbHkgY2FsY3VsYXRlIG9uIGEgZGlmZmVyZW50IGJhc2UgdmFsdWUgdG8gY291bnRlciBjb21wb3VuZGluZyBlZmZlY3Qgb2YgcmVtJ3MuXG4vLyBDYWxsIHdpdGggMSwgMiwgMyBvciA0IHBhcmFtZXRlcnMsICdweCcgaXMgbm90IHJlcXVpcmVkIGJ1dCBzdXBwb3J0ZWQ6XG4vL1xuLy8gICByZW0tY2FsYygxMCAyMCAzMHB4IDQwKTtcbi8vXG4vLyBTcGFjZSBkZWxpbWl0ZWQsIGlmIHlvdSB3YW50IHRvIGRlbGltaXQgdXNpbmcgY29tbWEncywgd3JhcCBpdCBpbiBhbm90aGVyIHBhaXIgb2YgYnJhY2tldHNcbi8vXG4vLyAgIHJlbS1jYWxjKCgxMCwgMjAsIDMwLCA0MHB4KSk7XG4vL1xuLy8gT3B0aW9uYWxseSBjYWxsIHdpdGggYSBkaWZmZXJlbnQgYmFzZSAoZWc6IDhweCkgdG8gY2FsY3VsYXRlIHJlbS5cbi8vXG4vLyAgIHJlbS1jYWxjKDE2cHggMzJweCA0OHB4LCA4cHgpO1xuLy9cbi8vIElmIHlvdSByZXF1aXJlIHRvIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdFxuLy9cbi8vICAgcmVtLWNhbGMoKDE2cHgsIDMycHgsIDQ4KSwgOHB4KTtcblxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XG5cbiAgJHJlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XG4gIH1cbiAgQHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5cbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSk7XG5cbiAgJG1heDogbGVuZ3RoKCRyZW1WYWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTsgfVxuXG4gICRlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJGVtVmFsdWVzOiBhcHBlbmQoJGVtVmFsdWVzLCBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAkaSkpICogMWVtKTtcbiAgfVxuICBAcmV0dXJuICRlbVZhbHVlcztcbn1cblxuXG4vLyBEZXByZWNhdGVkOiBPTEQgRU0gQ0FMQ1xuQGZ1bmN0aW9uIGVtQ2FsYygkdmFsdWVzKSB7XG4gIEByZXR1cm4gZW0tY2FsYygkdmFsdWVzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250YWluZXIoKVxuLy8gIERlY3JpcHRpb246IFJlc3BvbnNpYmxlIGZvciB0aGUgY29udGFpbmVyIGNvbXBvbmVudCBvZiBhY2NvcmRpb25zLCBnZW5lcmF0aW5nIHN0eWxlcyByZWxhdGluZyB0byBhIG1hcmdpbiBvZiB6ZXJvIGFuZCBhIGNsZWFyZml4XG4vLyAgRXhwbGljaXQgRGVwZW5kZW5jaWVzOiBhIGNsZWFyZml4IG1peGluICppcyogZGVmaW5lZC5cbi8vICBJbXBsaWNpdCBEZXBlbmRlbmNpZXM6IE5vbmVcblxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmcsICRob3Zlci1iZywgJGFjdGl2ZS1iZywgJHBhZGRpbmcsICRhY3RpdmVfY2xhc3MsICAkZm9udC1jb2xvciwgJGZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5KSB7XG4vLyAgICBAcGFyYW1zICRiZy1jb2xvcjogWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxuLy8gICAgQHBhcmFtcyAkaG92ZXItYmctY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGhvdmVyZWRcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZS1iZyBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gY2xpY2tlZCBhbmQgbm90IHJlbGVhc2VkLlxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGNsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGVcbi8vICAgIEBwYXJhbXMgJGZvbnQtY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogQ29sb3Igb2YgdGhlIGZvbnQgZm9yIGFjY29yZGlvblxuLy8gICAgQHBhcmFtcyAkZm9udC1zaXplIFsgbnVtYmVyIF06IFNwZWNpZml5IHRoZSBmb250LXNpemUgb2YgdGhlIHRleHQgaW5zaWRlIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcbi8vICAgIEBwYXJhbXMgJGZvbnQtZmFtaWx5IFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IGZvciB0aGUgdGV4dCBvZiB0aGUgbmF2aWdhdGlvbiBvZiB0aGUgYWNjb3Jpb25cbi8vICAgIEBwYXJhbXMgJGFjdGl2ZS1mb250IFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBhY3RpdmUuXG5cbkBtaXhpbiBhY2NvcmRpb24tbmF2aWdhdGlvbiggJGJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRob3Zlci1iZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yLCAkYWN0aXZlLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yLCAkcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcsICRhY3RpdmVfY2xhc3M6ICdhY3RpdmUnLCAgJGZvbnQtY29sb3I6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yLCAkZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplLCAkZm9udC1mYW1pbHk6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseSwgJGFjdGl2ZS1mb250OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3IgKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xuICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhpcyBuYXZpZ2F0aW9uIGNvbXBvbmVudC5cIlxuICB9XG4gIEBlbHNlIHtcbiAgICAmLiN7ICRhY3RpdmVfY2xhc3MgfSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiAgICAgIGNvbG9yOiAkYWN0aXZlLWZvbnQ7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gbnVtYmVyIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCB3YXMgcmVhZCBhcyAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICE9IG51bGwge1xuICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyLiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZ30pIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLilcIjtcbiAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgaXMgbWlzc2luZy4gQSB2YWx1ZSBvZiBgbnVsbGAgaXMgcmV0dXJuZWQgdG8gbm90IG91dHB1dCBhbiBpbnZhbGlkIHZhbHVlIGZvciBwYWRkaW5nXCI7XG4gICAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIEBpZiB0eXBlLW9mKCRmb250LXNpemUpICE9IG51bWJlciB7XG4gICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkZm9udC1zaXplKX1cIjtcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplICE9IG51bGwge1xuICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIuIFRoZSB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIHdpbGwgYmUgdXNlZCBpbnN0ZWFkICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemV9KS5cIjtcbiAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgfVxuICAgICAgQGVsc2V7XG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgd2lsbCBiZSByZXR1cm5lZCB0byBub3QgZ2VuZXJhdGUgYW4gaW52YWxpZCB2YWx1ZSBmb3IgZm9udC1zaXplLlwiO1xuICAgICAgICBmb250LXNpemU6IG51bGw7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gIE1peGluOiBhY2NvcmRpb24tY29udGVudCgkYmcsICRwYWRkaW5nLCAkYWN0aXZlLWNsYXNzKVxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXG4vLyAgICBAcGFyYW1zICRiZyBbIGNvbG9yICBdOiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udGVudCB3aGVuIGl0J3MgdmlzaWJsZVxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IENsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGUuXG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCgkYmc6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiI3skcGFkZGluZ30gd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgIEBpZiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyAhPSBudWxsIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcbiAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xuICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGNvbnRlbnQuIFwiXG4gIH1cbiAgQGVsc2Uge1xuICAgICYuI3skYWN0aXZlX2NsYXNzfSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImFjY29yZGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgLmFjY29yZGlvbi1uYXZpZ2F0aW9uLCBkZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICYuYWN0aXZlID4gYSB7IGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7IGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I7IH1cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nO1xuICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I7IH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEFsZXJ0IEJveCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxuJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCArIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4kYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbiRhbGVydC1jbG9zZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogLjMgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcGFkZGluZzogMCA2cHggNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbiRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vL1xuLy8gQWxlcnQgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGFsZXJ0IGJhc2UuXG5AbWl4aW4gYWxlcnQtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkYWxlcnQtYm9yZGVyLXdpZHRoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYWxlcnQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGFsZXJ0LWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtYm90dG9tLW1hcmdpbjtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihvcGFjaXR5LCAkYWxlcnQtdHJhbnNpdGlvbi1zcGVlZCwgJGFsZXJ0LXRyYW5zaXRpb24tZWFzZSlcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGFsZXJ0IHN0eWxlc1xuLy9cbi8vICRiZyAtIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG5AbWl4aW4gYWxlcnQtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKSB7XG5cbiAgLy8gVGhpcyBmaW5kcyB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7IH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3I7IH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBhbGVydC1jbG9zZSB7XG4gICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRhbGVydC1jbG9zZS1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZDogJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWxlcnQtY2xvc2UtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBtYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcbiAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHk7XG4gIHBhZGRpbmc6ICRhbGVydC1jbG9zZS1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgb2YgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxuQG1peGluIGFsZXJ0KCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuICBAaW5jbHVkZSBhbGVydC1iYXNlO1xuICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYmcpO1xuICBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJhbGVydC1ib3hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzIHtcbiAgICAuYWxlcnQtYm94IHtcbiAgICAgIEBpbmNsdWRlIGFsZXJ0O1xuXG4gICAgICAuY2xvc2UgICAgICB7IEBpbmNsdWRlIGFsZXJ0LWNsb3NlOyB9XG5cbiAgICAgICYucmFkaXVzICAgIHsgQGluY2x1ZGUgcmFkaXVzKCRhbGVydC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kICAgICB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJvdW5kZWQpOyB9XG5cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0LWNsb3NlIHsgb3BhY2l0eTogMH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCbG9jayBHcmlkIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrIGdyaWQgZWxlbWVudHMgcGVyIHJvd1xuJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyICFkZWZhdWx0O1xuJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6ICRjb2x1bW4tZ3V0dGVyO1xufVxuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbiRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBHcmlkIE1peGluc1xuLy9cblxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcbi8vXG4vLyAkcGVyLXJvdyAtICMgb2YgaXRlbXMgdG8gZGlzcGxheSBwZXIgcm93LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXG4vLyAkaW5jbHVkZS1zcGFjaW5nIC0gQWRkcyBwYWRkaW5nIHRvIG91ciBsaXN0IGl0ZW0uIERlZmF1bHQ6IHRydWUuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGEgYmFzZSBzdHlsZSB0byBibG9jayBncmlkLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGJsb2NrLWdyaWQoXG4gICRwZXItcm93OmZhbHNlLFxuICAkc3BhY2luZzokYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsXG4gICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW46IDAgKC0kc3BhY2luZy8yKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBlci1yb3cge1xuICAgID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJS8kcGVyLXJvdztcblxuICAgICAgJjpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgQGlmICRwZXItcm93ID49ICRpIHtcbiAgICAgICRncmlkLWNvbHVtbjogJysnICsgJGk7XG4gICAgICBAaWYgJHBlci1yb3cgPT0gJGkge1xuICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4je3VucXVvdGUoJGdyaWQtY29sdW1uKX0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogKCRwZXItcm93IC0gKCRpIC0gMSkpKSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAkaSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSBwcmVzZW50YXRpb25hbCBtYXJrdXAgZm9yIGJsb2NrIGdyaWQuXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtYmxvY2stZ3JpZC0xLCAubGFyZ2UtYmxvY2stZ3JpZC0yLCBldGMuXG5AbWl4aW4gYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUsICRpbmNsdWRlLXNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgLiN7JHNpemV9LWJsb2NrLWdyaWQtI3soJGkpfSB7XG4gICAgICBAaW5jbHVkZSBibG9jay1ncmlkKCRpLCAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsICRpbmNsdWRlLXNwYWNpbmcsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJsb2NrLWdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuXG4gICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHsgQGluY2x1ZGUgYmxvY2stZ3JpZDsgfVxuXG4gICAgQGlmICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXMge1xuICAgICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0sICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCcmVhZGNydW1iIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXG4kY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cbiRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpICFkZWZhdWx0O1xuJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJSAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXG4kY3J1bWItZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvci1jdXJyZW50OiAkb2lsICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRjcnVtYi1mb250LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGNydW1iLWxpbmstZGVjb3I6IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYnNcbiRjcnVtYi1zbGFzaC1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XG4kY3J1bWItc2xhc2g6IFwiL1wiICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoLXBvc2l0aW9uOiAxcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCcmVhZGNydW1iIE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgY29udGFpbmVyIGFyb3VuZCBvdXIgYnJlYWRjcnVtYnNcbkBtaXhpbiBjcnVtYi1jb250YWluZXIge1xuICBib3JkZXItc3R5bGU6ICRjcnVtYi1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGNydW1iLWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAkY3J1bWItcGFkZGluZztcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcnVtYi1iZztcbiAgYm9yZGVyLWNvbG9yOiAkY3J1bWItYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYnJlYWRjcnVtYiBzdHlsZXMgZnJvbSBsaXN0IGl0ZW1zLlxuQG1peGluIGNydW1icyB7XG5cbiAgLy8gQSBub3JtYWwgc3RhdGUgd2lsbCBtYWtlIHRoZSBsaW5rcyBsb29rIGFuZCBhY3QgbGlrZSBjbGlja2FibGUgYnJlYWRjcnVtYnMuXG4gIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcbiAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICBmb250LXNpemU6ICRjcnVtYi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3J1bWItZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3J1bWItZm9udC10cmFuc2Zvcm07XG5cbiAgJjpob3ZlciBhLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246ICRjcnVtYi1saW5rLWRlY29yOyB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VycmVudCBpcyBmb3IgdGhlIGxpbmsgb2YgdGhlIGN1cnJlbnQgcGFnZVxuICAmLmN1cnJlbnQge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmOmhvdmVyIGEsXG4gICAgJjpmb2N1cywgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIH1cblxuICAvLyBVbmF2YWlsYWJsZSByZW1vdmVkIGNvbG9yIGFuZCBsaW5rIHN0eWxlcyBzbyBpdCBsb29rcyBpbmFjdGl2ZS5cbiAgJi51bmF2YWlsYWJsZSB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xuICAgIGEgeyBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7IH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpob3ZlciBhLFxuICAgICY6Zm9jdXMsXG4gICAgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3J1bWItc2xhc2gtY29sb3I7XG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcbiAgICBtYXJnaW46IDAgJGNydW1iLXNpZGUtcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkY3J1bWItc2xhc2gtcG9zaXRpb247XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJicmVhZGNydW1ic1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgQGluY2x1ZGUgY3J1bWItY29udGFpbmVyO1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRjcnVtYi1yYWRpdXMpO1xuXG4gICAgICA+ICoge1xuICAgICAgICBAaW5jbHVkZSBjcnVtYnM7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIEFjY2Vzc2liaWxpdHkgLSBoaWRlcyB0aGUgZm9yd2FyZCBzbGFzaCAqL1xuICAgIFthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYnNcIl0gW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFNldHMgdGhlIG1hcmdpbiBmb3IgdGhlIHJpZ2h0IHNpZGUgYnkgZGVmYXVsdCwgYW5kIHRoZSBsZWZ0IG1hcmdpbiBpZiByaWdodC10by1sZWZ0IGRpcmVjdGlvbiBpcyB1c2VkXG4kYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCdXR0b24gR3JvdXAgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXJcbkBtaXhpbiBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6dHJ1ZSwgJGZsb2F0OmZhbHNlKSB7XG4gIEBpZiAkc3R5bGVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIEBpZiAkZmxvYXQge1xuICAgIGZsb2F0OiAjeyRkZWZhdWx0LWZsb2F0fTtcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlO1xuICAgICYgZGl2IHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgc3R5bGVzIGZvciBidXR0b24gZ3JvdXBzXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6ZmFsc2UsICRldmVuOmZhbHNlLCAkZmxvYXQ6ZmFsc2UsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKSB7XG5cbiAgPiBidXR0b24sIC5idXR0b24ge1xuICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuICB9XG5cbiAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBsaXN0LWl0ZW07XG4gICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGZsb3csIG9yIHJlbW92ZSB0aG9zZSBzdHlsZXMgY29tcGxldGVseS5cbiAgQGlmICRmbG9hdCB7XG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG4gICAgZmxvYXQ6ICRmbG9hdDtcbiAgICAvLyBNYWtlIHN1cmUgdGhlIGZpcnN0IGNoaWxkIGRvZXNuJ3QgZ2V0IHRoZSBuZWdhdGl2ZSBtYXJnaW4uXG4gICAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMCAtMnB4O1xuICB9XG5cbiAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBibG9jaztcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wOiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXk6ICRidXR0b24tZ3JvdXAtZGlzcGxheTtcbiAgbWFyZ2luOiAkYnV0dG9uLWdyb3VwLW1hcmdpbjtcblxuXG4gIC8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxlZnQgYW5kIHJpZ2h0IHJhZGl1cyBvbiBmaXJzdC9sYXN0IGJ1dHRvbnMgaW4gdGhlIGdyb3VwLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJjpsYXN0LWNoaWxkID4gYSxcbiAgICAmOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoYm90dG9tLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7XG4gICAgJixcbiAgICA+IGEsXG4gICAgPiBidXR0b24sXG4gICAgPiAuYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyB9XG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcbiAgICAmOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyh0b3AsICRyYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRyYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBtYWtlIHRoZSBidXR0b25zIGV2ZW4gd2lkdGggYWNyb3NzIHRoZWlyIGNvbnRhaW5lclxuICBAaWYgJGV2ZW4ge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgxMDAvJGV2ZW4pIC8gMTAwKTtcbiAgICBidXR0b24sIC5idXR0b24geyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b24tZ3JvdXBcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmJ1dHRvbi1ncm91cCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1jb250YWluZXI7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggOCB7XG4gICAgICAgICYuZXZlbi0jeyRpfSBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkZXZlbjokaSwgJGZsb2F0Om51bGwpOyB9XG4gICAgICB9XG5cbiAgICAgID4gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoKTsgfVxuXG4gICAgICAmLnN0YWNrIHtcbiAgICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpOyBmbG9hdDogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAmLnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucmFkaXVzLnN0YWNrID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yb3VuZCwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWJhciB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6ZmFsc2UsICRmbG9hdDp0cnVlKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGhvdmVyIGVmZmVjdHMuXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctY29sb3I6ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcjogJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWNvbG9yOiAkaW5mby1jb2xvciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRpbmZvLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kYnV0dG9uLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbiRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxuLy9cbi8vICRzdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMuIENhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6IHRydWUuXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXG5cbkBtaXhpbiBidXR0b24tYmFzZSgkc3R5bGU6dHJ1ZSwgJGRpc3BsYXk6JGJ1dHRvbi1kaXNwbGF5KSB7XG4gIEBpZiAkc3R5bGUge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGJvcmRlci1zdHlsZTogJGJ1dHRvbi1ib3JkZXItc3R5bGU7XG4gICAgYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwICRidXR0b24tbWFyZ2luLWJvdHRvbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIHNpemUgc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGggLSBEZWZhdWx0OiBmYWxzZVxuXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRmdWxsLXdpZHRoOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXG4gIC8vIHRoZXNlIGNhbiBiZSB0dXJuZWQgb2ZmIGJ5IHNldHRpbmcgJHBhZGRpbmc6ZmFsc2VcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XG4gICAgLy8gV2UgY29udHJvbCB0aGUgZm9udC1zaXplIGJhc2VkIG9uIG1peGluIGlucHV0LlxuICAgIEBpZiAgICAgICRwYWRkaW5nID09ICRidXR0b24tbWVkIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbWVkOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXNtbCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNtbDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tbHJnIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbHJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguXG4gIEBpZiAkZnVsbC13aWR0aCB7XG4gICAgLy8gV2Ugc3RpbGwgbmVlZCB0byBjaGVjayBpZiAkcGFkZGluZyBpcyBzZXQuXG4gICAgQGlmICRwYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyArIHJlbS1jYWxjKDEpO1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICAgIH0gQGVsc2UgaWYgJHBhZGRpbmcgPT0gZmFsc2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgfVxuICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbi1tZWQ7XG4gICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbi1tZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gd2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBidXR0b24gaG92ZXIgYW5kIGJvcmRlciBjb2xvcnNcblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBjb2xvciBzdHlsZXNcbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIGNvbG9yLiBXZSBjYW4gc2V0ICRiZzpmYWxzZSBmb3IgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkYnV0dG9uLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIEJhY2tncm91bmQgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYmctaG92ZXJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJvcmRlci1jb2xvclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIHN0eWxlcyBhcmUgdXNlZCxcbiAgLy8gdGhlc2UgY2FuIGJlIHJlbW92ZWQgYnkgc2V0dGluZyAkYmc6ZmFsc2VcbiAgQGlmICRiZyB7XG5cbiAgICBAaWYgJGJnLWhvdmVyID09IG51bGwge1xuICAgICAgJGJnLWhvdmVyOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1iZy1ob3Zlciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyLWNvbG9yID09IG51bGwge1xuICAgICAgJGJvcmRlci1jb2xvcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYm9yZGVyLWNvbG9yLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICAkYmctaG92ZXItbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnLWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnLWhvdmVyOyB9XG5cbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgY29sb3I6IGlmKCRiZy1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IGlmKCRiZy1ob3Zlci1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uXG4gIEBpZiAkZGlzYWJsZWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiAkYnV0dG9uLWRpc2FibGVkLWN1cnNvcjtcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCBidXR0b24gcmFkaXVzIGlzIHVzZWQuXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGJ1dHRvbi1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBidXR0b25zIHdpdGggYSBzaW5nbGUgbWl4aW4uIEFzIEBqYXJlZGhhcmR5IHB1dHMgaXQsIFwidGhlIGtpdGNoZW4gc2luayBtaXhpblwiXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGJnIC0gUHJpbWFyeSBjb2xvciBzZXQgaW4gc2V0dGluZ3MgZmlsZS4gRGVmYXVsdDogJGJ1dHRvbi1iZy5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDpmYWxzZS5cbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6ZmFsc2UuXG4vLyAkaXMtcHJlZml4IC0gTm90IHVzZWQ/IERlZmF1bHQ6ZmFsc2UuXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICR0cmFuc2l0aW9uIC0gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgYmFja2dyb3VuZC1jb2xvciB0cmFuc2l0aW9uIHByb3BlcnR5IC0gRGVmYXVsdDp0cnVlLlxuQG1peGluIGJ1dHRvbigkcGFkZGluZzokYnV0dG9uLW1lZCwgJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRpcy1wcmVmaXg6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwsICR0cmFuc2l0aW9uOiB0cnVlKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZywgJGZ1bGwtd2lkdGgpO1xuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnLCAkcmFkaXVzLCAkZGlzYWJsZWQsICRiZy1ob3ZlciwgJGJvcmRlci1jb2xvcik7XG5cbiAgQGlmICR0cmFuc2l0aW9uIHtcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG5cbiAgICAvLyBEZWZhdWx0IHN0eWxlcyBhcHBsaWVkIG91dHNpZGUgb2YgbWVkaWEgcXVlcnlcbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZTtcblxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cblxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cbiAgICAgICYuc21hbGwgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1zbWwpOyB9XG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkZnVsbC13aWR0aDp0cnVlKTsgfVxuXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL2ZpcmVmb3ggMnB4IGZpeFxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7Ym9yZGVyOjA7IHBhZGRpbmc6MDt9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tYmFzZSgkc3R5bGU6ZmFsc2UsICRkaXNwbGF5OmlubGluZS1ibG9jayk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgcGFydHMgb2YgQ2xlYXJpbmcuXG4kY2xlYXJpbmctYmc6ICRvaWwgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLWJnOiByZ2JhKDUxLDUxLDUxLDAuOCkgIWRlZmF1bHQ7XG4kY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uXG4kY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXG4kY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW0gIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nOiAxMHB4IDMwcHggMjBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXG4kY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ6IDg1JSAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4ICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi1hY3RpdmUtYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwyNTUsMjU1KSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcImNsZWFyaW5nXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlcyB7XG4gICAgLy8gV2UgZGVjaWRlZCB0byBub3QgY3JlYXRlIGEgbWl4aW4gZm9yIENsZWFyaW5nIGJlY2F1c2UgaXQgcmVsaWVzXG4gICAgLy8gb24gcHJlZGVmaW5lZCBjbGFzc2VzIGFuZCBzdHJ1Y3R1cmUgdG8gd29yayBwcm9wZXJseS5cbiAgICAvLyBUaGUgdmFyaWFibGVzIGFib3ZlIHNob3VsZCBnaXZlIGVub3VnaCBjb250cm9sLlxuXG4gICAgLyogQ2xlYXJpbmcgU3R5bGVzICovXG4gICAgLmNsZWFyaW5nLXRodW1icywgI3tkYXRhKCdjbGVhcmluZycpfSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICZbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctYmxhY2tvdXQge1xuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWJnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTg7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTg7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgIH1cblxuICAgIC52aXNpYmxlLWltZyB7XG4gICAgICBoZWlnaHQ6IDk1JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGlmICRkZWZhdWx0LWZsb2F0ID09IGxlZnQge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICB9O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcHRpb24tYmc7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAkY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY2xvc2Uge1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jbG9zZS1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRpcm9uOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlO1xuICAgICAgLmNhcm91c2VsID4gdWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgLy8gSWYgeW91IHdhbnQgdG8gc2hvdyBhIGxpZ2h0Ym94LCBidXQgb25seSBoYXZlIGEgc2luZ2xlIGltYWdlIGNvbWUgdGhyb3VnaCBhcyB0aGUgdGh1bWJuYWlsXG4gICAgLmNsZWFyaW5nLWZlYXR1cmUgbGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICYuY2xlYXJpbmctZmVhdHVyZWQtaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFyZ2Ugc2NyZWVuIG92ZXJyaWRlc1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2xlYXJpbmctYXJyb3ctc2l6ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDVweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQge1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldi5kaXNhYmxlZCxcbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQuZGlzYWJsZWQgeyBvcGFjaXR5OiAuMzsgfVxuXG4gICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIge1xuXG4gICAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcm91c2VsLWJnO1xuICAgICAgICAgIGhlaWdodDogJGNsZWFyaW5nLWNhcm91c2VsLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgd2lkdGg6ICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDtcblxuICAgICAgICAgICAgICAmLmZpeC1oZWlnaHQge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYS50aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYudmlzaWJsZSB7IG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpc2libGUtaW1nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctaW1nLWJnO1xuICAgICAgICAgIGhlaWdodDogJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4kZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZSAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHggIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3JcbiRmLWRyb3Bkb3duLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHRyaWFuZ2xlIHBpcC5cbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbiRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmUgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1tb2JpbGUtZGVmYXVsdC1mbG9hdDogMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXG4kZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxuJGYtZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vL1xuLy8gTk9URTogTWFrZSBkZWZhdWx0IG1heC13aWR0aCBjaGFuZ2UgYmV0d2VlbiBsaXN0IGFuZCBjb250ZW50IHR5cGVzLiBDYW4gYWRkIG1vcmUgd2lkdGggd2l0aCBjbGFzc2VzLCBtYXliZSAuc21hbGwsIC5tZWRpdW0sIC5sYXJnZSwgZXRjLjtcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBkcm9wZG93biBjb250YWluZXIgZWxlbWVudC5cbi8vICRjb250ZW50LWxpc3QgLSBTZXRzIGxpc3Qtc3R5bGUuIERlZmF1bHQ6IGxpc3QuIE9wdGlvbnM6IFtsaXN0LCBjb250ZW50XVxuLy8gJHRyaWFuZ2xlIC0gU2V0cyBpZiBkcm9wZG93biBoYXMgdHJpYW5nbGUuIERlZmF1bHQ6dHJ1ZS5cbi8vICRtYXgtd2lkdGggLSBEZWZhdWx0OiAkZi1kcm9wZG93bi1tYXgtd2lkdGggfHwgMjAwcHguXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyKCRjb250ZW50Omxpc3QsICR0cmlhbmdsZTp0cnVlLCAkbWF4LXdpZHRoOiRmLWRyb3Bkb3duLW1heC13aWR0aCkge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBsaXN0LXN0eWxlOiAkZi1kcm9wZG93bi1saXN0LXN0eWxlO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAqOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICA+ICo6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICBAaWYgJGNvbnRlbnQgPT0gbGlzdCB7XG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XG4gICAgYm9yZGVyOiAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGUgJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcbiAgICBtYXgtaGVpZ2h0OiAkZi1kcm9wZG93bi1tYXgtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG4gIEBlbHNlIGlmICRjb250ZW50ID09IGNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09IGJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuICAgIEBpZiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICE9IDBweCB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICAgei1pbmRleDogODk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIGJvdHRvbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSkgKiAyKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICAgei1pbmRleDogODg7XG4gICAgICB9XG5cbiAgICAgICYucmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgfVxuICAgICAgJi5yaWdodDphZnRlciB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkZGVmYXVsdC1mbG9hdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09ICRvcHBvc2l0ZS1kaXJlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09IHRvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b207XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsIHRvcCk7XG4gICAgICBib3R0b206IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICRtYXgtd2lkdGggeyBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7IH1cbiAgQGVsc2UgeyBtYXgtd2lkdGg6ICRmLWRyb3Bkb3duLW1heC13aWR0aDsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBsaXN0IGVsZW1lbnRzIG9yIGNvbnRlbnQgaW5zaWRlIHRoZSBkcm9wZG93bi5cblxuQG1peGluIGRyb3Bkb3duLXN0eWxlIHtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzsgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZztcbiAgICBjb2xvcjogJGYtZHJvcGRvd24tZm9udC1jb2xvcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzIHtcblxuICAgIC8qIEZvdW5kYXRpb24gRHJvcGRvd25zICovXG4gICAgLmYtZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIGJvdHRvbSk7XG5cbiAgICAgICYuZHJvcC0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLSN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIHRvcCk7XG4gICAgICB9XG4gICAgICAvLyBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIGxpIHsgQGluY2x1ZGUgZHJvcGRvd24tc3R5bGU7IH1cblxuICAgICAgLy8gWW91IGNhbiBhbHNvIHB1dCBjdXN0b20gY29udGVudCBpbiB0aGVzZSBkcm9wZG93bnNcbiAgICAgICYuY29udGVudCB7IEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihjb250ZW50LCAkdHJpYW5nbGU6ZmFsc2UpOyB9XG5cbiAgICAgIC8vIFJhZGl1cyBvZiBEcm9wZG93blxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJGYtZHJvcGRvd24tcmFkaXVzKTsgfVxuXG4gICAgICAvLyBTaXplc1xuICAgICAgJi50aW55ICAgIHsgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgICAgJi5zbWFsbCAgIHsgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICAgJi5tZWRpdW0gIHsgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAgICAgJi5sYXJnZSAgIHsgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgICAgJi5tZWdhICAgIHtcbiAgICAgICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDoxMDAlIWltcG9ydGFudDtcblxuICAgICAgICAmLm9wZW57XG4gICAgICAgICAgbGVmdDowIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgY29sb3Igb2YgdGhlIHBpcCBpbiBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuJGJ1dHRvbi1waXAtdG55OiByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLXNtbDogcmVtLWNhbGMoNykgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtbHJnOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aW55IGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXRueTogKC0kYnV0dG9uLXBpcC10bnkgLyAyKSArIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogNyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sOiAoLSRidXR0b24tcGlwLXNtbCAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNiArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkOiAoLSRidXR0b24tcGlwLW1lZCAvIDIpICsgcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsYXJnZSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc6ICRidXR0b24tcGlwLWxyZyAqIDIuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc6ICgtJGJ1dHRvbi1waXAtbHJnIC8gMikgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIERyb3Bkb3duIEJ1dHRvbiBNaXhpblxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGJ1aWxkIG9mZiBvZiB0aGUgYnV0dG9uIG1peGluIGFuZCBhZGQgZHJvcGRvd24gYnV0dG9uIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gRGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiBidXR0b24geW91J3JlIHdvcmtpbmcgd2l0aC4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zIFt0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZV1cbi8vICRwaXAtY29sb3IgLSBDb2xvciBvZiB0aGUgbGl0dGxlIHRyaWFuZ2xlIHRoYXQgcG9pbnRzIHRvIHRoZSBkcm9wZG93bi4gRGVmYXVsdDogJHdoaXRlLlxuLy8gJGJhc2Utc3R5bGUgLSBBZGQgaW4gYmFzZS1zdHlsZXMuIFRoaXMgY2FuIGJlIHNldCB0byBmYWxzZS4gRGVmYXVsdDp0cnVlXG5cbkBtaXhpbiBkcm9wZG93bi1idXR0b24oJHBhZGRpbmc6bWVkaXVtLCAkcGlwLWNvbG9yOiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLCAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gV2UgYWRkIGluIGJhc2Ugc3R5bGVzLCBidXQgdGhleSBjYW4gYmUgbmVnYXRlZCBieSBzZXR0aW5nIHRvICdmYWxzZScuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gVGhpcyBjcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgdGhlIHRyaWFuZ2xlIHBpcFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggdGlueSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy10bnk7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55O1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXRueTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggc21hbGwgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gc21hbGwge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtc21sO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sO1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggZGVmYXVsdCAobWVkaXVtKSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBtZWRpdW0ge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkO1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggbGFyZ2UgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gbGFyZ2Uge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZztcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnO1xuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZztcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgcGlwIGNvbG9yLiBXZSBkaWRuJ3QgdXNlIGxvZ2ljIGluIHRoaXMgY2FzZSwganVzdCBzZXQgaXQgYW5kIGZvcmdldCBpdC5cbiAgQGlmICRwaXAtY29sb3Ige1xuICAgICY6OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duLWJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcbiAgICAuZHJvcGRvd24uYnV0dG9uLCBidXR0b24uZHJvcGRvd24geyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b247XG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24odGlueSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHNtYWxsLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24obGFyZ2UsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5zZWNvbmRhcnk6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcbiRmbGV4LXZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSUgIWRlZmF1bHQ7XG4kZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIGZsZXgtdmlkZW8tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleC12aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b207XG4gIHBhZGRpbmctdG9wOiAkZmxleC12aWRlby1wYWRkaW5nLXRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYud2lkZXNjcmVlbiB7IHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOyB9XG4gICYudmltZW8geyBwYWRkaW5nLXRvcDogMDsgfVxuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmbGV4LXZpZGVvXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG4gICAgLmZsZXgtdmlkZW8geyBAaW5jbHVkZSBmbGV4LXZpZGVvLWNvbnRhaW5lcjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYXNlIGZvciBsb3RzIG9mIGZvcm0gc3BhY2luZyBhbmQgcG9zaXRpb25pbmcgc3R5bGVzXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzIGluIGRpZmZlcmVudCB3YXlzXG4kZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkYmxhY2ssICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4kZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4kaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1vdmVyZmxvdzogdmlzaWJsZSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4ICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbiRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXMgIWRlZmF1bHQ7XG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSB0cmFuc2l0aW9uIHdoZW4gaW5wdXRzIGFyZSBmb2N1c2VkIGFuZCB3aGVuIHRoZSBnbG93aW5nIGVmZmVjdCBpcyBkaXNhYmxlZC5cbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBTZWxlY3QgdmFyaWFibGVzXG4kc2VsZWN0LWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xuXG4vL1xuLy8gQE1JWElOU1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSB1cyBmb3JtIHN0eWxlcyBmb3Igcm93cyBpbnNpZGUgb2YgZm9ybXNcbkBtaXhpbiBmb3JtLXJvdy1iYXNlIHtcbiAgLnJvdyB7IG1hcmdpbjogMCAoKC0kZm9ybS1zcGFjaW5nKSAvIDIpO1xuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDAgKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxuXG4gICAgLy8gVXNlIHRoaXMgdG8gY29sbGFwc2UgdGhlIG1hcmdpbnMgb2YgYSBmb3JtIHJvd1xuICAgICYuY29sbGFwc2UgeyBtYXJnaW46IDA7XG5cbiAgICAgIC5jb2x1bW4sXG4gICAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDA7IH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgaW5wdXQuY29sdW1uLFxuICBpbnB1dC5jb2x1bW5zLFxuICB0ZXh0YXJlYS5jb2x1bW4sXG4gIHRleHRhcmVhLmNvbHVtbnMgeyBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgdGhlaXIgc3R5bGVcbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctY29sb3I7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Qge1xuICAgIEBpbmNsdWRlIGJsb2NrLWdsb3dpbmctZWZmZWN0KGZvY3VzLCAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lLCAkZ2xvd2luZy1lZmZlY3QtY29sb3IpO1xuICB9XG4gIC8vIEJhc2ljIGZvY3VzIHN0eWxlc1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBiYWNrZ3JvdW5kIGlucHV0IGJhY2tncm91bmQgY29sb3JcbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZm9ybSBsYWJlbHNcbi8vXG4vLyAkYWxpZ25tZW50IC0gQWxpZ25tZW50IG9wdGlvbnMuIERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBbcmlnaHQsIGlubGluZSwgZmFsc2VdXG4vLyAkYmFzZS1zdHlsZSAtIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBmb3JtLWxhYmVsKCRhbGlnbm1lbnQ6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkZm9ybS1sYWJlbC1wb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjtcbiAgfVxuXG4gIC8vIEFsaWdubWVudCBvcHRpb25zXG4gIEBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gaW5saW5lIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSAwO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4L3ByZWZpeCBmb3JtIExhYmVsc1xuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBsaW5lLWhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG92ZXJmbG93OiAkaW5wdXQtcHJlZml4LW92ZXJmbG93O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHByZWZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDpmYWxzZVxuLy9cbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IG5vbmU7XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlci1sZWZ0LWhpZGRlbjp0cnVlLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlICBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXdpZHRoICRmaWVsZHNldC1ib3JkZXItc3R5bGUgJGZpZWxkc2V0LWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcblxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xuICBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3Igb2YgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIEdvIGJhY2sgdG8gbm9ybWFsIG9uIGZvY3VzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgc2ltcGxlIG1peGluIHRvIHN0eWxlIGxhYmVscyBmb3IgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiRhbGVydC1jb2xvci4gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBlcnJvciBtZXNzYWdlIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChGb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplO1xuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcbiAgcGFkZGluZzogJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZztcblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHNlbGVjdCBlbGVtZW50c1xuQG1peGluIGZvcm0tc2VsZWN0ICB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iZy1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGN1c3RvbSBhcnJvdyBoYXMgc29tZSBmYWtlIGhvcml6b250YWwgcGFkZGluZyBzbyB3ZSBjYW4gYWxpZ24gaXRcbiAgLy8gZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHJlbHlpbmcgb24gQ1NTM1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jKycpO1xuXG4gIC8vIFdlIGNhbiBzYWZlbHkgdXNlIGxlZnRtb3N0IGFuZCByaWdodG1vc3Qgbm93XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSAncnRsJywgMCUsIDEwMCUpIGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXG5AbWl4aW4gaHRtbDVudW1iZXIoJGJyb3dzZXIsICRvbjogdHJ1ZSkge1xuICBAaWYgJG9uID09IGZhbHNlIHtcbiAgICAgIEBpZiAkYnJvd3NlciA9PSB3ZWJraXQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXIgPT0gbW96IHtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImZvcm1cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgIC8qIFN0YW5kYXJkIEZvcm1zICovXG4gICAgZm9ybSB7IG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7IH1cblxuICAgIC8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG4gICAgZm9ybSAucm93IHsgQGluY2x1ZGUgZm9ybS1yb3ctYmFzZTsgfVxuXG4gICAgLyogTGFiZWwgU3R5bGVzICovXG4gICAgbGFiZWwgeyBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxuICAgICAgJi5pbmxpbmUgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKGlubGluZSwgZmFsc2UpOyB9XG4gICAgICAvKiBTdHlsZXMgZm9yIHJlcXVpcmVkIGlucHV0cyAqL1xuICAgICAgc21hbGwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbiAgICAucHJlZml4LFxuICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcHJlZml4LXBvc3RmaXgtYmFzZTsgfVxuXG4gICAgLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbiAgICAucG9zdGZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwb3N0Zml4KGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG4gICAgLnByZWZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwcmVmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnByZWZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgIC8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi9cbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cbiAgICBzcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXggeyBAaW5jbHVkZSBwb3N0Zml4KCk7IH1cblxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAgIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCA9PSBmYWxzZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xuICAgIHRleHRhcmVhW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGUgcGxhY2Vob2xkZXIgdGV4dCBjcm9zcyBicm93c2VyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG5cbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbiAgICBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgJlttdWx0aXBsZV0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmb3JtLXNwYWNpbmcgKiAuNTtcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XG4gICAgfVxuXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cbiAgICBmaWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgICB9XG5cbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xuXG4gICAgI3tkYXRhKCdhYmlkZScpfSB7XG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgPiBzbWFsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmVycm9yLFxuICAgIHRleHRhcmVhLmVycm9yLFxuICAgIHNlbGVjdC5lcnJvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcblxuJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEB2YXJpYWJsZXNcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcbiRpY29uLWJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBpY29ucy5cbiRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBJY29uIGJhciBlbGVtZW50LlxuLy9cbkBtaXhpbiBpY29uLWJhci1iYXNlKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1JTtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodDtcbiAgICAgIHdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgJi5sYWJlbC1yaWdodCA+ICoge1xuXG4gICAgaSwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAuMDYyNXJlbSAwIDA7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgfVxuXG4gICYudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJi52ZXJ0aWNhbCwgJi5zbWFsbC12ZXJ0aWNhbHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuaXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYubWVkaXVtLXZlcnRpY2FsIHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3IgaWNvbiBiYXJzLlxuQG1peGluIGljb24tYmFyLXNpemUoXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplLFxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcbiAgJGltYWdlLWhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodCkge1xuXG4gID4gKiB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgaSwgaW1nIHtcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkaW1hZ2UtaGVpZ2h0O1xuICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gaWNvbi1iYXItc3R5bGUoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkYmFzZS1zdHlsZTp0cnVlLFxuICAkZGlzYWJsZWQ6ZmFsc2UpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgYmFja2dyb3VuZDogJGJhci1iZztcblxuICAgID4gKiB7XG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3I7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3I7IH1cbiAgICB9XG5cbiAgICA+IGE6aG92ZXIge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWhvdmVyLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG5cbiAgICAgICAgPiBhLmFjdGl2ZSB7XG5cbiAgICAgIGJhY2tncm91bmQ6ICRiYXItYWN0aXZlLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgLml0ZW0uZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgID4qIHtcbiAgICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBpY29uIGJhcnMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy8gJGhlaWdodCAtIFRoZSBvdmVyYWxsIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBpY29uIGJhciAoaG9yaXpvbnRhbClcbi8vICRiYXItYmcgLSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYmFyXG4vLyAkYmFyLWZvbnQtY29sb3IgLSB0aGUgZm9udCBjb2xvclxuLy8gJGJhci1ob3Zlci1jb2xvciAtIG9rYXkgdGhlc2UgYXJlIHByZXR0eSBvYnZpb3VzIHZhcmlhYmxlc1xuLy8gJGJhci1pY29uLWNvbG9yIC0gbWF5YmUgd2UgY291bGQgc2tpcCBleHBsYWluaW5nIHRoZW0gYWxsPyBPa2F5IHRoaXMgb25lIGRvZXMgY2hhbmdlIGljb24gY29sb3IgaWYgeW91IHVzZSBhbiBpY29uIGZvbnRcbi8vICRiYXItYWN0aXZlLWNvbG9yIC0gdGhlIGNvbG9yIG9mIGFuIGFjdGl2ZSAvIGhvdmVyIHN0YXRlXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc2FibGVkIC0gQWxsb3cgZGlzYWJsZWQgaWNvbnM/IERlZmF1bHQ6IGZhbHNlLlxuXG5AbWl4aW4gaWNvbi1iYXIoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQsXG4gICRiYXNlLXN0eWxlOnRydWUsXG4gICRkaXNhYmxlZDp0cnVlKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItYmFzZSgpO1xuICAgIEBpbmNsdWRlIGljb24tYmFyLXNpemUoJHBhZGRpbmcsICRmb250LXNpemUsICRpY29uLXNpemUsICRpbWFnZS13aWR0aCwgJGltYWdlLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc3R5bGUoJGJhci1iZywgJGJhci1mb250LWNvbG9yLCAkYmFyLWZvbnQtY29sb3ItaG92ZXIsICRiYXItaG92ZXItY29sb3IsICRiYXItaWNvbi1jb2xvciwgJGJhci1pY29uLWNvbG9yLWhvdmVyLCAkYmFyLWFjdGl2ZS1jb2xvciwgJGJhc2Utc3R5bGUsICRkaXNhYmxlZCk7XG5cbiAgLy8gQ291bnRzXG5cbiAgJi50d28tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRocmVlLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZvdXItdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDI1JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZpdmUtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNpeC11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V2ZW4tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZWlnaHQtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImljb24tYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG4gICAgLmljb24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFyO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcblxuICAvLyB0b29sYmFyIHN0eWxlc1xuXG4gIC5pY29uLWJhciB7XG5cbiAgICAvLyBDb3VudHNcblxuICAgICYudHdvLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudGhyZWUtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZvdXItdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5maXZlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2l4LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2V2ZW4tdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmVpZ2h0LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcblxuJGlubGluZS1saXN0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGlubGluZSBsaXN0c1xuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGlubGluZS1saXN0LXRvcC1tYXJnaW47XG4gIG1hcmdpbi1ib3R0b206ICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjtcbiAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW47XG4gIG92ZXJmbG93OiAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c7XG4gIHBhZGRpbmc6ICRpbmxpbmUtbGlzdC1wYWRkaW5nO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1kaXNwbGF5O1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW47XG4gICAgPiAqIHsgZGlzcGxheTogJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiaW5saW5lLWxpc3RcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzIHtcbiAgICAuaW5saW5lLWxpc3Qge1xuICAgICAgQGluY2x1ZGUgaW5saW5lLWxpc3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xuJGpveXJpZGUtdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4ICFkZWZhdWx0O1xuXG4vLyBIZXJlLCB3ZSdyZSBzZXR0aW5nIHRoZSB0aXAgZm9udCBzdHlsZXNcbiRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcbiRqb3lyaWRlLXRpcC1udWItc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4kam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcblxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cbiRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtY2xvc2Utc2l6ZTogMjRweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIFdoZW4gSm95cmlkZSBpcyBmaWxsaW5nIHRoZSBzY3JlZW4sIHdlIHVzZSB0aGlzIHN0eWxlIGZvciB0aGUgYmdcbiRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KSAhZGVmYXVsdDtcblxuXG4vLyBXZSBkZWNpZGVkIG5vdCB0byBtYWtlIGEgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpdCByZWxpZXMgb25cbi8vIHByZWRlZmluZWQgY2xhc3NlcyB0byB3b3JrIHByb3Blcmx5LlxuQGluY2x1ZGUgZXhwb3J0cyhcImpveXJpZGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBKb3lyaWRlICovXG4gICAgLmpveXJpZGUtbGlzdCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8qIERlZmF1bHQgc3R5bGVzIGZvciB0aGUgY29udGFpbmVyICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC1iZztcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIHotaW5kZXg6IDEwMztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAyLjUlO1xuICAgIH1cblxuICAgIC5sdC1pZTkgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTQwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6ICRqb3lyaWRlLXRpcC1wYWRkaW5nO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAgICAgLmpveXJpZGUtcHJldi10aXAgeyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICB9XG5cbiAgICAvKiBBZGQgYSBsaXR0bGUgY3NzIHRyaWFuZ2xlIHBpcCwgb2xkZXIgYnJvd3NlciBqdXN0IG1pc3Mgb3V0IG9uIHRoZSBmYW5jaW5lc3Mgb2YgaXQgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgLmpveXJpZGUtbnViIHtcbiAgICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtbnViLXNpemUgc29saWQgJGpveXJpZGUtdGlwLWJnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcblxuICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmc7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdG9wOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgfVxuICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWdodCB7IHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxuICAgICAgICAmLmxlZnQgeyBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFR5cG9ncmFwaHkgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDEsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgyLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMyxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDQsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg1LFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNiB7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHAge1xuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE4IDApO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvci13cmFwIHtcbiAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLWJvcmRlcjtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgaGVpZ2h0OiAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6ICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IHJlbS1jYWxjKDE3KTtcbiAgICB9XG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtY2xvc2UtdGlwIHtcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtY2xvc2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogJGpveXJpZGUtdGlwLWNsb3NlLXNpemU7XG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuNSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTJweDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBjb2xvcjogJHNtb2tlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICAuam95cmlkZS1tb2RhbC1iZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS1zY3JlZW5maWxsO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG5cbiAgICAuam95cmlkZS1leHBvc2Utd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDI7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtZXhwb3NlLWNvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgfVxuXG5cbiAgICAvKiBTdHlsZXMgZm9yIHNjcmVlbnMgdGhhdCBhcmUgYXQgbGVhc3QgNzY4cHg7ICovXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XG4gICAgICAuam95cmlkZS10aXAtZ3VpZGUgeyB3aWR0aDogJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg7ICN7JGRlZmF1bHQtZmxvYXR9OiBpbmhlcml0O1xuICAgICAgICAuam95cmlkZS1udWIge1xuICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cbiRrZXlzdHJva2UtZm9udDogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yOiAtNyUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlcy5cbiRrZXlzdHJva2UtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigka2V5c3Ryb2tlLWJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGtleXN0cm9rZSBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAka2V5c3Ryb2tlLWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuQG1peGluIGtleXN0cm9rZSgkYmc6JGtleXN0cm9rZS1iZykge1xuICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGFkanVzdCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ7IH1cblxuICBib3JkZXItc3R5bGU6ICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRrZXlzdHJva2UtYm9yZGVyLXdpZHRoO1xuICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICBmb250LXNpemU6ICRrZXlzdHJva2UtZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImtleXN0cm9rZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzICB7XG4gICAgLmtleXN0cm9rZSxcbiAgICBrYmQge1xuICAgICAgQGluY2x1ZGUga2V5c3Ryb2tlO1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRrZXlzdHJva2UtcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXG4kbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0O1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxuJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGxhYmVsIGJhc2UuXG5AbWl4aW4gbGFiZWwtYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRsYWJlbC1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRsYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc2l6ZSBzdHlsZXMuXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHBhZGRpbmcuIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdFxuLy8gJHRleHQtc2l6ZSAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHRleHQtc2l6ZS4gRGVmYXVsdDogJHRleHQtc2l6ZSBmb3VuZCBpbiBzZXR0aW5nc1xuQG1peGluIGxhYmVsLXNpemUoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nKSB7XG4gIEBpZiAkcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG4gIEBpZiAkdGV4dC1zaXplIHsgZm9udC1zaXplOiAkdGV4dC1zaXplOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc3R5bGVzLlxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUsIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBjb21lcyB0aHJvdWdoXG4gIEBpZiAkYmcge1xuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvci1hbHQ7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvcjsgfVxuICB9XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgcmFkaXVzIG9uIGxhYmVscy5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkbGFiZWwtcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBjbG9zZSBidXR0b25zIHRvIGFsZXJ0c1xuLy8gJHBhZGRpbmcgLSBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyxcbi8vICR0ZXh0LXNpemUgLSBEZWZhdWx0OiAkbGFiZWwtZm9udC1zaXppbmcsXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvcihmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlIHdoaWNoIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZywgJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcbiAgQGluY2x1ZGUgbGFiZWwtc2l6ZSgkcGFkZGluZywgJHRleHQtc2l6ZSk7XG4gIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRiZywgJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJsYWJlbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXMge1xuICAgIC5sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCB0cnVlKTsgfVxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCAkcmFkaXVzOjEwMDBweCk7IH1cblxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kbWFnZWxsYW4tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwibWFnZWxsYW5cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzIHtcblxuICAgICN7ZGF0YSgnbWFnZWxsYW4tZXhwZWRpdGlvbicpfSwgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lJyl9IHtcbiAgICAgIGJhY2tncm91bmQ6ICRtYWdlbGxhbi1iZztcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRtYWdlbGxhbi1wYWRkaW5nO1xuICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgIC5zdWItbmF2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBjYXB0aW9uIHN0eWxlc1xuJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWJnOiByZ2JhKDUxLDUxLDUxLCAuOCkgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiICFkZWZhdWx0OyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDEwIDE0KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0byAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxlZnQvcmlnaHQgbmF2IHN0eWxlc1xuJG9yYml0LW5hdi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWFycm93LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aW1lciBzdHlsZXNcbiRvcmJpdC10aW1lci1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpICFkZWZhdWx0O1xuJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yLWFjdGl2ZTogJGFsdW1pbnVtICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgdGhlIHN0eWxlIG9mIHNsaWRlIG51bWJlcnNcbiRvcmJpdC1zbGlkZS1udW1iZXItYmc6IHJnYmEoMCwwLDAsMCkgIWRlZmF1bHQ7XG4kb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG5cbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXG4kd3JhcHBlci1jbGFzczogXCJzbGlkZXNob3ctd3JhcHBlclwiICFkZWZhdWx0O1xuJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIiAhZGVmYXVsdDtcblxuLy8gSGlkZSBjb250cm9scyBvbiBzbWFsbFxuJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcIm9yYml0XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlcyB7XG5cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIE9yYml0IEdyYWNlZnVsIExvYWRpbmcgKi9cbiAgICAuI3skd3JhcHBlci1jbGFzc30ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIC8vIFByZXZlbnQgYnVsbGV0cyBzaG93aW5nIGJlZm9yZSAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAvLyBIaWRlIGFsbCBsaXN0IGl0ZW1zXG4gICAgICAgIGxpLFxuICAgICAgICBsaSAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAvLyAuLi5leGNlcHQgZm9yIHRoZSBmaXJzdCBvbmVcbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtY29udGFpbmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gU2hvdyBpbWFnZXMgd2hlbiAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxuICAgICAgICBsaSB7IGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgLm9yYml0LWNhcHRpb24geyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG4gICAgICAgIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT3JiaXQgcHJlbG9hZGVyXG4gICAgICAuI3skcHJlbG9hZGVyLWNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNoYXJjb2FsICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1jb250YWluZXItYmc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gUHJldmVudHMgaW1hZ2VzIChhbmQgY2FwdGlvbnMpIGZyb20gZGlzYXBwZWFyaW5nIGFmdGVyIGZpcnN0IHJvdGF0aW9uIG9uIENocm9tZSBmb3IgQW5kcm9pZFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgIGltZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgICAgICBAaWYgJG9yYml0LWNhcHRpb24tcG9zaXRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcInVuZGVyXCIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJnO1xuICAgICAgICAgICAgY29sb3I6ICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnO1xuICAgICAgICBjb2xvcjogJG9yYml0LXNsaWRlLW51bWJlci1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgc3BhbiB7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6ICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzt9XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC10aW1lciB7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTBweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIFxuXG4gICAgICAgIC5vcmJpdC1wcm9ncmVzcyB7XG4gICAgICAgICAgQGlmICRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC10aW1lci1iZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGxheSBidXR0b25cbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGF1c2UgYnV0dG9uXG4gICAgICAgICYucGF1c2VkIHtcbiAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtNHB4O1xuXG4gICAgICAgICAgICAmLmRhcmsge1xuICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG9pbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICAgICY6aG92ZXIgLm9yYml0LXRpbWVyID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIC8vIExldCdzIGdldCB0aG9zZSBjb250cm9scyB0byBiZSByaWdodCBpbiB0aGUgY2VudGVyIG9uIGVhY2ggc2lkZVxuICAgICAgLm9yYml0LXByZXYsXG4gICAgICAub3JiaXQtbmV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmc7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogaW5zZXQgMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JiaXQtcHJldiB7ICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JiaXQtbmV4dCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3JiaXQtYnVsbGV0cy1jb250YWluZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAub3JiaXQtYnVsbGV0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMTBweDtcblxuICAgICAgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1yYWRpdXM7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA2cHg7XG4gICAgICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcblxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG91Y2gge1xuICAgICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgICAub3JiaXQtbmV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIH1cblxuICAgICAgLm9yYml0LWJ1bGxldHMgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cbiAgICAgIC50b3VjaCB7XG4gICAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogaW5oZXJpdDsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIC5vcmJpdC1zdGFjay1vbi1zbWFsbCB7XG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDt9XG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XG4gICAgICAgICAgbWFyZ2luOjAgICFpbXBvcnRhbnQ7XG4gICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtdGltZXJ7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgICBAaWYgJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtbmV4dCwub3JiaXQtcHJldntkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICAgIEBpZiAkb3JiaXQtYnVsbGV0LWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC1idWxsZXRze2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXG4kcGFnaW5hdGlvbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFN0eWxlIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQ3VycmVudGx5IG9ubHkgdXNlZCB3aGVuIGNlbnRlcmluZyBlbGVtZW50cy5cbi8vICRjZW50ZXIgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcbiAgQGlmICRjZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbn1cblxuLy8gQG1peGluc1xuLy8gU3R5bGUgdW5hdmFpbGFibGUgbGlzdCBpdGVtc1xuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XG4gIGEsIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICY6aG92ZXIgYSxcbiAgJiBhOmZvY3VzLFxuXG4gICY6aG92ZXIgYnV0dG9uLFxuICAmIGJ1dHRvbjpmb2N1c1xuICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOyB9XG59XG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIERvIG5vdCBhc3N1bWUgdGhhdCB0aGUgY3VycmVudCBpdGVtIGhhc1xuLy8gYW4gYW5jaG9yIDxhPiBlbGVtZW50LlxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCRoYXMtYW5jaG9yOiB0cnVlKSB7XG4gIEBpZiAkaGFzLWFuY2hvciB7XG4gICAgYSwgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgIEBpbmNsdWRlIHJhZGl1cztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgY3JlYXRpbmcgRm91bmRhdGlvbiBwYWdpbmF0aW9uXG4vLyAkY2VudGVyIC0gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJHVzZS1kZWZhdWx0LWNsYXNzZXMgLSBNYWtlcyB1bmF2YWlsYWJsZSAmIGN1cnJlbnQgY2xhc3NlcyBhdmFpbGFibGUgZm9yIHVzZS4gRGVmYXVsdDogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24oJGNlbnRlcjpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSwgJHVzZS1kZWZhdWx0LWNsYXNzZXM6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24taGVpZ2h0O1xuXG4gICAgbGkge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTtcbiAgICAgIGhlaWdodDogJHBhZ2luYXRpb24tbGktaGVpZ2h0O1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1saS1tYXJnaW47XG5cbiAgICAgIGEsIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIGEsXG4gICAgICBhOmZvY3VzLFxuICAgICAgJjpob3ZlciBidXR0b24sXG4gICAgICBidXR0b246Zm9jdXNcbiAgICAgIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc7IH1cblxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcbiAgICAgICAgJi51bmF2YWlsYWJsZSB7IEBpbmNsdWRlIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSgpOyB9XG4gICAgICAgICYuY3VycmVudCB7IEBpbmNsdWRlIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHNcbiAgbGkge1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogJHBhZ2luYXRpb24tbGktZmxvYXQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYWdpbmF0aW9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlcyB7XG4gICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qIFBhZ2luYXRpb24gY2VudHJlZCB3cmFwcGVyICovXG4gICAgLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XG5cbiAgICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXG4kcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1iZzogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4kcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6IC0xMSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuJHBhbmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kcGFuZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxuLy8gJGJnIC0gU2V0cyB0aGUgcGFuZWwgYmFja2dyb3VuZCBjb2xvci4gRGVmYXVsdDogJHBhbmVsLXBnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdFxuLy8gJHBhZGRpbmcgLSBTZXRzIHRoZSBwYW5lbCBwYWRkaW5nIGFtb3VudC4gRGVmYXVsdDogJHBhbmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoMjApXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxuQG1peGluIHBhbmVsKCRiZzokcGFuZWwtYmcsICRwYWRkaW5nOiRwYW5lbC1wYWRkaW5nLCAkYWRqdXN0OiRwYW5lbC1oZWFkZXItYWRqdXN0LCAkYm9yZGVyOnRydWUpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIEBpZiAkYm9yZGVyIHtcbiAgICAgIGJvcmRlci1zdHlsZTogJHBhbmVsLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJHBhbmVsLWJvcmRlci1zaXplO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFuZWwtYm9yZGVyLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIG1hcmdpbi1ib3R0b206ICRwYW5lbC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuXG4gICAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgICA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgQGlmICRhZGp1c3Qge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcuXG4gICAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+PSA1MCUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7IH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuICAgICAgfVxuXG4gICAgICAvLyByZXNldCBoZWFkZXIgbGluZS1oZWlnaHRzIGZvciBwYW5lbHNcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIC8gMjtcbiAgICAgICAgJi5zdWJoZWFkZXIgeyBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYW5lbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXMge1xuXG4gICAgLyogUGFuZWxzICovXG4gICAgLnBhbmVsIHsgQGluY2x1ZGUgcGFuZWw7XG5cbiAgICAgICYuY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcbiAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxuJHByaWNlLXRhYmxlLWJvcmRlcjogc29saWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcbiRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcbiRwcmljZS10aXRsZS1iZzogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCkgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1jb2xvcjogJHNtb2tlICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXG4kcHJpY2UtbW9uZXktYmc6ICR2YXBvciAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCkgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgZGVzY3JpcHRpb24gc3R5bGVzXG4kcHJpY2UtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW0gc3R5bGVzXG4kcHJpY2UtaXRlbS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIENUQSBhcmVhIHN0eWxlc1xuJHByaWNlLWN0YS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWN0YS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKSAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAkcHJpY2UtdGFibGUtYm9yZGVyO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tO1xuXG4gICYgKiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgcHJpY2luZyB0YWJsZSB0aXRsZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLXRpdGxlLWJnO1xuICBjb2xvcjogJHByaWNlLXRpdGxlLWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS10aXRsZS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLXRpdGxlLXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLXRpdGxlLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS10aXRsZS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgdGhlIHByaWNpbmcgdGFibGUgcHJpY2Ugc3R5bGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1wcmljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1tb25leS1iZztcbiAgY29sb3I6ICRwcmljZS1tb25leS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRwcmljZS1tb25leS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkcHJpY2UtbW9uZXktc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1tb25leS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1tb25leS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtbW9uZXktYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGRlc2NyaXB0aW9uIHN0eWxlcyBmb3IgdGhlIHByaWNpbmcgdGFibGVcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyO1xuICBjb2xvcjogJHByaWNlLWRlc2MtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHByaWNlLWRlc2MtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLWRlc2Mtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1kZXNjLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1kZXNjLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIGJ1bGxldCBpdGVtcyBpbiB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtYnVsbGV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyO1xuICBjb2xvcjogJHByaWNlLWl0ZW0tY29sb3I7XG4gIGZvbnQtc2l6ZTogJHByaWNlLWl0ZW0tZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLWl0ZW0td2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtaXRlbS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtaXRlbS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHRoZSBDVEEgYXJlYSBvZiB0aGUgcHJpY2luZyB0YWJsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1jdGEtYmc7XG4gIHBhZGRpbmc6ICRwcmljZS1jdGEtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWN0YS1hbGlnbjtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInByaWNpbmctdGFibGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXMge1xuXG4gICAgLyogUHJpY2luZyBUYWJsZXMgKi9cbiAgICAucHJpY2luZy10YWJsZSB7XG4gICAgICBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWNvbnRhaW5lcjtcblxuICAgICAgLnRpdGxlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS10aXRsZTsgfVxuICAgICAgLnByaWNlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1wcmljZTsgfVxuICAgICAgLmRlc2NyaXB0aW9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbjsgfVxuICAgICAgLmJ1bGxldC1pdGVtIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1idWxsZXQ7IH1cbiAgICAgIC5jdGEtYnV0dG9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1jdGE7IH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XG4kcHJvZ3Jlc3MtYmFyLWhlaWdodDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogJHZhcG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMjAlKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtYXJnaW4gJiBwYWRkaW5nXG4kcHJvZ3Jlc3MtYmFyLXBhZDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbWV0ZXIgY29sb3JzXG4kcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHVwIHRoZSBwcm9ncmVzcyBiYXIgY29udGFpbmVyXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgYm9yZGVyOiAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplICRwcm9ncmVzcy1iYXItYm9yZGVyLXN0eWxlICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1iYXItaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmc6ICRwcm9ncmVzcy1iYXItcGFkO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gJGJnIC0gRGVmYXVsdDogJHByb2dyZXNzLW1ldGVyLWNvbG9yIHx8ICRwcmltYXJ5LWNvbG9yXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInByb2dyZXNzLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuXG4gICAgLyogUHJvZ3Jlc3MgQmFyICovXG4gICAgLnByb2dyZXNzIHtcbiAgICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgICAgLy8gTWV0ZXJcbiAgICAgIC5tZXRlciB7XG4gICAgICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuXG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG4gICAgICB9XG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cygkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXMgLSAxKTsgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3JhbmdlLXNsaWRlci5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbiRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMSUpICFkZWZhdWx0O1xuXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0OiByZW0tY2FsYygyMDApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSB2YXJpYWJsZXMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmUgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItd2lkdGg7XG4gIH1cbn1cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLXN0eWxlKFxuICAkYmc6IHRydWUsXG4gICRyYWRpdXM6IGZhbHNlLFxuICAkcm91bmQ6IGZhbHNlLFxuICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XG4gIEBpZiAkcm91bmQgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJvdW5kKTsgfVxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xuICAgIGN1cnNvcjogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxuICAkYmc6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZTtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZSgpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A7XG4gIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgei1pbmRleDogMTtcblxuICAvLyBUaGlzIHJlbW92ZXMgdGhlIDMwMG1zIHRvdWNoIGRlbGF5IG9uIFdpbmRvd3MgOFxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I7XG4gIH1cbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZTtcbn1cblxuLy8gQ1NTIEdlbmVyYXRpb25cbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXMge1xuICAgIC5yYW5nZS1zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czpmYWxzZSk7XG4gICAgICAmLnZlcnRpY2FsLXJhbmdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgICBib3R0b206IC0oJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0IC0gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGgpO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQgLSByZW0tY2FsYygoc3RyaXAtdW5pdCgkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGgpICogMikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJhZGl1czp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyYWRpdXM6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLnJvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcm91bmQ6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcm91bmQ6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJGRpc2FibGVkOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGRpc2FibGVkOiB0cnVlKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czogZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQG5hbWUgX3JldmVhbC5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcbiRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlICFkZWZhdWx0O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbiRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4kcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcblxuLy8gU2V0IGJhc2Ugei1pbmRleFxuJHotaW5kZXgtYmFzZTogMTAwNTtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gYWxsb3dzIG1vZGFsIGJhY2tncm91bmQgdG8gZXh0ZW5kIGJleW9uZCB3aW5kb3cgcG9zaXRpb25cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IGlmKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlLCAkei1pbmRleC1iYXNlIC0gMSwgYXV0byApO1xuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkYmFzZS1zdHlsZSAtIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcbi8vXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2UoICRiYXNlLXN0eWxlOiB0cnVlLCAkd2lkdGg6JHJldmVhbC1kZWZhdWx0LXdpZHRoLCAkbWF4LXdpZHRoOiRyZXZlYWwtbWF4LXdpZHRoLCAkYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXMpIHtcbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIG1hcmdpbiBmcm9tIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnQgaW5zaWRlIG1vZGFsXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXG4vL1xuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cbi8vICRib3JkZXIgLSBDaG9vc2Ugd2hldGhlciByZXZlYWwgdXNlcyBhIGJvcmRlci4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXG4vLyAkYm9yZGVyLWNvbG9yIC0gQ29sb3Igb2YgYm9yZGVyLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1jb2xvci5cbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJHRvcC1vZmZzZXQgLSBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCB8fCA1MHB4XG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAkYmc6ZmFsc2UsXG4gICRwYWRkaW5nOmZhbHNlLFxuICAkYm9yZGVyOmZhbHNlLFxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAkYm94LXNoYWRvdzpmYWxzZSxcbiAgJHJhZGl1czpmYWxzZSxcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcblxuICBAaWYgJGJnIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG5cbiAgQGlmICRib3JkZXIgeyBib3JkZXI6ICRib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkYm9yZGVyLWNvbG9yOyB9XG5cbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXG4gIEBpZiAkYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xuICB9XG4gIEBlbHNle1xuICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCByYWRpdXMgaXMgdXNlZCBvbiB0aGUgbW9kYWxcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmV2ZWFsLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG4gIEBpZiAkdG9wLW9mZnNldCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgdG9wOiAkdG9wLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uIGZvciB0aGUgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJHJldmVhbC1jbG9zZS1jb2xvciB8fCAkYmFzZVxuQG1peGluIHJldmVhbC1jbG9zZSgkY29sb3I6JHJldmVhbC1jbG9zZS1jb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgZm9udC1zaXplOiAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRyZXZlYWwtY2xvc2Utd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRyZXZlYWwtY2xvc2UtdG9wO1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkcmV2ZWFsLWNsb3NlLXNpZGU7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJyZXZlYWxcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBSZXZlYWwgTW9kYWxzXG4gICAgLnJldmVhbC1tb2RhbC1iZyB7IEBpbmNsdWRlIHJldmVhbC1iZzsgfVxuXG4gICAgLiN7JHJldmVhbC1tb2RhbC1jbGFzc30ge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoXG4gICAgICAgICRiZzokcmV2ZWFsLW1vZGFsLWJnLFxuICAgICAgICAkcGFkZGluZzokcmV2ZWFsLW1vZGFsLXBhZGRpbmcsXG4gICAgICAgICRib3JkZXI6dHJ1ZSxcbiAgICAgICAgJGJveC1zaGFkb3c6dHJ1ZSxcbiAgICAgICAgJHJhZGl1czpmYWxzZSxcbiAgICAgICAgJHRvcC1vZmZzZXQ6JHJldmVhbC1wb3NpdGlvbi10b3BcbiAgICAgICk7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6dHJ1ZSk7IH1cbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6JHJldmVhbC1yb3VuZCk7IH1cbiAgICAgICYuY29sbGFwc2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHBhZGRpbmc6MCk7IH1cbiAgICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgMzAlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA0MCUpOyB9XG4gICAgICAmLm1lZGl1bSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNjAlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA3MCUpOyB9XG4gICAgICAmLnhsYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA5NSUpOyB9XG4gICAgICAmLmZ1bGwge1xuICAgICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgMTAwJSk7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgICAgICB0b3A6MDtcbiAgICAgIH1cblxuICAgICAgLy8gTW9kYWxzIHB1c2hlZCB0byBiYWNrXG4gICAgICAmLnRvYmFjayB7XG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWJhc2UgLSAyO1xuICAgICAgfVxuXG4gICAgICAuI3skY2xvc2UtcmV2ZWFsLW1vZGFsLWNsYXNzfSB7IEBpbmNsdWRlIHJldmVhbC1jbG9zZTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxuJHNpZGUtbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDE0IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cbiRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDcgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpbmsgc3R5bGVzLlxuJHNpZGUtbmF2LWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyOiBoc2xhKDAsIDAsIDAsIC4wMjUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstbWFyZ2luOiAwICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstcGFkZGluZzogcmVtLWNhbGMoNyAxNCkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlOiAkc2lkZS1uYXYtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkaW5nIHN0eWxlcy5cbiRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvciAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTogJHNpZGUtbmF2LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHNpZGUtbmF2XG4vL1xuLy8gJGRpdmlkZXItY29sb3IgLSBCb3JkZXIgY29sb3Igb2YgZGl2aWRlci4gRGVmYXVsdDogJHNpZGUtbmF2LWRpdmlkZXItY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIG5hdiBpdGVtcy4gRGVmYXVsdDogJHNpZGUtbmF2LWZvbnQtc2l6ZS5cbi8vICRsaW5rLWNvbG9yIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcy4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3IuXG4vLyAkbGluay1jb2xvci1ob3ZlciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3Mgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlci5cbkBtaXhpbiBzaWRlLW5hdihcbiAgJGRpdmlkZXItY29sb3I6JHNpZGUtbmF2LWRpdmlkZXItY29sb3IsXG4gICRmb250LXNpemU6JHNpZGUtbmF2LWZvbnQtc2l6ZSxcbiAgJGxpbmstY29sb3I6JHNpZGUtbmF2LWxpbmstY29sb3IsXG4gICRsaW5rLWNvbG9yLWFjdGl2ZTokc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmUsXG4gICRsaW5rLWNvbG9yLWhvdmVyOiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLFxuICAkbGluay1iZy1ob3Zlcjokc2lkZS1uYXYtbGluay1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJHNpZGUtbmF2LWxpc3QtcG9zaXRpb247XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHNpZGUtbmF2LWxpc3QtdHlwZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkc2lkZS1uYXYtcGFkZGluZztcblxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAkc2lkZS1uYXYtbGlzdC1tYXJnaW47XG5cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpbmstbWFyZ2luO1xuICAgICAgcGFkZGluZzogJHNpZGUtbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstYmctaG92ZXI7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSA+IGE6Zmlyc3QtY2hpbGQ6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU7XG4gICAgICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuZGl2aWRlciB7XG4gICAgICBib3JkZXItdG9wOiAkc2lkZS1uYXYtZGl2aWRlci1zaXplICRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmhlYWRpbmcge1xuICAgICAgY29sb3I6ICRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yO1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU7XG4gICAgICAgIHdlaWdodDogJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgICB9XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzaWRlLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc2lkZS1uYXYge0BpbmNsdWRlIHNpZGUtbmF2O31cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZHJvcGRvd24tYnV0dG9ucyc7XG5cbi8vXG4vLyBAbmFtZSBfc3BsaXQtYnV0dG9ucy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9idXR0b25zLnNjc3MsIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcbiRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogMTAgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA2ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1lZGl1bSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA5ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogOCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBzcGxpdCBidXR0b25zIHRoYXQgYnVpbGQgdXBvbiB0aGUgYnV0dG9uIG1peGluc1xuLy9cbi8vICRwYWRkaW5nIC0gVHlwZSBvZiBwYWRkaW5nIHRvIGFwcGx5LiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnM6IHRpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlLlxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS4gRGVmYXVsdDogJHNwbGl0LWJ1dHRvbi1waXAtY29sb3IuXG4vLyAkc3Bhbi1ib3JkZXIgLSBCb3JkZXIgY29sb3Igb2YgYnV0dG9uIGRpdmlkZXIuIERlZmF1bHQ6ICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGUgdG8gc3BsaXQgYnV0dG9uLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHNwbGl0LWJ1dHRvbihcbiAgJHBhZGRpbmc6bWVkaXVtLFxuICAkcGlwLWNvbG9yOiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCBcbiAgJHNwYW4tYm9yZGVyOiRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gV2l0aCB0aGlzLCB3ZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFN0eWxpbmcgZm9yIHRoZSBzcGxpdCBhcnJvdyBjbGlja2FibGUgYXJlYVxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBzb2xpZCAxcHg7XG5cbiAgICAgIC8vIEJ1aWxkaW5nIHRoZSB0cmlhbmdsZSBwaXAgaW5kaWNhdG9yXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRyb2wgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIHNwYW4gYXJlYSBvZiB0aGUgc3BsaXQgYnV0dG9uXG4gIEBpZiAkc3Bhbi1ib3JkZXIge1xuICAgIHNwYW4ge1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkc3Bhbi1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHRpbnkgc2l6ZXNcbiAgQGlmICRwYWRkaW5nID09IHRpbnkge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHNtYWxsIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IHNtYWxsIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBkZWZhdWx0IChtZWRpdW0pIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IG1lZGl1bSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgbGFyZ2Ugc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gbGFyZ2Uge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZztcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZztcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZztcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZztcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udHJvbCB0aGUgY29sb3Igb2YgdGhlIHRyaWFuZ2xlIHBpcFxuICBAaWYgJHBpcC1jb2xvciB7XG4gICAgc3BhbjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzcGxpdC1idXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG5cbiAgICAuc3BsaXQuYnV0dG9uIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uO1xuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgJHNwbGl0LWJ1dHRvbi1waXAtY29sb3IsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCBmYWxzZSwgJHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgZmFsc2UpOyB9XG5cbiAgICAgICYudGlueSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbih0aW55LCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihzbWFsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24obGFyZ2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLmV4cGFuZCB7IHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0LCBmYWxzZSwgZmFsc2UpOyB9XG5cbiAgICAgICYucmFkaXVzIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICYucm91bmQgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sIDEwMDBweCk7IH1cbiAgICAgICYubm8tcGlwe1xuICAgICAgICBzcGFuOmJlZm9yZXsgYm9yZGVyLXN0eWxlOm5vbmU7IH1cbiAgICAgICAgc3BhbjphZnRlcnsgYm9yZGVyLXN0eWxlOm5vbmU7IH1cbiAgICAgICAgc3Bhbj5pe1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMjg4ODllbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC40ODg4OWVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3N1Yi1uYXYuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xuJHN1Yi1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKC00IDAgMTgpICFkZWZhdWx0O1xuJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRlZmluaXRpb25cbiRzdWItbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1wYWRkaW5nOiByZW0tY2FsYygzIDE2KSAhZGVmYXVsdDtcbiRzdWItbmF2LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcblxuJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtYWN0aXZlLWJnLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmcgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuXG4kc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCIgIWRlZmF1bHQ7XG4kc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5cbi8vIENyZWF0ZSBhIHN1Yi1uYXYgaXRlbVxuLy9cbi8vICRmb250LWNvbG9yIC0gRm9udCBjb2xvci4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1jb2xvci5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUuIERlZmF1bHQ6ICRzdWItbmF2LWZvbnQtc2l6ZS5cbi8vICRhY3RpdmUtYmcgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbS4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLlxuLy8gJGFjdGl2ZS1iZy1ob3ZlciAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLCB3aGVuIGhvdmVyZWQuIERlZmF1bHQ6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlci5cbkBtaXhpbiBzdWItbmF2KFxuICAkZm9udC1jb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcixcbiAgJGZvbnQtc2l6ZTogJHN1Yi1uYXYtZm9udC1zaXplLFxuICAkYWN0aXZlLWJnOiAkc3ViLW5hdi1hY3RpdmUtYmcsXG4gICRhY3RpdmUtYmctaG92ZXI6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkc3ViLW5hdi1saXN0LW1hcmdpbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6ICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIGR0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgZHQsXG4gIGRkLFxuICBsaSB7XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBmb250LWZhbWlseTogJHN1Yi1uYXYtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1mb250LXdlaWdodDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRzdWItbmF2LWJvcmRlci1yYWRpdXMpO1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6ICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I7XG4gICAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkc3ViLW5hdi1pdGVtLWRpdmlkZXIgIT0gXCJcIiB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIjeyRzdWItbmF2LWl0ZW0tZGl2aWRlcn1cIjtcbiAgICAgICAgbWFyZ2luOiAwICRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW47XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3ViLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc3ViLW5hdiB7IEBpbmNsdWRlIHN1Yi1uYXY7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXG4kc3dpdGNoLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcbiRzd2l0Y2gtaGVpZ2h0LXRueTogMS41cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtc21sOiAxLjc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbWVkOiAycmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbHJnOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWJvdHRvbS1tYXJnaW46IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXG4kc3dpdGNoLXBhZGRsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjE1cyAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XG4kc3dpdGNoLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBzd2l0Y2ggZWxlbWVudC5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuQG1peGluIHN3aXRjaC1iYXNlKFxuICAkdHJhbnNpdGlvbi1zcGVlZDokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLFxuICAkdHJhbnNpdGlvbi1lYXNlOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSkge1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1ib3R0b20tbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gRGVmYXVsdCBsYWJlbCBzdHlsZXMgZm9yIHR5cGUgYW5kIHRyYW5zaXRpb25cbiAgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAoJHN3aXRjaC1oZWlnaHQtbWVkIC8gMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodC1tZWQgKiAyOyBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZDtcblxuICAgIC8vIFRyYW5zaXRpb24gZm9yIHRoZSBzd2l0Y2ggbGFiZWwgdG8gZm9sbG93IHBhZGRsZVxuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGxlZnQsICR0cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlKTtcbiAgfVxuXG4gIC8vIFNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byByZWNyZWF0ZSB0aGUgZm9ybSB3aXRoIGFueSBKUywgd2UgdXNlIHRoZVxuICAvLyBleGlzdGluZyBjaGVja2JveCBvciByYWRpbyBidXR0b24sIGJ1dCB3ZSBjbGV2ZXJseSBwb3NpdGlvbiBhbmQgaGlkZSBpdC5cbiAgaW5wdXQge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4O1xuXG4gICAgJiArIGxhYmVsIHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBmb3IgdGhlIHN3aXRjaCBpcyBjcmVhdGVkIGZyb20gYW4gYWZ0ZXIgcHN1ZWRvY2xhc3NcbiAgLy8gY29udGVudCBlbGVtZW50LiBUaGlzIGlzIHNpemVkIGFuZCBwb3NpdGlvbmVkLCBhbmQgcmVhY3RzIHRvXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgaW5wdXQuXG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJnO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQgLSAuNXJlbTtcbiAgICBsZWZ0OiAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodC1tZWQgLSAuNXJlbTtcblxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogJHN3aXRjaC1oZWlnaHQtbWVkICsgLjI1cmVtO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIHN3aXRjaGVzLlxuLy9cbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIHRleHQgaW4gc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWZvbnQtc2l6ZS1tZWQuXG4vLyAkbGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBvZiBzd2l0Y2guIERlZmF1bHQ6IDIuM3JlbS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZSgkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQpIHtcblxuICBsYWJlbCB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHdpZHRoOiAkaGVpZ2h0ICogMjtcbiAgfVxuXG4gIGxhYmVsOmFmdGVyIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAuNXJlbTtcbiAgICB3aWR0aDogJGhlaWdodCAtIC41cmVtO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkaGVpZ2h0ICsgLjI1cmVtO1xuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGNvbG9yIGFuZCBvdGhlciBmYW5jaW5lc3MgdG8gdGhlIHN3aXRjaGVzLlxuLy9cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgcG9zaXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtcG9zaXRpdmUtY29sb3IuXG4vLyAkbmVnYXRpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIG5lZ2F0aXZlIHNpZGUgb2Ygc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLW5lZ2F0aXZlLWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyB0byBhcHBseSB0byBzd2l0Y2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzd2l0Y2gtc3R5bGUoXG4gICRwYWRkbGUtYmc6JHN3aXRjaC1wYWRkbGUtYmcsXG4gICRhY3RpdmUtY29sb3I6JHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICB9XG5cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWJnO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHRpbmcgdXAgdGhlIHJhZGl1cyBmb3Igc3dpdGNoZXNcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICB9XG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBzd2l0Y2hlcyB3aXRoIGEgc2luZ2xlIG1peGluXG4vL1xuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyB0byBhcHBseSB0byBzd2l0Y2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzd2l0Y2goXG4gICR0cmFuc2l0aW9uLXNwZWVkOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLFxuICAkdHJhbnNpdGlvbi1lYXNlOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UsXG4gICRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCxcbiAgJHBhZGRsZS1iZzogJHN3aXRjaC1wYWRkbGUtYmcsXG4gICRhY3RpdmUtY29sb3I6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWJhc2UoJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRoZWlnaHQpO1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zdHlsZSgkcGFkZGxlLWJnLCAkYWN0aXZlLWNvbG9yLCAkcmFkaXVzLCAkYmFzZS1zdHlsZSk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzd2l0Y2hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgICAgLnN3aXRjaCB7XG4gICAgICAgIEBpbmNsdWRlIHN3aXRjaDtcblxuICAgICAgICAvLyBMYXJnZSByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtbHJnKTsgfVxuXG4gICAgICAgIC8vIFNtYWxsIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1zbWwpOyB9XG5cbiAgICAgICAgLy8gVGlueSByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC10bnkpOyB9XG5cbiAgICAgICAgLy8gQWRkIGEgcmFkaXVzIHRvIHRoZSBzd2l0Y2hcbiAgICAgICAgJi5yYWRpdXMge1xuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDRweCk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygzcHgpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYWtlIHRoZSBzd2l0Y2ggY29tcGxldGVseSByb3VuZCwgbGlrZSBhIHBpbGxcbiAgICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XG4gICAgICAgICAgbGFiZWw6YWZ0ZXIgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfdGFibGVzLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4kdGFibGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1ldmVuLXJvdy1iZzogJHNub3cgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4kdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbiR0YWJsZS1oZWFkLWJnOiAkd2hpdGUtc21va2UgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgZm9vdCBzdHlsZXNcbiR0YWJsZS1mb290LWJnOiAkdGFibGUtaGVhZC1iZyAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGNhcHRpb25cbiR0YWJsZS1jYXB0aW9uLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSByb3cgcGFkZGluZyBhbmQgZm9udCBzdHlsZXNcbiR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCkgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGFyZSBmb3IgY29udHJvbGxpbmcgdGhlIGxheW91dCwgZGlzcGxheSBhbmQgbWFyZ2luIG9mIHRhYmxlc1xuJHRhYmxlLWxheW91dDogYXV0byAhZGVmYXVsdDtcbiR0YWJsZS1kaXNwbGF5OiB0YWJsZS1jZWxsICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIHRhYmxlIHtcbiAgYmFja2dyb3VuZDogJHRhYmxlLWJnO1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItc3R5bGUgJHRhYmxlLWJvcmRlci1zaXplICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tYm90dG9tO1xuICB0YWJsZS1sYXlvdXQ6ICR0YWJsZS1sYXlvdXQ7XG5cbiAgY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWNhcHRpb24tYmc7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgd2VpZ2h0OiAkdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDtcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmc7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJnO1xuXG4gICAgdHIge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1mb290LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1mb290LWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtZm9vdC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBjb2xvcjogJHRhYmxlLXJvdy1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkdGFibGUtcm93LWZvbnQtc2l6ZTtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1yb3ctcGFkZGluZztcbiAgICAgIHRleHQtYWxpZ246ICRkZWZhdWx0LWZsb2F0O1xuICAgIH1cblxuICAgICYuZXZlbixcbiAgICAmLmFsdCxcbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHsgYmFja2dyb3VuZDogJHRhYmxlLWV2ZW4tcm93LWJnOyB9XG4gIH1cblxuICB0aGVhZCB0ciB0aCxcbiAgdGZvb3QgdHIgdGgsXG4gIHRmb290IHRyIHRkLFxuICB0Ym9keSB0ciB0aCxcbiAgdGJvZHkgdHIgdGQsXG4gIHRyIHRkIHsgZGlzcGxheTogJHRhYmxlLWRpc3BsYXk7IGxpbmUtaGVpZ2h0OiAkdGFibGUtbGluZS1oZWlnaHQ7IH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwidGFibGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzIHtcbiAgICB0YWJsZSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4kdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xuXG4kdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXMge1xuICAgIC50YWJzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIGRkLFxuICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICogMjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgZGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cblxuICAgICAgICBkZDpsYXN0LWNoaWxkLFxuICAgICAgICAudGFiOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgZGQsXG4gICAgICAgIC50YWItdGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b207XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRhaW5lZCB7XG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0YWJzLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC50YWJzIHtcbiAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtMXB4O1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1qcyB7XG4gICAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3RodW1icy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWxzLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuJHRodW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGh1bWItYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcbiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSkgIWRlZmF1bHQ7XG5cbi8vIFJhZGl1cyBhbmQgdHJhbnNpdGlvbiBzcGVlZCBmb3IgdGh1bWJzXG4kdGh1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpbWFnZSB0aHVtYm5haWwgc3R5bGVzLlxuLy9cbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgYXJvdW5kIHRodW1ibmFpbC4gRGVmYXVsdDogJHRodW1iLWJvcmRlci13aWR0aC5cbi8vICRib3gtc2hhZG93IC0gQm94IHNoYWRvdyB0byBhcHBseSB0byB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LlxuLy8gJGJveC1zaGFkb3ctaG92ZXIgLSBCb3ggc2hhZG93IHRvIGFwcGx5IG9uIGhvdmVyLiBEZWZhdWx0OiAkdGh1bWItYm94LXNoYWRvdy1ob3Zlci5cbkBtaXhpbiB0aHVtYihcbiAgJGJvcmRlci13aWR0aDokdGh1bWItYm9yZGVyLXdpZHRoLFxuICAkYm94LXNoYWRvdzokdGh1bWItYm94LXNoYWRvdyxcbiAgJGJveC1zaGFkb3ctaG92ZXI6JHRodW1iLWJveC1zaGFkb3ctaG92ZXIpIHtcbiAgYm9yZGVyOiAkdGh1bWItYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJHRodW1iLWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0aHVtYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuXG4gICAgLyogSW1hZ2UgVGh1bWJuYWlscyAqL1xuICAgIC50aCB7XG4gICAgICBAaW5jbHVkZSB0aHVtYjtcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGFsbCwgJHRodW1iLXRyYW5zaXRpb24tc3BlZWQsIGVhc2Utb3V0KTtcblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHRodW1iLXJhZGl1cyk7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBUb29sdGlwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGlyb24gIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjogZG90dGVkIDFweCBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTU1JSkgIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRoYXMtdGlwLWN1cnNvci10eXBlOiBoZWxwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1wYWRkaW5nOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplLXNtbDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiR0b29sdGlwLXBpcC1zaXplOiA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwidG9vbHRpcFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlcyB7XG5cbiAgICAvKiBUb29sdGlwcyAqL1xuICAgIC5oYXMtdGlwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yLXR5cGU7XG4gICAgICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG5cbiAgICAgICYudGlwLWxlZnQsXG4gICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICAudG9vbHRpcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iZztcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICR0b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDA2O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcblxuICAgICAgPiAubnViIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJHRvb2x0aXAtcGlwLXNpemU7XG5cbiAgICAgICAgJi5ydGwge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgICYucm91bmQge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcm91bmRlZCk7XG4gICAgICAgID4gLm51YiB7XG4gICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5lZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFwLXRvLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGx9IHtcbiAgICAgIC50b29sdGlwIHtcbiAgICAgICAgPiAubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRvcDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICB9XG4gICAgICAgICYudGlwLXRvcD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvdHRvbTogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYudGlwLWxlZnQsXG4gICAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgICYudGlwLWxlZnQ+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgICByaWdodDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICAgICYudGlwLXJpZ2h0Pi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbGVmdDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZm9ybXMnO1xuXG4vL1xuLy8gVG9wIEJhciBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhclxuJHRvcGJhci1iZy1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEhlaWdodCBhbmQgbWFyZ2luXG4kdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xuJHRvcGJhci1tYXJnaW4tYm90dG9tOiAwICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcbiR0b3BiYXItdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4kdG9wYmFyLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCUgIWRlZmF1bHQ7IC8vIERhcmtlbiBieSAxMCVcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZyAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLXBhZGRpbmc6ICgkdG9wYmFyLWhlaWdodCAvIDMpICFkZWZhdWx0O1xuJHRvcGJhci1iYWNrLWxpbmstc2l6ZTogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogLjc1cmVtICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tdG9wOiA3cHggIWRlZmF1bHQ7XG5cbi8vIFN0eWxlIHRoZSB0b3AgYmFyIGRyb3Bkb3duIGVsZW1lbnRzXG4kdG9wYmFyLWRyb3Bkb3duLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlciAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiA1cHggIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IC40ICFkZWZhdWx0O1xuXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXG4kdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tcG9zaXRpb246ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7IC8vIENoYW5nZSB0byAkZGVmYXVsdC1mbG9hdCBmb3IgYSBsZWZ0IG1lbnUgaWNvblxuXG4vLyBUcmFuc2l0aW9ucyBhbmQgYnJlYWtwb2ludCBzdHlsZXNcbiR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcbiR0b3BiYXItYnJlYWtwb2ludDogI3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0gIWRlZmF1bHQ7IC8vIENoYW5nZSB0byA5OTk5cHggZm9yIGFsd2F5cyBtb2JpbGUgbGF5b3V0XG4kdG9wYmFyLW1lZGlhLXF1ZXJ5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkdG9wYmFyLWJyZWFrcG9pbnQpfSlcIiAhZGVmYXVsdDtcblxuLy8gVG9wLWJhciBpbnB1dCBzdHlsZXNcbiR0b3BiYXItaW5wdXQtaGVpZ2h0OiByZW0tY2FsYygyOCkgIWRlZmF1bHQ7XG5cbi8vIERpdmlkZXIgU3R5bGVzXG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEzJSkgIWRlZmF1bHQ7XG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xuXG4vLyBTdGlja3kgQ2xhc3NcbiR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIiAhZGVmYXVsdDtcbiR0b3BiYXItYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIHRyaWFuZ2xlIGljb24gZnJvbSB0aGUgbWVudSBpdGVtXG4kdG9wYmFyLWRyb3Bkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSBcXDAwYmIgPj4gdGV4dCBmcm9tIGRyb3Bkb3duIHN1Ym5hdmlnYXRpb24gbGlcblxuLy8gQWNjZXNzaWJpbGl0eSBtaXhpbnMgZm9yIGhpZGluZyBhbmQgc2hvd2luZyB0aGUgbWVudSBkcm9wZG93biBpdGVtc1xuQG1peGluIHRvcGJhci1oaWRlLWRyb3Bkb3duIHtcbiAgLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZSgpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1peGluIHRvcGJhci1zaG93LWRyb3Bkb3duIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgLy8gUmVzZXQgdGhlIHBvc2l0aW9uIGZyb20gc3RhdGljIHRvIGFic29sdXRlXG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b3AtYmFyXCIpIHtcblxuICBAaWYgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXMge1xuXG4gICAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAgIC8vIFRoaXMgY2xhc3MgaXMgZ2VuZXJhdGVkIGRlc3BpdGUgdGhlIHZhbHVlIG9mICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzXG4gICAgLy8gdG8gZW5zdXJlIHdpZHRoIGNhbGN1bGF0aW9ucyB3b3JrIGNvcnJlY3RseS5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHRvcGJhci1tZWRpYS1xdWVyeSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiAkdG9wYmFyLWJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovXG4gICAgLmNvbnRhaW4tdG8tZ3JpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG5cbiAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIG1ha2UgaXQgc3RpY2sgdG8gdGhlIHRvcFxuICAgIC5maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICYuZXhwYW5kZWQ6bm90KC50b3AtYmFyKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSB5b3UgY2FuIHNjcm9sbCB0aGUgbWVudSBvbiBzbWFsbCBzY3JlZW5zXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHotaW5kZXg6IDk4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBUb3BiYXIgR2xvYmFsIGxpc3QgU3R5bGVzXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGZvcm0sXG4gICAgICBpbnB1dCwgXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCwgXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHRvcDogLTFweDtcblxuICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGUgQXJlYVxuICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBwLCBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLXRpdGxlLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNZW51IHRvZ2dsZSBidXR0b24gb24gc21hbGwgZGV2aWNlc1xuICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICN7JHRvcGJhci1tZW51LWljb24tcG9zaXRpb259OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0O1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGRpbmcgdGhlIGNsYXNzIFwibWVudS1pY29uXCIgd2lsbCBhZGQgdGhlIDMtbGluZSBpY29uIHBlb3BsZSBsb3ZlIGFuZCBhZG9yZS5cbiAgICAgICAgJi5tZW51LWljb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXIoMTZweCwgZmFsc2UsIDAsIDFweCwgNnB4LCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvciwgXCJcIiwgZmFsc2UpO1xuXG4gICAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtNThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvcjtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZytyZW0tY2FsYygyNSkgMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2hhbmdlIHRoaW5ncyB1cCB3aGVuIHRoZSB0b3AtYmFyIGlzIGV4cGFuZGVkXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkO1xuXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICAgIC8vIFNoaCwgZG9uJ3QgdGVsbCwgYnV0IGJveC1zaGFkb3dzIGNyZWF0ZSB0aGUgbWVudSBpY29uIDopXG4gICAgICAgICAgICAgIC8vIENoYW5nZSB0aGUgY29sb3Igb2YgdGhlIGJhcnMgd2hlbiB0aGUgbWVudSBpcyBleHBhbmRlZCwgdXNpbmcgZ2l2ZW4gdGhpY2tuZXNzIGZyb20gaGFtYnVyZ2VyKCkgYWJvdmVcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgN3B4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgMTRweCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpeGVzIGFuIGlzc3VlIHdpdGggRGVza3RvcCBhbmQgTW9iaWxlIFNhZmFyaSB3aGVyZSBkZWVwbHktbmVzdGVkIG1lbnVzIGRvbid0IGFwcGVhclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24sXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBjbGlwOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIGFuZCB0aGUgY2xpcDogd2FzIGFsbG93aW5nIGNvbnRlbnQgdG8gcGVhayB0aHJvdWdoXG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJpZ2h0IGFuZCBMZWZ0IE5hdmlnYXRpb24gdGhhdCBzdGFja2VkIGJ5IGRlZmF1bHRcbiAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbigkZGVmYXVsdC1mbG9hdCwgJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkKTtcblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmRpdmlkZXIsXG4gICAgICBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgIGJvcmRlci10b3A6ICR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICB1bCBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWJnO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5idXR0b24uc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24ud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IpOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICY6aG92ZXI6bm90KC5oYXMtZm9ybSkgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcblxuICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBzb21lIGV4dHJhIHBhZGRpbmcgZm9yIGxpc3QgaXRlbXMgY29udGFpbnMgYnV0dG9uc1xuICAgICAgLmhhcy1mb3JtIHtcbiAgICAgICAgcGFkZGluZzogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZm9yIGxpc3QgaXRlbXMgdGhhdCBoYXZlIGEgZHJvcGRvd24gd2l0aGluIHRoZW0uXG4gICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItYXJyb3dzKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksICRkZWZhdWx0LWZsb2F0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMikgLSAyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubW92ZWQge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZWxlbWVudHMgaW5zaWRlIG9mIGRyb3Bkb3duc1xuICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICYucGFyZW50LWxpbmsge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnRpdGxlIGg1LFxuICAgICAgICAgICYucGFyZW50LWxpbmsge1xuICAgICAgICAgICAgLy8gQmFjayBCdXR0b25cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJhY2stbGluay1zaXplO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOm5vbmU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhhcy1mb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYnV0dG9uLFxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmcgMnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWdlbmVyYXRlZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuICAgIC8vIFRvcCBCYXIgc3R5bGVzIGludGVuZGVkIGZvciBzY3JlZW4gc2l6ZXMgYWJvdmUgdGhlIGJyZWFrcG9pbnQuXG4gICAgQG1lZGlhICN7JHRvcGJhci1tZWRpYS1xdWVyeX0ge1xuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLnRpdGxlLWFyZWEgeyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7IH1cbiAgICAgICAgLm5hbWUgaDEgYSxcbiAgICAgICAgLm5hbWUgaDIgYSxcbiAgICAgICAgLm5hbWUgaDMgYSxcbiAgICAgICAgLm5hbWUgaDQgYSxcbiAgICAgICAgLm5hbWUgaDUgYSxcbiAgICAgICAgLm5hbWUgaDYgYSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSA+IC5idXR0b24sXG4gICAgICAgIC5oYXMtZm9ybSA+IGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICAgIHRvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obm9uZSwwLDApO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICBAaWYgJHRvcGJhci1hcnJvd3Mge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZyArICR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksIHRvcCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMik7XG4gICAgICAgICAgICAgICAgdG9wOiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYubW92ZWQgeyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5ob3ZlciwgJi5ub3QtY2xpY2s6aG92ZXIge1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93biBsaS5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWFycm93cykge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMyk7XG5cbiAgICAgICAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2Vjb25kIExldmVsIERyb3Bkb3duc1xuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsID4gLmRpdmlkZXIsXG4gICAgICAgID4gdWwgPiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1mb3JtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb24gb3ZlcnJpZGVzIGZvciB1bC5yaWdodCBhbmQgdWwubGVmdFxuICAgICAgICAuI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcblxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIERlZ3JhZGUgZ3JhY2VmdWxseSB3aGVuIEphdmFzY3JpcHQgaXMgZGlzYWJsZWQuIERpc3BsYXlzIGRyb3Bkb3duIGFuZCBjaGFuZ2VzXG4gICAgICAvLyBiYWNrZ3JvdW5kICYgdGV4dCBjb2xvciBvbiBob3Zlci5cbiAgICAgIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgICAmOmhvdmVyID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjphY3RpdmUgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbiRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4kY29kZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbiRoci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbSAhZGVmYXVsdDtcbiRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcbiRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbiRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4kYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4kbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcbiRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc6IHJlbS1jYWxjKDAgMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLyBDb250cm9scyB0aGUgcGFnZSBtYXJnaW4gd2hlbiBwcmludGluZyB0aGUgd2Vic2l0ZVxuJHByaW50LW1hcmdpbjogMC4zNGluICFkZWZhdWx0O1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzcyBuYW1lc1xuJGFsaWduLWNsYXNzLW5hbWVzOlxuICBzbWFsbC1vbmx5LFxuICBzbWFsbCxcbiAgbWVkaXVtLW9ubHksXG4gIG1lZGl1bSxcbiAgbGFyZ2Utb25seSxcbiAgbGFyZ2UsXG4gIHhsYXJnZS1vbmx5LFxuICB4bGFyZ2UsXG4gIHh4bGFyZ2Utb25seSxcbiAgeHhsYXJnZTtcblxuLy8gVGV4dCBhbGlnbm1lbnQgYnJlYWtwb2ludHNcbiRhbGlnbi1jbGFzcy1icmVha3BvaW50czpcbiAgJHNtYWxsLW9ubHksXG4gICRzbWFsbC11cCxcbiAgJG1lZGl1bS1vbmx5LFxuICAkbWVkaXVtLXVwLFxuICAkbGFyZ2Utb25seSxcbiAgJGxhcmdlLXVwLFxuICAkeGxhcmdlLW9ubHksXG4gICR4bGFyZ2UtdXAsXG4gICR4eGxhcmdlLW9ubHksXG4gICR4eGxhcmdlLXVwO1xuXG4vLyBHZW5lcmF0ZXMgdGV4dCBhbGlnbiBhbmQganVzdGlmeSBjbGFzc2VzXG5AbWl4aW4gYWxpZ24tY2xhc3Nlc3tcbiAgLnRleHQtbGVmdCAgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRhbGlnbi1jbGFzcy1uYW1lcykge1xuICAgIEBtZWRpYSAjeyhudGgoJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzLCAkaSkpfSB7XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBUeXBvZ3JhcGh5IFBsYWNlaG9sZGVyc1xuLy9cblxuLy8gVGhlc2Ugd2lsbCB0aHJvdyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdXNlZCB3aXRoaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBsZWFkIHtcbiAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIHJlbS1jYWxjKDMuNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbkBtaXhpbiBzdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRzdWJoZWFkZXItZm9udC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItdG9wLW1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luO1xufVxuQGluY2x1ZGUgZXhwb3J0cyhcInR5cGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXMge1xuICAgIC8vIFJlc3BvbnNpdmUgVGV4dCBhbGlnbm1lbnRcbiAgICBAaW5jbHVkZSBhbGlnbi1jbGFzc2VzO1xuXG4gICAgLyogVHlwb2dyYXBoeSByZXNldHMgKi9cbiAgICBkaXYsXG4gICAgZGwsXG4gICAgZHQsXG4gICAgZGQsXG4gICAgdWwsXG4gICAgb2wsXG4gICAgbGksXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgcHJlLFxuICAgIGZvcm0sXG4gICAgcCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cblxuICAgIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgXHR0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7IGJvcmRlcjpub25lOyB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBwYXJhZ3JhcGggc3R5bGVzICovXG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHBhcmFncmFwaC1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgICYubGVhZCB7IEBpbmNsdWRlIGxlYWQ7IH1cblxuICAgICAgJiBhc2lkZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBoZWFkZXIgc3R5bGVzICovXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1ib3R0b20tbWFyZ2luO1xuICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICRzbWFsbC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplIC0gJGgxLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplIC0gJGg0LWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxuXG4gICAgLnN1YmhlYWRlciB7IEBpbmNsdWRlIHN1YmhlYWRlcjsgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoci1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcbiAgICB9XG5cbiAgICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cbiAgICBlbSxcbiAgICBpIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHN0cm9uZyxcbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvZGUtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXN0eWxlOiAkY29kZS1ib3JkZXItc3R5bGU7XG4gICAgICBib3JkZXItd2lkdGg6ICRjb2RlLWJvcmRlci1zaXplO1xuICAgICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBMaXN0cyAqL1xuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJGxpc3QtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmUtaGVpZ2h0O1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgfVxuXG4gICAgLyogVW5vcmRlcmVkIExpc3RzICovXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNxdWFyZSxcbiAgICAgICYuY2lyY2xlLFxuICAgICAgJi5kaXNjIHtcbiAgICAgICAgbGkgdWwgeyBsaXN0LXN0eWxlOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgICYuc3F1YXJlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgICAgJi5jaXJjbGUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmRpc2MgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgIH1cblxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cbiAgICBvbCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW47XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0cyB3aXRob3V0IGJ1bGxldHNcbiAgICAubm8tYnVsbGV0IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0O1xuICAgICAgXG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmluaXRpb24gTGlzdHMgKi9cbiAgICBkbCB7XG4gICAgICBkdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XG4gICAgICB9XG4gICAgICBkZCB7IG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTsgfVxuICAgIH1cblxuICAgIC8qIEFiYnJldmlhdGlvbnMgKi9cbiAgICBhYmJyLFxuICAgIGFjcm9ueW0ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItaGVscC12YWx1ZTtcbiAgICB9XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICZbdGl0bGVdIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjcm9ueW0tdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEJsb2NrcXVvdGVzICovXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAgIGNpdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGJsb2NrcXVvdGUsXG4gICAgYmxvY2txdW90ZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgLyogTWljcm9mb3JtYXRzICovXG4gICAgLnZjYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogJG1pY3JvZm9ybWF0LW1hcmdpbjtcbiAgICAgIGJvcmRlcjogJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aCAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52ZXZlbnQge1xuICAgICAgLnN1bW1hcnkgeyBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ7IH1cblxuICAgICAgYWJiciB7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7IH1cbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG4gICAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuICAgICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG4gICAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuICAgICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cbiAgICB9XG5cbiAgICAvLyBPbmx5IGluY2x1ZGUgdGhlc2Ugc3R5bGVzIGlmIHlvdSB3YW50IHRoZW0uXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XG4gICAgICAvKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAqIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuICAgICAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuXG4gICAgICAgIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgICAgICAuaXIgYTphZnRlcixcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiI1wiXTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cblxuICAgICAgICBwcmUsXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHVtaW51bTtcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XG5cbiAgICAgICAgdHIsXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQHBhZ2UgeyBtYXJnaW46ICRwcmludC1tYXJnaW47IH1cblxuICAgICAgICBwLFxuICAgICAgICBoMixcbiAgICAgICAgaDMge1xuICAgICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgICAgd2lkb3dzOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ3R5cGUnO1xuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgVmFyaWFibGVzXG4kaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kdGFiYmFyLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcbiR0YWJiYXItaWNvbi13aWR0aDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJiYXItbWlkZGxlLXBhZGRpbmc6IDAgcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXG4kdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKSAhZGVmYXVsdDtcbiR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI6ICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjtcblxuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgSGVhZGVyc1xuJHRhYmJhci1oZWFkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBWYXJpYWJsZXNcbiRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtaGVpZ2h0OiByZW0tY2FsYygzMDApICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgTGlzdCBWYXJpYWJsZXNcbiRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IC4zcmVtIHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1iZzogJHR1YXRhcmEgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luOjAgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDEwLCAxNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjcpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmcsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1iZzogIzQ0NCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYmc6IHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJhY2stYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBJY29uIFZhcmlhYmxlc1xuJHRhYmJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG5cbiR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSkgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24taGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbiR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGg6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzczogMXB4ICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXA6IDZweCAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBCYWNrLUxpbmsgT3ZlcmxheVxuJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpLCA0cHggMCA0cHggcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC4yKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG5cbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXG4kbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiICFkZWZhdWx0O1xuXG5cbi8vIE1JWElOU1xuLy8gUmVtb3ZlIHRyYW5zaXRpb24gZmxpY2tlciBvbiBwaG9uZXNcbkBtaXhpbiBraWxsLWZsaWNrZXIge1xuICAvLyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigweCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyBCYXNpYyBwcm9wZXJ0aWVzIGZvciB0aGUgY29udGVudCB3cmFwc1xuQG1peGluIHdyYXAtYmFzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR0eCwgJHR5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eilcbn1cblxuLy8gYmFzaWMgc3R5bGVzIGZvciBvZmYtY2FudmFzIG1lbnUgY29udGFpbmVyXG5AbWl4aW4gb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gICogeyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7IH1cbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSAwcztcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xuICB6LWluZGV4OiAxMDAxO1xuXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLC0xMDAlLDApO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDtcbiAgfVxufVxuXG4vLyBPRkYgQ0FOVkFTIFdSQVBcbi8vIFdyYXAgdmlzaWJsZSBjb250ZW50IGFuZCBwcmV2ZW50IHNjcm9sbCBiYXJzXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICBAaW5jbHVkZSB3cmFwLWJhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICYubW92ZS1yaWdodCxcbiAgJi5tb3ZlLWxlZnQsXG4gICYubW92ZS1ib3R0b20sXG4gICYubW92ZS10b3AgeyBtaW4taGVpZ2h0OiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbn1cblxuLy8gSU5ORVIgV1JBUFxuLy8gTWFpbiBjb250ZW50IGFyZWEgdGhhdCBtb3ZlcyB0byByZXZlYWwgdGhlIG9mZi1jYW52YXMgbmF2XG5AbWl4aW4gaW5uZXItd3JhcCB7XG4gIC8vIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgLy8gcmVtb3ZlZCBmb3Igbm93IHRpbGwgY2hyb21lIGZpeGVzIGJhY2tmYWNlIGlzc3VlXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLSN7JG1lbnUtc2xpZGV9O1xuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XG59XG5cbi8vIFRBQiBCQVJcbi8vIFRoaXMgaXMgdGhlIHRhYiBiYXIgYmFzZVxuQG1peGluIHRhYi1iYXItYmFzZSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcblxuICAvLyBiYXNlIHN0eWxlc1xuICBiYWNrZ3JvdW5kOiAkdGFiYmFyLWJnO1xuICBjb2xvcjogJHRhYmJhci1jb2xvcjtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICR0YWJiYXItbGluZS1oZWlnaHQ7XG5cbiAgLy8gbWFrZSBzdXJlIGl0J3MgYmVsb3cgdGhlIC5leGl0LW9mZi1jYW52YXMgbGlua1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIHotaW5kZXg6IDk5OTtcblxuICAvLyBUeXBvZ3JhcGh5XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiAkdGFiYmFyLWhlYWRlci1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHRhYmJhci1oZWFkZXItd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDtcbiAgICBtYXJnaW46ICR0YWJiYXItaGVhZGVyLW1hcmdpbjtcbiAgfVxuICBoMSwgaDIsIGgzLCBoNCB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxufVxuXG4vLyBTTUFMTCBTRUNUSU9OU1xuLy8gVGhlc2UgYXJlIHNtYWxsIHNlY3Rpb25zIG9uIHRoZSBsZWZ0IGFuZCByaWdodCB0aGF0IGNvbnRhaW4gdGhlIG9mZi1jYW52YXMgdG9nZ2xlIGJ1dHRvbnM7XG5AbWl4aW4gdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uKSB7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogJHRhYmJhci1pY29uLXdpZHRoO1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGJvcmRlci1yaWdodDogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuICAgIC8vIGJveC1zaGFkb3c6IDFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogMTMlKTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyO1xuICAgIC8vIGJveC1zaGFkb3c6IC0xcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xuICAgIHJpZ2h0OjA7XG4gIH1cbn1cblxuQG1peGluIHRhYi1iYXItc2VjdGlvbiB7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIHBhZGRpbmc6ICR0YWJiYXItbWlkZGxlLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gICAgJi5sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICYucmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5cbiAgLy8gc3RpbGwgbmVlZCB0byBtYWtlIHRoZXNlIG5vbi1wcmVzZW50YXRpb25hbFxuICAmLmxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgJi5taWRkbGUge1xuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xuICB9XG59XG5cbi8vIE9GRiBDQU5WQVMgTElTVFxuLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBsaW5rcyBpbiB0aGUgb2ZmLWNhbnZhcyBtZW51XG5AbWl4aW4gb2ZmLWNhbnZhcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xuXG4gIGxpIHtcbiAgICBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1sYWJlbC1iZztcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b207XG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wO1xuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgIG1hcmdpbjogJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luO1xuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b207XG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGluay1wYWRkaW5nO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWhvdmVyO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8gQkFDSyBMSU5LXG4vLyBUaGlzIGlzIGFuIG92ZXJsYXkgdGhhdCwgd2hlbiBjbGlja2VkLCB3aWxsIHRvZ2dsZSBvZmYgdGhlIG9mZiBjYW52YXMgbWVudVxuQG1peGluIGJhY2stbGluayB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcblxuICBib3gtc2hhZG93OiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c7XG4gIGN1cnNvcjogJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I7XG4gIHRyYW5zaXRpb246ICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjtcblxuICAvLyBmaWxsIHRoZSBzY3JlZW5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBPZmYtQ2FudmFzIFN1Ym1lbnUgQ2xhc3Nlc1xuLy9cbkBtaXhpbiBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcbiAgaGVpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7XG4gIHotaW5kZXg6IDEwMDI7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcbiAgICByaWdodDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwtMTAwJSwwKTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH0gIFxuICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei0jeyRtZW51LXNsaWRlfTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy0jeyRtZW51LXNsaWRlfTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XG4gIHRyYW5zaXRpb246ICN7JG1lbnUtc2xpZGV9O1xuXG4gIC8vYmFjayBidXR0b24gc3R5bGUgbGlrZSBsYWJlbFxuICAuYmFjayA+IGEge1xuICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJhY2stYmc7XG4gICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tO1xuICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLXRvcDtcbiAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tO1xuICAgICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItdG9wO1xuICAgIH1cblxuICAgIG1hcmdpbjogJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luO1xuICAgIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vL0xlZnQgZG91YmxlIGFuZ2xlIHF1b3RlIG9yIFJpZ2h0IGRvdWJsZSBhbmdsZSBxdW90ZSBjaGFyc1xuQG1peGluIGljb24tZG91YmxlLWFycm93cyAoJHBvc2l0aW9uKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgY29udGVudDogXCJcXEFCXCI7XG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB9XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgY29udGVudDogXCJcXEJCXCI7XG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9XG4gIH1cbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4vL1xuLy8gREVGQVVMVCBDTEFTU0VTXG4vL1xuQGluY2x1ZGUgZXhwb3J0cyhcIm9mZmNhbnZhc1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlcyB7XG5cbiAgICAub2ZmLWNhbnZhcy13cmFwIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwOyB9XG4gICAgLmlubmVyLXdyYXAgeyBAaW5jbHVkZSBpbm5lci13cmFwOyB9XG5cbiAgICAudGFiLWJhciB7IEBpbmNsdWRlIHRhYi1iYXItYmFzZTsgfVxuXG4gICAgLmxlZnQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IGxlZnQpOyB9XG4gICAgLnJpZ2h0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiByaWdodCk7IH1cblxuICAgIC50YWItYmFyLXNlY3Rpb24geyBAaW5jbHVkZSB0YWItYmFyLXNlY3Rpb247IH1cblxuICAgIC8vIE1FTlUgQlVUVE9OXG4gICAgLy8gVGhpcyBpcyBhIGxpdHRsZSBib251cy4gWW91IGRvbid0IG5lZWQgaXQgZm9yIG9mZiBjYW52YXMgdG8gd29yay4gTWl4aW5zIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIGZ1dHVyZS5cbiAgICAudGFiLWJhciAubWVudS1pY29uIHtcbiAgICAgIGNvbG9yOiAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1pbmRlbnQ6ICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICB3aWR0aDogJHRhYmJhci1tZW51LWljb24td2lkdGg7XG5cbiAgICAgIC8vIEBpbmNsdWRlIGZvciB0aGUgaGFtYnVyZ2VyIG1lbnUtaWNvblxuICAgICAgLy9cbiAgICAgIC8vIEFyZ3VtZW50cyBhcyBmb2xsb3dzOiAoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IpXG4gICAgICAvLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aC5cbiAgICAgIC8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdD0gRmFsc2VcbiAgICAgIC8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtIERlZmF1bHQ6ID0gRmFsc2VcbiAgICAgIC8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweCBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcyA9IDFweFxuICAgICAgLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweCBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcCA9IDZweFxuICAgICAgLy8gJGNvbG9yIC0gaWNvbiBjb2xvciBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvclxuICAgICAgLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciB3aGVuIGhvdmVyZWQgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24taG92ZXJcbiAgICAgIC8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZVxuICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGgsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3AsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcCwgJHRhYmJhci1tZW51LWljb24tY29sb3IsICR0YWJiYXItbWVudS1pY29uLWhvdmVyLCB0cnVlKVxuICAgIH1cblxuICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IGxlZnQpOyB9XG4gICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IHJpZ2h0KTsgfVxuICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogdG9wKTsgfVxuICAgIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogYm90dG9tKTsgfVxuXG4gICAgdWwub2ZmLWNhbnZhcy1saXN0IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1saXN0OyB9XG5cblxuICAgIC8vIEFOSU1BVElPTiBDTEFTU0VTXG4gICAgLy8gVGhlc2UgY2xhc3NlcyBhcmUgYWRkZWQgd2l0aCBKUyBhbmQgdHJpZ2dlciB0aGUgYWN0dWFsIGFuaW1hdGlvbi5cbiAgICAubW92ZS1yaWdodCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoJG9mZi1jYW52YXMtd2lkdGgsMCwwKTtcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7fVxuICAgIH1cblxuICAgIC5tb3ZlLWxlZnQge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0oJG9mZi1jYW52YXMtd2lkdGgpLDAsMCk7XG5cbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm1vdmUtdG9wIHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLC0oJG9mZi1jYW52YXMtaGVpZ2h0KSwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAubW92ZS1ib3R0b20ge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsKCRvZmYtY2FudmFzLWhlaWdodCksMCk7XG5cbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSwgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSxcbiAgICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51LCAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IHtcbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXRvcCB7XG4gICAgICAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1ib3R0b20ge1xuICAgICAgLnRvcC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cblxuICAgIC8vIE9sZGVyIGJyb3dzZXJzXG4gICAgLm5vLWNzc3RyYW5zZm9ybXMge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgbGVmdDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyByaWdodDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cbiAgICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51IHsgdG9wOiAtKCRvZmYtY2FudmFzLWhlaWdodCk7IH1cbiAgICAgIC5ib3R0b20tb2ZmLWNhbnZhcy1tZW51IHsgYm90dG9tOiAtKCRvZmYtY2FudmFzLWhlaWdodCk7IH1cblxuICAgICAgLm1vdmUtbGVmdCA+IC5pbm5lci13cmFwIHsgcmlnaHQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XG4gICAgICAubW92ZS1yaWdodCA+IC5pbm5lci13cmFwIHsgbGVmdDogJG9mZi1jYW52YXMtd2lkdGg7IH1cbiAgICAgIC5tb3ZlLXRvcCA+IC5pbm5lci13cmFwIHsgcmlnaHQ6ICRvZmYtY2FudmFzLWhlaWdodDsgfVxuICAgICAgLm1vdmUtYm90dG9tID4gLmlubmVyLXdyYXAgeyBsZWZ0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7IH1cblxuXG4gICAgfVxuXG4gICAgLmxlZnQtc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICYubW92ZS1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAlLDAsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgJi5tb3ZlLWxlZnQsICYub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAlLDAsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IHRvcCk7XG4gICAgICAmLm1vdmUtYm90dG9tLCAmLm9mZmNhbnZhcy1vdmVybGFwLWJvdHRvbSwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMCUsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJvdHRvbS1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IGJvdHRvbSk7XG4gICAgICAmLm1vdmUtdG9wLCAmLm9mZmNhbnZhcy1vdmVybGFwLXRvcCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMCUsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5cblxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEZvdW5kYXRpb24gVmlzaWJpbGl0eSBDbGFzc2VzXG4vL1xuJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBNZWRpYSBDbGFzcyBOYW1lc1xuLy9cbi8vIFZpc2liaWxpdHkgQnJlYWtwb2ludHNcbiR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXM6XG4gIHNtYWxsLFxuICBtZWRpdW0sXG4gIGxhcmdlLFxuICB4bGFyZ2UsXG4gIHh4bGFyZ2U7XG5cbiR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtcXVlcmllczpcbiAgdW5xdW90ZSgkc21hbGwtdXApLFxuICB1bnF1b3RlKCRtZWRpdW0tdXApLFxuICB1bnF1b3RlKCRsYXJnZS11cCksXG4gIHVucXVvdGUoJHhsYXJnZS11cCksXG4gIHVucXVvdGUoJHh4bGFyZ2UtdXApO1xuXG5AbWl4aW4gdmlzaWJpbGl0eS1sb29wIHtcbiAgQGVhY2ggJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiAoKTtcblxuICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiAoKTtcblxuICAgIEBlYWNoICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCBpbiAkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzIHtcbiAgICAgIEBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpIDwgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIFNtYWxsZXIgdGhhbiBjdXJyZW50IGJyZWFrcG9pbnRcblxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgIH0gQGVsc2UgaWYgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSA+IGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkge1xuICAgICAgICAvLyBMYXJnZXIgdGhhbiBjdXJyZW50IGJyZWFrcG9pbnRcblxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBDdXJyZW50IGJyZWFrcG9pbnRcblxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3Rib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogI3skY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnR9IGRpc3BsYXlzICovXG4gICAgQG1lZGlhICN7bnRoKCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtcXVlcmllcywgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSl9IHtcbiAgICAgICN7JHZpc2liaWxpdHktaW5oZXJpdC1saXN0fSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN7JHZpc2liaWxpdHktbm9uZS1saXN0fSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBpZiAkaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuICAgICAgICAjeyR2aXNpYmlsaXR5LXZpc2libGUtbGlzdH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LWhpZGRlbi1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAkaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmlzaWJpbGl0eVwiKXtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdmlzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcblxuICBAaW5jbHVkZSB2aXNpYmlsaXR5LWxvb3A7XG5cbiAgLyogT3JpZW50YXRpb24gdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGhlYWQge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRib2R5IHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ciB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGQsXG4gIHRoIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIH1cblxuICBAbWVkaWEgI3skbGFuZHNjYXBlfSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gICAgdGFibGUge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ciB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgI3skcG9ydHJhaXR9IHtcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCxcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFRvdWNoLWVuYWJsZWQgZGV2aWNlIHRhcmdldGluZyAqL1xuICAuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCAuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZS5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRhYmxlLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0aGVhZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRib2R5LnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdHIuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGQuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgLyogU2NyZWVuIHJlYWRlci1zcGVjaWZpYyBjbGFzc2VzICovXG4gIC5zaG93LWZvci1zciB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLyogUHJpbnQgdmlzaWJpbGl0eSAqL1xuICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcbiAgICAucHJpbnQtb25seSxcbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLnByaW50LW9ubHksXG4gICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAuaGlkZS1vbi1wcmludCxcbiAgICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLypcclxuICogIEZvbnQgQXdlc29tZSA0LjAuMyBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXHJcbiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKVxyXG4gKi9cclxuLyogRk9OVCBQQVRIXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xyXG4gIHNyYzogdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjAuMycpO1xyXG4gIHNyYzogdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC4wLjMnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuMC4zJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9NC4wLjMnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC4wLjMjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4uZmEge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xyXG4uZmEtbGcge1xyXG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzMzMzMzMzZW07XHJcbiAgbGluZS1oZWlnaHQ6IDAuNzVlbTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcclxufVxyXG4uZmEtMngge1xyXG4gIGZvbnQtc2l6ZTogMmVtO1xyXG59XHJcbi5mYS0zeCB7XHJcbiAgZm9udC1zaXplOiAzZW07XHJcbn1cclxuLmZhLTR4IHtcclxuICBmb250LXNpemU6IDRlbTtcclxufVxyXG4uZmEtNXgge1xyXG4gIGZvbnQtc2l6ZTogNWVtO1xyXG59XHJcbi5mYS1mdyB7XHJcbiAgd2lkdGg6IDEuMjg1NzE0Mjg1NzE0Mjg1OGVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uZmEtdWwge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNDI4NTcxNDNlbTtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuLmZhLXVsID4gbGkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uZmEtbGkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAtMi4xNDI4NTcxNDI4NTcxNDNlbTtcclxuICB3aWR0aDogMi4xNDI4NTcxNDI4NTcxNDNlbTtcclxuICB0b3A6IDAuMTQyODU3MTQyODU3MTQyODVlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmZhLWxpLmZhLWxnIHtcclxuICBsZWZ0OiAtMS44NTcxNDI4NTcxNDI4NTcyZW07XHJcbn1cclxuLmZhLWJvcmRlciB7XHJcbiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTtcclxuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWVlZWVlO1xyXG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XHJcbn1cclxuLnB1bGwtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG4ucHVsbC1sZWZ0IHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG4uZmEucHVsbC1sZWZ0IHtcclxuICBtYXJnaW4tcmlnaHQ6IC4zZW07XHJcbn1cclxuLmZhLnB1bGwtcmlnaHQge1xyXG4gIG1hcmdpbi1sZWZ0OiAuM2VtO1xyXG59XHJcbi5mYS1zcGluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgLW1vei1hbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xyXG4gIC1vLWFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbn1cclxuQC1vLWtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gIH1cclxufVxyXG5ALW1zLWtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbn1cclxuLmZhLXJvdGF0ZS05MCB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbn1cclxuLmZhLXJvdGF0ZS0xODAge1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbn1cclxuLmZhLXJvdGF0ZS0yNzAge1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XHJcbn1cclxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAtby10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxufVxyXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAtby10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxufVxyXG4uZmEtc3RhY2sge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDJlbTtcclxuICBoZWlnaHQ6IDJlbTtcclxuICBsaW5lLWhlaWdodDogMmVtO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuLmZhLXN0YWNrLTF4LFxyXG4uZmEtc3RhY2stMngge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uZmEtc3RhY2stMXgge1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcbi5mYS1zdGFjay0yeCB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbn1cclxuLmZhLWludmVyc2Uge1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcbi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxyXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xyXG4uZmEtZ2xhc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwMFwiO1xyXG59XHJcbi5mYS1tdXNpYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDAxXCI7XHJcbn1cclxuLmZhLXNlYXJjaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDAyXCI7XHJcbn1cclxuLmZhLWVudmVsb3BlLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwM1wiO1xyXG59XHJcbi5mYS1oZWFydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XHJcbn1cclxuLmZhLXN0YXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwNVwiO1xyXG59XHJcbi5mYS1zdGFyLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwNlwiO1xyXG59XHJcbi5mYS11c2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDdcIjtcclxufVxyXG4uZmEtZmlsbTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7XHJcbn1cclxuLmZhLXRoLWxhcmdlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMDlcIjtcclxufVxyXG4uZmEtdGg6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwYVwiO1xyXG59XHJcbi5mYS10aC1saXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMGJcIjtcclxufVxyXG4uZmEtY2hlY2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAwY1wiO1xyXG59XHJcbi5mYS10aW1lczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XHJcbn1cclxuLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMGVcIjtcclxufVxyXG4uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTBcIjtcclxufVxyXG4uZmEtcG93ZXItb2ZmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTFcIjtcclxufVxyXG4uZmEtc2lnbmFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTJcIjtcclxufVxyXG4uZmEtZ2VhcjpiZWZvcmUsXHJcbi5mYS1jb2c6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxM1wiO1xyXG59XHJcbi5mYS10cmFzaC1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMTRcIjtcclxufVxyXG4uZmEtaG9tZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XHJcbn1cclxuLmZhLWZpbGUtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDE2XCI7XHJcbn1cclxuLmZhLWNsb2NrLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxN1wiO1xyXG59XHJcbi5mYS1yb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMThcIjtcclxufVxyXG4uZmEtZG93bmxvYWQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxOVwiO1xyXG59XHJcbi5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMWFcIjtcclxufVxyXG4uZmEtYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxYlwiO1xyXG59XHJcbi5mYS1pbmJveDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XHJcbn1cclxuLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAxZFwiO1xyXG59XHJcbi5mYS1yb3RhdGUtcmlnaHQ6YmVmb3JlLFxyXG4uZmEtcmVwZWF0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMWVcIjtcclxufVxyXG4uZmEtcmVmcmVzaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7XHJcbn1cclxuLmZhLWxpc3QtYWx0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjJcIjtcclxufVxyXG4uZmEtbG9jazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XHJcbn1cclxuLmZhLWZsYWc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyNFwiO1xyXG59XHJcbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjVcIjtcclxufVxyXG4uZmEtdm9sdW1lLW9mZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDI2XCI7XHJcbn1cclxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjdcIjtcclxufVxyXG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjhcIjtcclxufVxyXG4uZmEtcXJjb2RlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMjlcIjtcclxufVxyXG4uZmEtYmFyY29kZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDJhXCI7XHJcbn1cclxuLmZhLXRhZzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDJiXCI7XHJcbn1cclxuLmZhLXRhZ3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyY1wiO1xyXG59XHJcbi5mYS1ib29rOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMmRcIjtcclxufVxyXG4uZmEtYm9va21hcms6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAyZVwiO1xyXG59XHJcbi5mYS1wcmludDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDJmXCI7XHJcbn1cclxuLmZhLWNhbWVyYTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDMwXCI7XHJcbn1cclxuLmZhLWZvbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzMVwiO1xyXG59XHJcbi5mYS1ib2xkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzJcIjtcclxufVxyXG4uZmEtaXRhbGljOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzNcIjtcclxufVxyXG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzNFwiO1xyXG59XHJcbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzVcIjtcclxufVxyXG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDM2XCI7XHJcbn1cclxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDM3XCI7XHJcbn1cclxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwMzhcIjtcclxufVxyXG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDM5XCI7XHJcbn1cclxuLmZhLWxpc3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjAzYVwiO1xyXG59XHJcbi5mYS1kZWRlbnQ6YmVmb3JlLFxyXG4uZmEtb3V0ZGVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7XHJcbn1cclxuLmZhLWluZGVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNjXCI7XHJcbn1cclxuLmZhLXZpZGVvLWNhbWVyYTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XHJcbn1cclxuLmZhLXBpY3R1cmUtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XHJcbn1cclxuLmZhLXBlbmNpbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQwXCI7XHJcbn1cclxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0MVwiO1xyXG59XHJcbi5mYS1hZGp1c3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0MlwiO1xyXG59XHJcbi5mYS10aW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNDNcIjtcclxufVxyXG4uZmEtZWRpdDpiZWZvcmUsXHJcbi5mYS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0NFwiO1xyXG59XHJcbi5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQ1XCI7XHJcbn1cclxuLmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNDZcIjtcclxufVxyXG4uZmEtYXJyb3dzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNDdcIjtcclxufVxyXG4uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDQ4XCI7XHJcbn1cclxuLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0OVwiO1xyXG59XHJcbi5mYS1iYWNrd2FyZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7XHJcbn1cclxuLmZhLXBsYXk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0YlwiO1xyXG59XHJcbi5mYS1wYXVzZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDRjXCI7XHJcbn1cclxuLmZhLXN0b3A6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xyXG59XHJcbi5mYS1mb3J3YXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNGVcIjtcclxufVxyXG4uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNTBcIjtcclxufVxyXG4uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNTFcIjtcclxufVxyXG4uZmEtZWplY3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1MlwiO1xyXG59XHJcbi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1M1wiO1xyXG59XHJcbi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNTRcIjtcclxufVxyXG4uZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1NVwiO1xyXG59XHJcbi5mYS1taW51cy1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1NlwiO1xyXG59XHJcbi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1N1wiO1xyXG59XHJcbi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1OFwiO1xyXG59XHJcbi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1OVwiO1xyXG59XHJcbi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDVhXCI7XHJcbn1cclxuLmZhLWNyb3NzaGFpcnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA1YlwiO1xyXG59XHJcbi5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XHJcbn1cclxuLmZhLWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNWRcIjtcclxufVxyXG4uZmEtYmFuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNWVcIjtcclxufVxyXG4uZmEtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XHJcbn1cclxuLmZhLWFycm93LXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjFcIjtcclxufVxyXG4uZmEtYXJyb3ctdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2MlwiO1xyXG59XHJcbi5mYS1hcnJvdy1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjNcIjtcclxufVxyXG4uZmEtbWFpbC1mb3J3YXJkOmJlZm9yZSxcclxuLmZhLXNoYXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjRcIjtcclxufVxyXG4uZmEtZXhwYW5kOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjVcIjtcclxufVxyXG4uZmEtY29tcHJlc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2NlwiO1xyXG59XHJcbi5mYS1wbHVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNjdcIjtcclxufVxyXG4uZmEtbWludXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2OFwiO1xyXG59XHJcbi5mYS1hc3RlcmlzazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XHJcbn1cclxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XHJcbn1cclxuLmZhLWdpZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA2YlwiO1xyXG59XHJcbi5mYS1sZWFmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNmNcIjtcclxufVxyXG4uZmEtZmlyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XHJcbn1cclxuLmZhLWV5ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XHJcbn1cclxuLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XHJcbn1cclxuLmZhLXdhcm5pbmc6YmVmb3JlLFxyXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3MVwiO1xyXG59XHJcbi5mYS1wbGFuZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDcyXCI7XHJcbn1cclxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzNcIjtcclxufVxyXG4uZmEtcmFuZG9tOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzRcIjtcclxufVxyXG4uZmEtY29tbWVudDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XHJcbn1cclxuLmZhLW1hZ25ldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDc2XCI7XHJcbn1cclxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3N1wiO1xyXG59XHJcbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3OFwiO1xyXG59XHJcbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwNzlcIjtcclxufVxyXG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7XHJcbn1cclxuLmZhLWZvbGRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7XHJcbn1cclxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwN2NcIjtcclxufVxyXG4uZmEtYXJyb3dzLXY6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA3ZFwiO1xyXG59XHJcbi5mYS1hcnJvd3MtaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDdlXCI7XHJcbn1cclxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwODBcIjtcclxufVxyXG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4MVwiO1xyXG59XHJcbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4MlwiO1xyXG59XHJcbi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4M1wiO1xyXG59XHJcbi5mYS1rZXk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4NFwiO1xyXG59XHJcbi5mYS1nZWFyczpiZWZvcmUsXHJcbi5mYS1jb2dzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwODVcIjtcclxufVxyXG4uZmEtY29tbWVudHM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4NlwiO1xyXG59XHJcbi5mYS10aHVtYnMtby11cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDg3XCI7XHJcbn1cclxuLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4OFwiO1xyXG59XHJcbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4OVwiO1xyXG59XHJcbi5mYS1oZWFydC1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOGFcIjtcclxufVxyXG4uZmEtc2lnbi1vdXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4YlwiO1xyXG59XHJcbi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xyXG59XHJcbi5mYS10aHVtYi10YWNrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOGRcIjtcclxufVxyXG4uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDhlXCI7XHJcbn1cclxuLmZhLXNpZ24taW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5MFwiO1xyXG59XHJcbi5mYS10cm9waHk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5MVwiO1xyXG59XHJcbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOTJcIjtcclxufVxyXG4uZmEtdXBsb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOTNcIjtcclxufVxyXG4uZmEtbGVtb24tbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDk0XCI7XHJcbn1cclxuLmZhLXBob25lOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOTVcIjtcclxufVxyXG4uZmEtc3F1YXJlLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5NlwiO1xyXG59XHJcbi5mYS1ib29rbWFyay1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOTdcIjtcclxufVxyXG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOThcIjtcclxufVxyXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XHJcbn1cclxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOWFcIjtcclxufVxyXG4uZmEtZ2l0aHViOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOWJcIjtcclxufVxyXG4uZmEtdW5sb2NrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwOWNcIjtcclxufVxyXG4uZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5ZFwiO1xyXG59XHJcbi5mYS1yc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjA5ZVwiO1xyXG59XHJcbi5mYS1oZGQtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7XHJcbn1cclxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTFcIjtcclxufVxyXG4uZmEtYmVsbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XHJcbn1cclxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTNcIjtcclxufVxyXG4uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTRcIjtcclxufVxyXG4uZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhNVwiO1xyXG59XHJcbi5mYS1oYW5kLW8tdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhNlwiO1xyXG59XHJcbi5mYS1oYW5kLW8tZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7XHJcbn1cclxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYThcIjtcclxufVxyXG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYTlcIjtcclxufVxyXG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYWFcIjtcclxufVxyXG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhYlwiO1xyXG59XHJcbi5mYS1nbG9iZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XHJcbn1cclxuLmZhLXdyZW5jaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7XHJcbn1cclxuLmZhLXRhc2tzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYWVcIjtcclxufVxyXG4uZmEtZmlsdGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYjBcIjtcclxufVxyXG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYjFcIjtcclxufVxyXG4uZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGIyXCI7XHJcbn1cclxuLmZhLWdyb3VwOmJlZm9yZSxcclxuLmZhLXVzZXJzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzBcIjtcclxufVxyXG4uZmEtY2hhaW46YmVmb3JlLFxyXG4uZmEtbGluazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XHJcbn1cclxuLmZhLWNsb3VkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzJcIjtcclxufVxyXG4uZmEtZmxhc2s6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjM1wiO1xyXG59XHJcbi5mYS1jdXQ6YmVmb3JlLFxyXG4uZmEtc2Npc3NvcnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjNFwiO1xyXG59XHJcbi5mYS1jb3B5OmJlZm9yZSxcclxuLmZhLWZpbGVzLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjNVwiO1xyXG59XHJcbi5mYS1wYXBlcmNsaXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjNlwiO1xyXG59XHJcbi5mYS1zYXZlOmJlZm9yZSxcclxuLmZhLWZsb3BweS1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzdcIjtcclxufVxyXG4uZmEtc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwYzhcIjtcclxufVxyXG4uZmEtYmFyczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XHJcbn1cclxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBjYVwiO1xyXG59XHJcbi5mYS1saXN0LW9sOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwY2JcIjtcclxufVxyXG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XHJcbn1cclxuLmZhLXVuZGVybGluZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XHJcbn1cclxuLmZhLXRhYmxlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwY2VcIjtcclxufVxyXG4uZmEtbWFnaWM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkMFwiO1xyXG59XHJcbi5mYS10cnVjazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XHJcbn1cclxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XHJcbn1cclxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkM1wiO1xyXG59XHJcbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkNFwiO1xyXG59XHJcbi5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XHJcbn1cclxuLmZhLW1vbmV5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDZcIjtcclxufVxyXG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XHJcbn1cclxuLmZhLWNhcmV0LXVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZDhcIjtcclxufVxyXG4uZmEtY2FyZXQtbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XHJcbn1cclxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZGFcIjtcclxufVxyXG4uZmEtY29sdW1uczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XHJcbn1cclxuLmZhLXVuc29ydGVkOmJlZm9yZSxcclxuLmZhLXNvcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkY1wiO1xyXG59XHJcbi5mYS1zb3J0LWRvd246YmVmb3JlLFxyXG4uZmEtc29ydC1hc2M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBkZFwiO1xyXG59XHJcbi5mYS1zb3J0LXVwOmJlZm9yZSxcclxuLmZhLXNvcnQtZGVzYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XHJcbn1cclxuLmZhLWVudmVsb3BlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZTBcIjtcclxufVxyXG4uZmEtbGlua2VkaW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlMVwiO1xyXG59XHJcbi5mYS1yb3RhdGUtbGVmdDpiZWZvcmUsXHJcbi5mYS11bmRvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZTJcIjtcclxufVxyXG4uZmEtbGVnYWw6YmVmb3JlLFxyXG4uZmEtZ2F2ZWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlM1wiO1xyXG59XHJcbi5mYS1kYXNoYm9hcmQ6YmVmb3JlLFxyXG4uZmEtdGFjaG9tZXRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XHJcbn1cclxuLmZhLWNvbW1lbnQtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGU1XCI7XHJcbn1cclxuLmZhLWNvbW1lbnRzLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlNlwiO1xyXG59XHJcbi5mYS1mbGFzaDpiZWZvcmUsXHJcbi5mYS1ib2x0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZTdcIjtcclxufVxyXG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGU4XCI7XHJcbn1cclxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZTlcIjtcclxufVxyXG4uZmEtcGFzdGU6YmVmb3JlLFxyXG4uZmEtY2xpcGJvYXJkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWFcIjtcclxufVxyXG4uZmEtbGlnaHRidWxiLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBlYlwiO1xyXG59XHJcbi5mYS1leGNoYW5nZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGVjXCI7XHJcbn1cclxuLmZhLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWRcIjtcclxufVxyXG4uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZWVcIjtcclxufVxyXG4uZmEtdXNlci1tZDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XHJcbn1cclxuLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZjFcIjtcclxufVxyXG4uZmEtc3VpdGNhc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmMlwiO1xyXG59XHJcbi5mYS1iZWxsLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBhMlwiO1xyXG59XHJcbi5mYS1jb2ZmZWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmNFwiO1xyXG59XHJcbi5mYS1jdXRsZXJ5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZjVcIjtcclxufVxyXG4uZmEtZmlsZS10ZXh0LW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmNlwiO1xyXG59XHJcbi5mYS1idWlsZGluZy1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZjdcIjtcclxufVxyXG4uZmEtaG9zcGl0YWwtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XHJcbn1cclxuLmZhLWFtYnVsYW5jZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XHJcbn1cclxuLmZhLW1lZGtpdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7XHJcbn1cclxuLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZmJcIjtcclxufVxyXG4uZmEtYmVlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XHJcbn1cclxuLmZhLWgtc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYwZmRcIjtcclxufVxyXG4uZmEtcGx1cy1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjBmZVwiO1xyXG59XHJcbi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XHJcbn1cclxuLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XHJcbn1cclxuLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTAyXCI7XHJcbn1cclxuLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDNcIjtcclxufVxyXG4uZmEtYW5nbGUtbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XHJcbn1cclxuLmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDVcIjtcclxufVxyXG4uZmEtYW5nbGUtdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwNlwiO1xyXG59XHJcbi5mYS1hbmdsZS1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMDdcIjtcclxufVxyXG4uZmEtZGVza3RvcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7XHJcbn1cclxuLmZhLWxhcHRvcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTA5XCI7XHJcbn1cclxuLmZhLXRhYmxldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7XHJcbn1cclxuLmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsXHJcbi5mYS1tb2JpbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwYlwiO1xyXG59XHJcbi5mYS1jaXJjbGUtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XHJcbn1cclxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEwZFwiO1xyXG59XHJcbi5mYS1xdW90ZS1yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XHJcbn1cclxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExMFwiO1xyXG59XHJcbi5mYS1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExMVwiO1xyXG59XHJcbi5mYS1tYWlsLXJlcGx5OmJlZm9yZSxcclxuLmZhLXJlcGx5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMTJcIjtcclxufVxyXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7XHJcbn1cclxuLmZhLWZvbGRlci1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMTRcIjtcclxufVxyXG4uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTE1XCI7XHJcbn1cclxuLmZhLXNtaWxlLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExOFwiO1xyXG59XHJcbi5mYS1mcm93bi1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMTlcIjtcclxufVxyXG4uZmEtbWVoLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjExYVwiO1xyXG59XHJcbi5mYS1nYW1lcGFkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMWJcIjtcclxufVxyXG4uZmEta2V5Ym9hcmQtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7XHJcbn1cclxuLmZhLWZsYWctbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTFkXCI7XHJcbn1cclxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMWVcIjtcclxufVxyXG4uZmEtdGVybWluYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyMFwiO1xyXG59XHJcbi5mYS1jb2RlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjFcIjtcclxufVxyXG4uZmEtcmVwbHktYWxsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjJcIjtcclxufVxyXG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyMlwiO1xyXG59XHJcbi5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxyXG4uZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxyXG4uZmEtc3Rhci1oYWxmLW86YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyM1wiO1xyXG59XHJcbi5mYS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7XHJcbn1cclxuLmZhLWNyb3A6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyNVwiO1xyXG59XHJcbi5mYS1jb2RlLWZvcms6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyNlwiO1xyXG59XHJcbi5mYS11bmxpbms6YmVmb3JlLFxyXG4uZmEtY2hhaW4tYnJva2VuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjdcIjtcclxufVxyXG4uZmEtcXVlc3Rpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyOFwiO1xyXG59XHJcbi5mYS1pbmZvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMjlcIjtcclxufVxyXG4uZmEtZXhjbGFtYXRpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEyYVwiO1xyXG59XHJcbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XHJcbn1cclxuLmZhLXN1YnNjcmlwdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7XHJcbn1cclxuLmZhLWVyYXNlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XHJcbn1cclxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XHJcbn1cclxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzMFwiO1xyXG59XHJcbi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzFcIjtcclxufVxyXG4uZmEtc2hpZWxkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzJcIjtcclxufVxyXG4uZmEtY2FsZW5kYXItbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XHJcbn1cclxuLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzRcIjtcclxufVxyXG4uZmEtcm9ja2V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzVcIjtcclxufVxyXG4uZmEtbWF4Y2RuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzZcIjtcclxufVxyXG4uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7XHJcbn1cclxuLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxMzhcIjtcclxufVxyXG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzOVwiO1xyXG59XHJcbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxM2FcIjtcclxufVxyXG4uZmEtaHRtbDU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjEzYlwiO1xyXG59XHJcbi5mYS1jc3MzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxM2NcIjtcclxufVxyXG4uZmEtYW5jaG9yOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxM2RcIjtcclxufVxyXG4uZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7XHJcbn1cclxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDBcIjtcclxufVxyXG4uZmEtZWxsaXBzaXMtaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XHJcbn1cclxuLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0MlwiO1xyXG59XHJcbi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDNcIjtcclxufVxyXG4uZmEtcGxheS1jaXJjbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0NFwiO1xyXG59XHJcbi5mYS10aWNrZXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0NVwiO1xyXG59XHJcbi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0NlwiO1xyXG59XHJcbi5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7XHJcbn1cclxuLmZhLWxldmVsLXVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNDhcIjtcclxufVxyXG4uZmEtbGV2ZWwtZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTQ5XCI7XHJcbn1cclxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XHJcbn1cclxuLmZhLXBlbmNpbC1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0YlwiO1xyXG59XHJcbi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7XHJcbn1cclxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XHJcbn1cclxuLmZhLWNvbXBhc3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xyXG59XHJcbi5mYS10b2dnbGUtZG93bjpiZWZvcmUsXHJcbi5mYS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTBcIjtcclxufVxyXG4uZmEtdG9nZ2xlLXVwOmJlZm9yZSxcclxuLmZhLWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTFcIjtcclxufVxyXG4uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSxcclxuLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTJcIjtcclxufVxyXG4uZmEtZXVybzpiZWZvcmUsXHJcbi5mYS1ldXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1M1wiO1xyXG59XHJcbi5mYS1nYnA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1NFwiO1xyXG59XHJcbi5mYS1kb2xsYXI6YmVmb3JlLFxyXG4uZmEtdXNkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTVcIjtcclxufVxyXG4uZmEtcnVwZWU6YmVmb3JlLFxyXG4uZmEtaW5yOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTZcIjtcclxufVxyXG4uZmEtY255OmJlZm9yZSxcclxuLmZhLXJtYjpiZWZvcmUsXHJcbi5mYS15ZW46YmVmb3JlLFxyXG4uZmEtanB5OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNTdcIjtcclxufVxyXG4uZmEtcnVibGU6YmVmb3JlLFxyXG4uZmEtcm91YmxlOmJlZm9yZSxcclxuLmZhLXJ1YjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XHJcbn1cclxuLmZhLXdvbjpiZWZvcmUsXHJcbi5mYS1rcnc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1OVwiO1xyXG59XHJcbi5mYS1iaXRjb2luOmJlZm9yZSxcclxuLmZhLWJ0YzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7XHJcbn1cclxuLmZhLWZpbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1YlwiO1xyXG59XHJcbi5mYS1maWxlLXRleHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE1Y1wiO1xyXG59XHJcbi5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7XHJcbn1cclxuLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTVlXCI7XHJcbn1cclxuLmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTYwXCI7XHJcbn1cclxuLmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2MVwiO1xyXG59XHJcbi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNjJcIjtcclxufVxyXG4uZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2M1wiO1xyXG59XHJcbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2NFwiO1xyXG59XHJcbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTY1XCI7XHJcbn1cclxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNjZcIjtcclxufVxyXG4uZmEteW91dHViZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7XHJcbn1cclxuLmZhLXhpbmc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2OFwiO1xyXG59XHJcbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7XHJcbn1cclxuLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTZhXCI7XHJcbn1cclxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2YlwiO1xyXG59XHJcbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTZjXCI7XHJcbn1cclxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XHJcbn1cclxuLmZhLWZsaWNrcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7XHJcbn1cclxuLmZhLWFkbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTcwXCI7XHJcbn1cclxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7XHJcbn1cclxuLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3MlwiO1xyXG59XHJcbi5mYS10dW1ibHI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3M1wiO1xyXG59XHJcbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzRcIjtcclxufVxyXG4uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzVcIjtcclxufVxyXG4uZmEtbG9uZy1hcnJvdy11cDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTc2XCI7XHJcbn1cclxuLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTc3XCI7XHJcbn1cclxuLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3OFwiO1xyXG59XHJcbi5mYS1hcHBsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTc5XCI7XHJcbn1cclxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3YVwiO1xyXG59XHJcbi5mYS1hbmRyb2lkOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxN2JcIjtcclxufVxyXG4uZmEtbGludXg6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE3Y1wiO1xyXG59XHJcbi5mYS1kcmliYmJsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XHJcbn1cclxuLmZhLXNreXBlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxN2VcIjtcclxufVxyXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTgwXCI7XHJcbn1cclxuLmZhLXRyZWxsbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7XHJcbn1cclxuLmZhLWZlbWFsZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTgyXCI7XHJcbn1cclxuLmZhLW1hbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4M1wiO1xyXG59XHJcbi5mYS1naXR0aXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4NFwiO1xyXG59XHJcbi5mYS1zdW4tbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7XHJcbn1cclxuLmZhLW1vb24tbzpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7XHJcbn1cclxuLmZhLWFyY2hpdmU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4N1wiO1xyXG59XHJcbi5mYS1idWc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4OFwiO1xyXG59XHJcbi5mYS12azpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XHJcbn1cclxuLmZhLXdlaWJvOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOGFcIjtcclxufVxyXG4uZmEtcmVucmVuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOGJcIjtcclxufVxyXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOGNcIjtcclxufVxyXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xyXG59XHJcbi5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMThlXCI7XHJcbn1cclxuLmZhLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5MFwiO1xyXG59XHJcbi5mYS10b2dnbGUtbGVmdDpiZWZvcmUsXHJcbi5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTFcIjtcclxufVxyXG4uZmEtZG90LWNpcmNsZS1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTJcIjtcclxufVxyXG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XHJcbn1cclxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XHJcbn1cclxuLmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsXHJcbi5mYS10cnk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE5NVwiO1xyXG59XHJcbi5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxOTZcIjtcclxufVxyXG4iLCJAbWl4aW4gcmVzZXQtbGlzdCgpe1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJsaXN0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAmIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcm90YXRlKCRkZWcpe1xyXG5cdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVnKTsgLyogSUUgOSAqL1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZyk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKCRkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gcm91bmQtaWNvbigkc2l6ZSl7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ZDUzO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgLmZhe1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkdG9wLCAkbGVmdCwgJGJsdXIsICRjb2xvciwgJGluc2V0OiBmYWxzZSkge1xyXG4gICAgQGlmICRpbnNldCB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzppbnNldCAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICAgICAgICBib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbnN7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxufSIsIkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xyXG4gIHNyYzogdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvZm9udGVsbG8uZW90PzY4MjE3NicpO1xyXG4gIHNyYzogdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvZm9udGVsbG8uZW90PzY4MjE3NiNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL2ZvbnRlbGxvLndvZmY/NjgyMTc2JykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9mb250ZWxsby50dGY/NjgyMTc2JykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvZm9udGVsbG8uc3ZnPzY4MjE3NiNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAncm9ib3RvcmVndWxhcic7XHJcblx0c3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tUmVndWxhci13ZWJmb250LmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLVJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1SZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcblx0XHQgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLVJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHQgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLVJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHQgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLVJlZ3VsYXItd2ViZm9udC5zdmcjcm9ib3RvcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xyXG4gICAgc3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tSXRhbGljLXdlYmZvbnQuZW90Jyk7XHJcbiAgICBzcmM6IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1JdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tSXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1JdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1JdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1JdGFsaWMtd2ViZm9udC5zdmcjcm9ib3RvaXRhbGljJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xyXG4gICAgc3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tQm9sZC13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tQm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1Cb2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1Cb2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tQm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLUJvbGQtd2ViZm9udC5zdmcjcm9ib3RvYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xyXG4gICAgc3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLUJvbGRJdGFsaWMtd2ViZm9udC5zdmcjcm9ib3RvYm9sZF9pdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAncm9ib3RvbWVkaXVtJztcclxuXHRzcmM6IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1NZWRpdW0td2ViZm9udC5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1NZWRpdW0td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1NZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuXHRcdCB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1NZWRpdW0td2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHQgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLU1lZGl1bS13ZWJmb250LnN2ZyNyb2JvdG9tZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvbGlnaHQnO1xyXG4gICAgc3JjOiB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tTGlnaHQtd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLUxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLUxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL1JvYm90by1MaWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvUm9ib3RvLUxpZ2h0LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9Sb2JvdG8tTGlnaHQtd2ViZm9udC5zdmcjcm9ib3RvbGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ3N1cGVyY2xhcmVuZG9ucmVndWxhcic7XHJcbiAgICBzcmM6IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL3N1cGVyY2xhcmVuZG9uLXdlYmZvbnQuZW90Jyk7XHJcbiAgICBzcmM6IHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL3N1cGVyY2xhcmVuZG9uLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvc3VwZXJjbGFyZW5kb24td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgdXJsKCcvc3R5bGVzaGVldHMvZm9udHMvc3VwZXJjbGFyZW5kb24td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgIHVybCgnL3N0eWxlc2hlZXRzL2ZvbnRzL3N1cGVyY2xhcmVuZG9uLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICB1cmwoJy9zdHlsZXNoZWV0cy9mb250cy9zdXBlcmNsYXJlbmRvbi13ZWJmb250LnN2ZyNzdXBlcmNsYXJlbmRvbnJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHJcbn1cclxuXHJcbiRmb250cmVndWxhcjogJ3JvYm90b3JlZ3VsYXInLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udG1lZGl1bTogJ3JvYm90b21lZGl1bScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250bGlnaHQ6ICdyb2JvdG9saWdodCcsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250c3BlY2lhbDogJ3N1cGVyY2xhcmVuZG9ucmVndWxhcicsIEdlb3JnaWEsIHNlcmlmO1xyXG4iLCIkeFNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDozNDBweClcIiAhZGVmYXVsdDtcclxuJGhlYWRlci1icmVha3BvaW50OiBcInNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KVwiOyAgLy9tZWRpYSBxdWVyeSBiZXR3ZWVuIGxhcmdlLXVwIGFuZCByb3ctd2lkdGggKHNhZmUtem9uZSlcclxuJHNtYWxsZXN0LWJyZWFrcG9pbnQ6IFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzBweClcIjtcclxuXHJcbjpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Oi1tb3otZm9jdXMtaW5uZXIge1xyXG5cdGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBEZWZhdWx0ICovXHJcbi8qIGZvbnQgKi9cclxuLyogZml4IGZvciBwaXhlbGF0ZWQgZm9udCAqL1xyXG5odG1sIHtcclxuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFpbXBvcnRhbnQ7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuYm9keSB7XHJcblx0LyogZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsJ0hlbHZldGljYScsQXJpYWwsc2Fucy1zZXJpZjsgKi9cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVscGVyIGNsYXNzZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbmxpbmUtYmxvY2sge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLypcclxuICogSW1hZ2UgcmVwbGFjZW1lbnRcclxuICovXHJcblxyXG4uaXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC8qIElFIDYvNyBmYWxsYmFjayAqL1xyXG5cdCp0ZXh0LWluZGVudDogcmVtLWNhbGMoLTk5OTkpO1xyXG59XHJcblxyXG4uaXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMTUwJTtcclxufVxyXG5cclxuLypcclxuICogSGlkZSBmcm9tIGJvdGggc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnM6IGg1YnAuY29tL3VcclxuICovXHJcblxyXG4uaGlkZGVuIHtcclxuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4uaGlkZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLypcclxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbnJlYWRlcnM6IGg1YnAuY29tL3ZcclxuICovXHJcblxyXG4udmlzdWFsbHloaWRkZW4ge1xyXG5cdGJvcmRlcjogMDtcclxuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xyXG5cdGhlaWdodDogcmVtLWNhbGMoMSk7XHJcblx0bWFyZ2luOiByZW0tY2FsYygtMSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogcmVtLWNhbGMoMSk7XHJcbn1cclxuXHJcbi8qXHJcbiAqIEV4dGVuZHMgdGhlIC52aXN1YWxseWhpZGRlbiBjbGFzcyB0byBhbGxvdyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2FibGVcclxuICogd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDogaDVicC5jb20vcFxyXG4gKi9cclxuXHJcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxyXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcclxuXHRjbGlwOiBhdXRvO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRtYXJnaW46IDA7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0cG9zaXRpb246IHN0YXRpYztcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5cclxuLypcclxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW5yZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XHJcbiAqL1xyXG5cclxuLmludmlzaWJsZSB7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vKlxyXG4gKiBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcclxuICpcclxuICogRm9yIG1vZGVybiBicm93c2Vyc1xyXG4gKiAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxyXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xyXG4gKiAgICB0aGF0IHJlY2VpdmUgdGhlIGBjbGVhcmZpeGAgY2xhc3MuXHJcbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXHJcbiAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cclxuICovXHJcblxyXG4uY2xlYXJmaXg6YmVmb3JlLFxyXG4uY2xlYXJmaXg6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdC8qIDEgKi9cclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHQvKiAyICovXHJcbn1cclxuXHJcbi5jbGVhcmZpeDphZnRlciB7XHJcblx0Y2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbi5mb250YXdlc29tZSB7XHJcblx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG59XHJcblxyXG4vKlxyXG4qIGN1c3RvbSBzdHlsZXNcclxuKi9cclxuYmxvY2txdW90ZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdBdmVuaXIgTmV4dCBMVCBQcm8gQm9sZCc7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IG9wZW4tcXVvdGU7XHJcblx0fVxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogY2xvc2UtcXVvdGU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgI3skbWVkaXVtLWRvd259IHtcclxuXHQuY29sdW1uLCAuY29sdW1ucyB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHR9XHJcblx0LnJvdyAucm93IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMjApO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMjApO1xyXG5cdH1cclxufVxyXG5cclxuLmNydW1idHJhaWwge1xyXG5cdG1hcmdpbjogcmVtLWNhbGMoMjQpIDA7XHJcblx0dWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGxpIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuaW1nIHtcclxuXHRtYXJnaW46IDAgMCByZW0tY2FsYygxMik7XHJcbn1cclxuXHJcbi8qIC5tYWluLWNvbnRhaW5lciAubWFpbiBzZWN0aW9uLmNvbnRlbnQge1xyXG5cdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTgpO1xyXG5cdH1cclxufVxyXG4gKi9cclxuaWZyYW1lIHtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG5cdCYubG9uZyB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDYwcHg7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiA2MHB4O1xyXG5cdH1cclxuXHQmLm1lZGl1bXtcclxuXHRcdHBhZGRpbmctbGVmdDogMzBweDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0fVxyXG5cdCYuc21hbGwtZm9udCB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zbWFsbC1mb250IHtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRwLCBsYWJlbCwgc3BhbiB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xyXG5cdH1cclxufVxyXG5cclxuLnRhYmxlLW91dGVyIHtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHQudGFibGUtaW5uZXIge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxyXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcclxuaW5wdXRbdHlwZT1cInVybFwiXSxcclxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxyXG50ZXh0YXJlYSB7XHJcblx0Ly8gQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTtcclxufVxyXG5cclxuLmJ1dHRvbntcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOnZpc2l0ZWR7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uaW52aXNpYmxle1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mbGV4c2xpZGVye1xyXG5cdG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7IFxyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEge1xyXG5cdHdpZHRoOiByZW0tY2FsYygxMykgIWltcG9ydGFudDtcclxuXHRoZWlnaHQ6IHJlbS1jYWxjKDEzKSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG5cdC1tb3otYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG5cdC1vLWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblx0Zm9udC1zaXplOiAwcHggIWltcG9ydGFudDsgXHJcblx0Jjpob3ZlcntcclxuXHRcdGJhY2tncm91bmQ6ICNGRkYgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEuZmxleC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6ICNGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZsZXgtY29udHJvbC1uYXYge1xyXG5cdGJvdHRvbTogcmVtLWNhbGMoNTApICFpbXBvcnRhbnQ7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcclxuXHR6LWluZGV4OiAxMCAhaW1wb3J0YW50O1xyXG5cdHJpZ2h0OiByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xyXG5cdGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0c3BlYWs6IG5vbmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuXHR3aWR0aDogMWVtO1xyXG5cdG1hcmdpbi1yaWdodDogLjJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0bGluZS1oZWlnaHQ6IDFlbTtcclxuXHRtYXJnaW4tbGVmdDogLjJlbTtcclxufVxyXG5cclxuLmljb24tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9XHJcbi5pY29uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9XHJcbi5pY29uLWRvd246YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMic7IH1cclxuLmljb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAzJzsgfVxyXG4uaWNvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA0JzsgfVxyXG4uaWNvbi1sZWZ0LW9wZW46YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNSc7IH1cclxuLmljb24tcmlnaHQtb3BlbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA2JzsgfVxyXG4uaWNvbi10d2l0dGVyLWJpcmQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNyc7IH1cclxuXHJcbmF7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdCY6aG92ZXJ7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRjb2xvcjogJHRoaXJkLWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuYm9keSwgcCwgdGQsIHRoLCB1bCBsaSwgb2wgbGksIHNwYW4sIGJsb2NrcXVvdGUsIGRpdiwgbGFiZWwsIGgyLCBoMywgaDQsIGg1LCBoNntcclxuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbmgxe1xyXG5cdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udHJlZ3VsYXI7XHJcblx0bWFyZ2luLXRvcDowcHg7XHJcbn1cclxuXHJcbmgye1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udGxpZ2h0O1xyXG59XHJcblxyXG5we1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxufVxyXG5cclxudGFibGUucmVzcG9uc2l2ZXtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHR0cntcclxuXHRcdHRke1xyXG5cdFx0XHRAbWVkaWEgI3skc21hbGwtb25seX17XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuYTpmb2N1cywgYTphY3RpdmV7XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5pbWctbm8tbWd7bWFyZ2luOjAgIWltcG9ydGFudDtwYWRkaW5nOjAgIWltcG9ydGFudDt9IiwiLyogU2xpZGVyICovXHJcbi5zbGljay1zbGlkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAtbW96LXVzZXItc2VsZWN0OiBub25lOyAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IHVzZXItc2VsZWN0OiBub25lOyAtbXMtdG91Y2gtYWN0aW9uOiBub25lOyAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4uc2xpY2stbGlzdCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxyXG4uc2xpY2stbGlzdDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cclxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3QgeyBiYWNrZ3JvdW5kOiB3aGl0ZSB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxyXG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7IGN1cnNvcjogcG9pbnRlcjsgY3Vyc29yOiBoYW5kOyB9XHJcblxyXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0LCAuc2xpY2stdHJhY2ssIC5zbGljay1zbGlkZSwgLnNsaWNrLXNsaWRlIGltZyB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxyXG5cclxuLnNsaWNrLXRyYWNrIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAwOyB0b3A6IDA7IGRpc3BsYXk6IGJsb2NrOyB6b29tOiAxOyB9XHJcbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbi5zbGljay10cmFjazphZnRlciB7IGNsZWFyOiBib3RoOyB9XHJcbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLnNsaWNrLXNsaWRlIHsgZmxvYXQ6IGxlZnQ7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMXB4OyBkaXNwbGF5OiBub25lOyB9XHJcbi5zbGljay1zbGlkZSBpbWcgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHsgZGlzcGxheTogYmxvY2s7IH1cclxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUgeyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiBhdXRvOyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxyXG5cclxuLyogSWNvbnMgKi9cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7IHNyYzogdXJsKFwiL2ZvbnRzL3NsaWNrLmVvdFwiKTsgc3JjOiB1cmwoXCIvZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxyXG4vKiBBcnJvd3MgKi9cclxuLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHsgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMDsgZm9udC1zaXplOiAwOyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGVtcGxhdGVfaW1hZ2VzL3NsaWRlcl9hcnJvd3MucG5nJyk7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRvcDogNDAlO1xyXG4gIG1hcmdpbi10b3A6IC0xMHB4OyBwYWRkaW5nOiAwOyBib3JkZXI6IG5vbmU7IG91dGxpbmU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIHdpZHRoOiAzMXB4O1xyXG59XHJcbi5zbGljay1uZXh0e1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG59XHJcbi5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cywgLnNsaWNrLW5leHQ6aG92ZXIsIC5zbGljay1uZXh0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiAkcHJpbWFyeS1jb2xvciB9XHJcbi5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLCAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7IGNvbG9yOiRwcmltYXJ5LWNvbG9yOyB9XHJcbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSwgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHsgb3BhY2l0eTogMC4yNTsgfVxyXG5cclxuLyogLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUgeyBmb250LWZhbWlseTogXCJmb250YXdlc29tZVwiOyBmb250LXNpemU6IDMwcHg7IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogd2hpdGU7IG9wYWNpdHk6IDAuNzU7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9ICovXHJcblxyXG4vKiAuc2xpY2stcHJldiB7XHJcbiAgbGVmdDogMjBweDtcclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfXtcclxuICAgIGxlZnQ6IDE1cHg7XHJcbiAgfVxyXG59XHJcbi5zbGljay1wcmV2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA0XCI7IH1cclxuXHJcbi5zbGljay1uZXh0IHtcclxuICByaWdodDogMjBweDtcclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfXtcclxuICAgIHJpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG4uc2xpY2stbmV4dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNVwiOyB9ICovXHJcblxyXG4vKiBEb3RzICovXHJcbi8qLnNsaWNrLXNsaWRlciB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH0qL1xyXG5cclxuLnNsaWNrLWRvdHMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IC8qYm90dG9tOiAtNDVweDsqLyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwOyB3aWR0aDogMTAwJTsgbWFyZ2luOjA7IH1cclxuLnNsaWNrLWRvdHMgbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgaGVpZ2h0OiAyMHB4OyB3aWR0aDogMjBweDsgbWFyZ2luOiAwIDVweDsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7IHdpZHRoOiAyMHB4OyBvdXRsaW5lOiBub25lOyBsaW5lLWhlaWdodDogMDsgZm9udC1zaXplOiAwOyBjb2xvcjogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDVweDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxyXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxyXG4uc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGNvbnRlbnQ6IFwiXFwyMDIyXCI7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7IGZvbnQtc2l6ZTogNnB4OyBsaW5lLWhlaWdodDogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogYmxhY2s7IG9wYWNpdHk6IDAuMjU7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XHJcbi5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHsgY29sb3I6IGJsYWNrOyBvcGFjaXR5OiAwLjc1OyB9XHJcblxyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgRHJvcEtpY2sgdGhlbWVcclxuICpcclxuICogRmVlbCBmcmVlIHRvIGVkaXQgdGhlIGRlZmF1bHQgdGhlbWVcclxuICogb3IgZXZlbiBhZGQgeW91ciBvd24uXHJcbiAqXHJcbiAqIFNlZSB0aGUgcmVhZG1lIGZvciB0aGVtZWluZyBoZWxwXHJcbiAqXHJcbiAqL1xyXG4uZGtfY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE3KTsgfVxyXG4gIC5ka19jb250YWluZXI6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDsgfVxyXG4gIC5ka19jb250YWluZXIgYSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgLyogYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzcyNzI3MjsgKi9cclxuICAgIC8qIGJhY2tncm91bmQ6ICNmNGY0ZjQ7ICovXHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MC41KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxuLmRrX3RvZ2dsZSB7XHJcbiAgLyogYm9yZGVyOiAxcHggc29saWQgI2VhZWRlZjsgKi9cclxuICBib3JkZXI6IG5vbmU7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoOC41KSByZW0tY2FsYyg0NSkgcmVtLWNhbGMoOC41KSByZW0tY2FsYyg4LjUpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICBjb2xvcjogIzAwMDsgfVxyXG4gIC5ka190b2dnbGU6aG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiAgICAuZGtfdG9nZ2xlOmFmdGVyIHtcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZGtfdG9nZ2xlOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTIlO1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICBmb250LWZhbWlseTogJ2ZvbnRhd2Vzb21lJztcclxuICAgIGNvbnRlbnQ6IFwiXFxmMGRkXCI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNCk7XHJcbiAgICBjb2xvcjogIzM0NjU3ZjtcclxuICB9XHJcblxyXG5cclxuLyogQXBwbGllZCB3aGVuIHRoZSBkcm9wZG93biBpcyBmb2N1c2VkICovXHJcbi5ka19mb2N1cyAuZGtfdG9nZ2xlIHtcclxuICBib3JkZXItY29sb3I6ICNlYWVkZWY7IH1cclxuXHJcbi8qIEFwcGxpZWQgd2hlbmV2ZXIgdGhlIGRyb3Bkb3duIGlzIG9wZW4gKi9cclxuLmRrX29wZW4ge1xyXG4gIC8qKlxyXG4gICAqIEhlbHA6IERyb3Bkb3duIG1lbnUgaXMgY292ZXJlZCBieSBzb21ldGhpbmdcclxuICAgKiBUcnkgc2V0dGluZyB0aGlzIHZhbHVlIGhpZ2hlclxyXG4gICAqL1xyXG4gIHotaW5kZXg6IDEwOyB9XHJcbiAgLmRrX29wZW4gLmRrX3RvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICNlYWVkZWY7IH1cclxuXHJcbi8qIFRoZSBvdXRlciBjb250YWluZXIgb2YgdGhlIG9wdGlvbnMgKi9cclxuLmRrX29wdGlvbnMge1xyXG4gIGJhY2tncm91bmQ6ICNlY2VjZWQ7XHJcbiAgLyogUmVtb3ZlcyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIG9uIGlPUzUrIHNjcm9sbCAqLyB9XHJcbiAgLmRrX29wdGlvbnMgYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGRkY7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgfVxyXG4gIC5ka19vcHRpb25zIGE6aG92ZXIsXHJcbiAgLmRrX29wdGlvbnMgLmRrX29wdGlvbl9jdXJyZW50IGEsIC5zaWRlYmFyIC5ka19vcHRpb25zICBsaSAgYTpob3ZlciB7XHJcblxyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuICAuZGtfb3B0aW9ucyBsaTpsYXN0LWNoaWxkIGEge1xyXG4gICAgLyogYm9yZGVyLWJvdHRvbTogbm9uZTsgICovXHJcbiAgfVxyXG4gIC5ka19vcHRpb25zIC5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuICAgIC5ka19vcHRpb25zIC5kaXNhYmxlZCBhIHtcclxuICAgICAgY29sb3I6ICNhYWE7IH1cclxuICAgIC5ka19vcHRpb25zIC5kaXNhYmxlZDpob3ZlciwgLmRrX29wdGlvbnMgLmRpc2FibGVkOmhvdmVyIGEge1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmY7IH1cclxuXHJcbi8qIElubmVyIGNvbnRhaW5lciBmb3Igb3B0aW9ucywgdGhpcyBpcyB3aGF0IG1ha2VzIHRoZSBzY3JvbGxiYXIgcG9zc2libGUuICovXHJcbi5ka19vcHRpb25zX2lubmVyIHtcclxuICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICBjb2xvcjogIzAwMDsgfVxyXG5cclxuLyoqKioqKiAgRW5kIFRoZW1lICoqKioqKi9cclxuLyoqKioqIENyaXRpY2FsIHRvIHRoZSBjb250aW51ZWQgZW5qb3ltZW50IG9mIHdvcmtpbmcgZHJvcGRvd25zICoqKioqKi9cclxuLmRrX2NvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICAvKiBmbG9hdDogbGVmdDsgICovXHJcbn1cclxuICAuZGtfY29udGFpbmVyIGEge1xyXG4gICAgb3V0bGluZTogMDsgfVxyXG5cclxuLmRrX3RvZ2dsZSB7XHJcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICpkaXNwbGF5OiBpbmxpbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHpvb206IDE7IH1cclxuXHJcbi5ka19vcGVuIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAuZGtfb3BlbiAuZGtfb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgfVxyXG4gIC5ka19vcGVuIC5ka19sYWJlbCB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxyXG5cclxuLmRrX29wdGlvbnMge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMTtcclxuICBib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxufVxyXG4gIC5ka19vcHRpb25zIGEsIC5ka19vcHRpb25zIGE6bGluaywgLmRrX29wdGlvbnMgYTp2aXNpdGVkIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG4uZGtfb3B0aW9uc19pbm5lciB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDsgfVxyXG5cclxuLmRrX29wdGlvbnNfaW5uZXIgbGkge1xyXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxyXG4gIC5ka19vcHRpb25zX2lubmVyIGxpOmJlZm9yZXtcclxuICAgIC8qIGNvbnRlbnQ6XCJcIjsgKi9cclxuICAgIC8qIHBhZGRpbmc6MDsgKi9cclxuICB9XHJcblxyXG4vKiBIaWRlcyBvbmx5IGRyb3BraWNrIDxzZWxlY3Q+IGluc3RhbmNlcyAqL1xyXG4uZGtfY29udGFpbmVyIHNlbGVjdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTk5OTk5ZW07XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHdpZHRoOiAwOyAvKiBmaXggLSBvdmVyZmxvdyBpbiB0YWJsZXQtbW9iaWxlKi9cclxufVxyXG5cclxuLyogIG5hdGl2ZU1vYmlsZSBvdmVycmlkZSAqL1xyXG4uZGtfbW9iaWxlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAuZGtfbW9iaWxlIHNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBhcHBlYXJhbmNlOm5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6bm9uZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lOyB9XHJcbi8qKioqKiBFbmQgQ3JpdGljYWwgdG8gdGhlIGNvbnRpbnVlZCBlbmpveW1lbnQgb2Ygd29ya2luZyBkcm9wZG93bnMgKioqKioqL1xyXG5cclxuLyogc2hhcmUgdGhpcyBjc3MgaXNzdWUgZml4XHJcbiogdHdpdHRlciBidXR0b24gY3V0IG9mZlxyXG4qIGZpeGluZyB0d2l0dGVyIGFmZmVjdHMgZmJsaWtlIGJ1dHRvbiAtIHRoaXJkIGNzcyBiZWxvdyBmaXhlZCB0aGlzXHJcbiovXHJcbi5zdEJ1dHRvbiAuc3RCdXR0b25fZ3JhZGllbnQge1xyXG5oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0QnV0dG9uIC5zdEZiLCAuc3RCdXR0b24gLnN0VHdidXR0b24sIC5zdEJ1dHRvbiAuc3RNYWluU2VydmljZXMge1xyXG5oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0X2ZibGlrZV9oY291bnQ+c3BhbntcclxuICAgIG1hcmdpbjowIWltcG9ydGFudDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbGVjdF9ob2xkZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuZmF7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAycHg7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDExcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59IiwiLypcclxuICogalF1ZXJ5IEZsZXhTbGlkZXIgdjIuMi4wXHJcbiAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyL1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxMiBXb29UaGVtZXNcclxuICogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGxpY2Vuc2UuXHJcbiAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcclxuICpcclxuICogQ29udHJpYnV0aW5nIGF1dGhvcjogVHlsZXIgU21pdGggKEBtYm11ZmZmaW4pXHJcbiAqL1xyXG5cclxuXHJcbi8qIEJyb3dzZXIgUmVzZXRzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZsZXgtY29udGFpbmVyIGE6YWN0aXZlLFxyXG4uZmxleHNsaWRlciBhOmFjdGl2ZSxcclxuLmZsZXgtY29udGFpbmVyIGE6Zm9jdXMsXHJcbi5mbGV4c2xpZGVyIGE6Zm9jdXMgIHtvdXRsaW5lOiBub25lO31cclxuLnNsaWRlcyxcclxuLmZsZXgtY29udHJvbC1uYXYsXHJcbi5mbGV4LWRpcmVjdGlvbi1uYXYge21hcmdpbjogMDsgcGFkZGluZzogMDsgbGlzdC1zdHlsZTogbm9uZTt9XHJcblxyXG4vKiBJY29uIEZvbnRzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyogRm9udC1mYWNlIEljb25zICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnZmxleHNsaWRlci1pY29uJztcclxuXHRzcmM6dXJsKCcvY3NzL2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5lb3QnKTtcclxuXHRzcmM6dXJsKCcvY3NzL2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvY3NzL2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9jc3MvZm9udHMvZmxleHNsaWRlci1pY29uLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuXHRcdHVybCgnL2Nzcy9mb250cy9mbGV4c2xpZGVyLWljb24uc3ZnI2ZsZXhzbGlkZXItaWNvbicpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIEZsZXhTbGlkZXIgTmVjZXNzYXJ5IFN0eWxlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5mbGV4c2xpZGVyIHttYXJnaW46IDA7IHBhZGRpbmc6IDA7fVxyXG4uZmxleHNsaWRlciAuc2xpZGVzID4gbGkge2Rpc3BsYXk6IG5vbmU7IC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO30gLyogSGlkZSB0aGUgc2xpZGVzIGJlZm9yZSB0aGUgSlMgaXMgbG9hZGVkLiBBdm9pZHMgaW1hZ2UganVtcGluZyAqL1xyXG4uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7d2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrO31cclxuLmZsZXgtcGF1c2VwbGF5IHNwYW4ge3RleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO31cclxuXHJcbi8qIENsZWFyZml4IGZvciB0aGUgLnNsaWRlcyBlbGVtZW50ICovXHJcbi5zbGlkZXM6YWZ0ZXIge2NvbnRlbnQ6IFwiXFwwMDIwXCI7IGRpc3BsYXk6IGJsb2NrOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuOyBsaW5lLWhlaWdodDogMDsgaGVpZ2h0OiAwO31cclxuaHRtbFt4bWxuc10gLnNsaWRlcyB7ZGlzcGxheTogYmxvY2s7fVxyXG4qIGh0bWwgLnNsaWRlcyB7aGVpZ2h0OiAxJTt9XHJcblxyXG4vKiBObyBKYXZhU2NyaXB0IEZhbGxiYWNrICovXHJcbi8qIElmIHlvdSBhcmUgbm90IHVzaW5nIGFub3RoZXIgc2NyaXB0LCBzdWNoIGFzIE1vZGVybml6ciwgbWFrZSBzdXJlIHlvdVxyXG4gKiBpbmNsdWRlIGpzIHRoYXQgZWxpbWluYXRlcyB0aGlzIGNsYXNzIG9uIHBhZ2UgbG9hZCAqL1xyXG4ubm8tanMgLnNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtkaXNwbGF5OiBibG9jazt9XHJcblxyXG4vKiBGbGV4U2xpZGVyIERlZmF1bHQgVGhlbWVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZmxleHNsaWRlciB7IG1hcmdpbjogMCAwIDYwcHg7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogNHB4IHNvbGlkICNmZmY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgem9vbTogMTsgfVxyXG4uZmxleC12aWV3cG9ydCB7IG1heC1oZWlnaHQ6IDIwMDBweDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7IHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XHJcbi5sb2FkaW5nIC5mbGV4LXZpZXdwb3J0IHsgbWF4LWhlaWdodDogMzAwcHg7IH1cclxuLmZsZXhzbGlkZXIgLnNsaWRlcyB7IHpvb206IDE7IH1cclxuLmNhcm91c2VsIGxpIHsgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cclxuXHJcbi8qIERpcmVjdGlvbiBOYXYgKi9cclxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7KmhlaWdodDogMDt9XHJcbi5mbGV4LWRpcmVjdGlvbi1uYXYgYSAgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgbWFyZ2luOiAtMjBweCAwIDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHotaW5kZXg6IDEwOyBvdmVyZmxvdzogaGlkZGVuOyBvcGFjaXR5OiAwOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiByZ2JhKDAsMCwwLDAuOCk7IHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwwLjMpOyAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYgeyBsZWZ0OiAtNTBweDsgfVxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQgeyByaWdodDogLTUwcHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LXByZXYgeyBvcGFjaXR5OiAwLjc7IGxlZnQ6IDEwcHg7IH1cclxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtbmV4dCB7IG9wYWNpdHk6IDAuNzsgcmlnaHQ6IDEwcHg7IH1cclxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtbmV4dDpob3ZlciwgLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtcHJldjpob3ZlciB7IG9wYWNpdHk6IDE7IH1cclxuLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1kaXNhYmxlZCB7IG9wYWNpdHk6IDAhaW1wb3J0YW50OyBmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTsgY3Vyc29yOiBkZWZhdWx0OyB9XHJcbi5mbGV4LWRpcmVjdGlvbi1uYXYgYTpiZWZvcmUgIHsgZm9udC1mYW1pbHk6IFwiZmxleHNsaWRlci1pY29uXCI7IGZvbnQtc2l6ZTogNDBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb250ZW50OiAnXFxmMDAxJzsgfVxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IGEuZmxleC1uZXh0OmJlZm9yZSAgeyBjb250ZW50OiAnXFxmMDAyJzsgfVxyXG5cclxuLyogUGF1c2UvUGxheSAqL1xyXG4uZmxleC1wYXVzZXBsYXkgYSB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogNXB4OyBsZWZ0OiAxMHB4OyBvcGFjaXR5OiAwLjg7IHotaW5kZXg6IDEwOyBvdmVyZmxvdzogaGlkZGVuOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiAjMDAwOyB9XHJcbi5mbGV4LXBhdXNlcGxheSBhOmJlZm9yZSAgeyBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjsgZm9udC1zaXplOiAyMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbnRlbnQ6ICdcXGYwMDQnOyB9XHJcbi5mbGV4LXBhdXNlcGxheSBhOmhvdmVyICB7IG9wYWNpdHk6IDE7IH1cclxuLmZsZXgtcGF1c2VwbGF5IGEuZmxleC1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwMDMnOyB9XHJcblxyXG4vKiBDb250cm9sIE5hdiAqL1xyXG4uZmxleC1jb250cm9sLW5hdiB7d2lkdGg6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtNDBweDsgdGV4dC1hbGlnbjogY2VudGVyO31cclxuLmZsZXgtY29udHJvbC1uYXYgbGkge21hcmdpbjogMCA2cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgem9vbTogMTsgKmRpc3BsYXk6IGlubGluZTt9XHJcbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEge3dpZHRoOiAxMXB4OyBoZWlnaHQ6IDExcHg7IGRpc3BsYXk6IGJsb2NrOyBiYWNrZ3JvdW5kOiAjNjY2OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDsgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4OyAtby1ib3JkZXItcmFkaXVzOiAyMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLDAsMCwwLjMpOyAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLDAsMCwwLjMpOyAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwwLDAsMC4zKTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsMCwwLDAuMyk7IH1cclxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYTpob3ZlciB7IGJhY2tncm91bmQ6ICMzMzM7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTsgfVxyXG4uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhLmZsZXgtYWN0aXZlIHsgYmFja2dyb3VuZDogIzAwMDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjkpOyBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuXHJcbi5mbGV4LWNvbnRyb2wtdGh1bWJzIHttYXJnaW46IDVweCAwIDA7IHBvc2l0aW9uOiBzdGF0aWM7IG92ZXJmbG93OiBoaWRkZW47fVxyXG4uZmxleC1jb250cm9sLXRodW1icyBsaSB7d2lkdGg6IDI1JTsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogMDt9XHJcbi5mbGV4LWNvbnRyb2wtdGh1bWJzIGltZyB7d2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBvcGFjaXR5OiAuNzsgY3Vyc29yOiBwb2ludGVyO31cclxuLmZsZXgtY29udHJvbC10aHVtYnMgaW1nOmhvdmVyIHtvcGFjaXR5OiAxO31cclxuLmZsZXgtY29udHJvbC10aHVtYnMgLmZsZXgtYWN0aXZlIHtvcGFjaXR5OiAxOyBjdXJzb3I6IGRlZmF1bHQ7fVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHtcclxuICAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYgeyBvcGFjaXR5OiAxOyBsZWZ0OiAxMHB4O31cclxuICAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQgeyBvcGFjaXR5OiAxOyByaWdodDogMTBweDt9XHJcbn0iLCIvKipcclxuICogRGVmYXVsdCBEcm9wS2ljayB0aGVtZVxyXG4gKlxyXG4gKiBGZWVsIGZyZWUgdG8gZWRpdCB0aGUgZGVmYXVsdCB0aGVtZVxyXG4gKiBvciBldmVuIGFkZCB5b3VyIG93bi5cclxuICpcclxuICogU2VlIHRoZSByZWFkbWUgZm9yIHRoZW1laW5nIGhlbHBcclxuICpcclxuICovXHJcblxyXG4vLyoqKioqIEJlZ2luIFRoZW1lLCBmZWVsIGZyZWUgdG8gZWRpdCBpbiBoZXJlISAqKioqKipcclxuXHJcbi8vIE9uZSBjb250YWluZXIgdG8gYmluZCB0aGVtLi4uXHJcbi5ka19jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPcGVucyB0aGUgZHJvcGRvd24gYW5kIGhvbGRzIHRoZSBtZW51IGxhYmVsXHJcbi5ka190b2dnbGUge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogIzMzMztcclxuICBwYWRkaW5nOiA5cHggNDVweCA5cHggMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICM4YzhjOGM7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG4gICY6YWZ0ZXJ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEzJTtcclxuICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgY29udGVudDogJ1xcZjEwNyc7XHJcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiAjZjg5ODFkO1xyXG4gIH1cclxufVxyXG4vLyBBcHBsaWVkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIGZvY3VzZWRcclxuLmRrX2ZvY3Vze1xyXG4gIC5ka190b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNDBiNWUyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQXBwbGllZCB3aGVuZXZlciB0aGUgZHJvcGRvd24gaXMgb3BlblxyXG4uZGtfb3BlbiB7XHJcbiAgLy8qIEhlbHA6IERyb3Bkb3duIG1lbnUgaXMgY292ZXJlZCBieSBzb21ldGhpbmdcclxuICAvLyogVHJ5IHNldHRpbmcgdGhpcyB2YWx1ZSBoaWdoZXJcclxuICB6LWluZGV4OiAxMDtcclxuICAuZGtfdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogIzRkNGU1MztcclxuICB9XHJcbn1cclxuXHJcbi8vIEFwcGxpZWQgd2hlbmV2ZXIgdGhlIGRyb3Bkb3duIGlzIG9wZW4gYXQgdGhlIHRvcFxyXG4uZGtfb3Blbl90b3Age1xyXG4gIC5ka190b2dnbGUge1xyXG4gIH1cclxuICAuZGtfb3B0aW9ucywgLmRrX29wdGlvbnNfaW5uZXIge1xyXG4gIH1cclxufVxyXG5cclxuLy8qIFRoZSBvdXRlciBjb250YWluZXIgb2YgdGhlIG9wdGlvbnNcclxuLmRrX29wdGlvbnMge1xyXG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IC8vIFJlbW92ZXMgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvbiBpT1M1KyBzY3JvbGxcclxuICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggMHB4ICNkZGQ7XHJcblxyXG4gIGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nOiAzcHggMTBweDtcclxuICAgIGNvbG9yOiAjNGQ0ZTUzO1xyXG4gIH1cclxuICBhOmhvdmVyLCAmOmZvY3VzLFxyXG4gIC5ka19vcHRpb25fY3VycmVudCBhIHtcclxuICAgIGNvbG9yOiAjZjg5ODFkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICBsaTpsYXN0LWNoaWxkIGEge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICB9XHJcbiAgLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogI2FhYTtcclxuICAgIH1cclxuICAgICY6aG92ZXIsICY6aG92ZXIgYVxyXG4gICAgJjpmb2N1cywgJjpmb2N1cyBhIHtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTk5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBJbm5lciBjb250YWluZXIgZm9yIG9wdGlvbnMsIHRoaXMgaXMgd2hhdCBtYWtlcyB0aGUgc2Nyb2xsYmFyIHBvc3NpYmxlLlxyXG4uZGtfb3B0aW9uc19pbm5lciB7XHJcbiAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGU4ZTg7XHJcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7XHJcbiAgY29sb3I6ICMzMzM7XHJcbn1cclxuXHJcbi8vKioqKioqICBFbmQgVGhlbWUgKioqKioqXHJcblxyXG4vLyoqKioqIENyaXRpY2FsIHRvIHRoZSBjb250aW51ZWQgZW5qb3ltZW50IG9mIHdvcmtpbmcgZHJvcGRvd25zICoqKioqKlxyXG5cclxuLmRrX2NvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBmbG9hdDogbGVmdDtcclxuICBhIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZGtfdG9nZ2xlIHtcclxuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgKmRpc3BsYXk6IGlubGluZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgem9vbTogMTtcclxufVxyXG5cclxuLmRrX29wZW4ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAuZGtfb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLmRrX2xhYmVsIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuLmRrX29wdGlvbnMge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luLXRvcDogLTFweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYSwgYTpsaW5rLCBhOnZpc2l0ZWR7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5ka19vcHRpb25zX2lubmVyIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG59XHJcblxyXG5cclxuLy8gSGlkZXMgb25seSBkcm9wa2ljayA8c2VsZWN0PiBpbnN0YW5jZXNcclxuLmRrX2NvbnRhaW5lciBzZWxlY3Qge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogLTk5OTk5ZW07XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyAgbmF0aXZlTW9iaWxlIG92ZXJyaWRlIFxyXG4uZGtfbW9iaWxlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgc2VsZWN0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGFwcGVhcmFuY2U6bm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTpub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyoqKioqIEVuZCBDcml0aWNhbCB0byB0aGUgY29udGludWVkIGVuam95bWVudCBvZiB3b3JraW5nIGRyb3Bkb3ducyAqKioqKipcclxuXHJcbi8vIEN1c3RvbSBDU1MgZm9yIHJlc3BvbnNpdmUgc3R5bGVcclxuLmRrX29wdGlvbnNfaW5uZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgJiBsaSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbn1cclxuXHJcbi5ka19jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5ka190b2dnbGUge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn0iLCIvLyAvKiEgalF1ZXJ5IFVJIC0gdjEuMTEuMiAtIDIwMTUtMDEtMDlcclxuLy8gKiBodHRwOi8vanF1ZXJ5dWkuY29tXHJcbi8vICogSW5jbHVkZXM6IGNvcmUuY3NzLCBkcmFnZ2FibGUuY3NzLCByZXNpemFibGUuY3NzLCBzZWxlY3RhYmxlLmNzcywgc29ydGFibGUuY3NzLCBhY2NvcmRpb24uY3NzLCBhdXRvY29tcGxldGUuY3NzLCBidXR0b24uY3NzLCBkYXRlcGlja2VyLmNzcywgZGlhbG9nLmNzcywgbWVudS5jc3MsIHByb2dyZXNzYmFyLmNzcywgc2VsZWN0bWVudS5jc3MsIHNsaWRlci5jc3MsIHNwaW5uZXIuY3NzLCB0YWJzLmNzcywgdG9vbHRpcC5jc3MsIHRoZW1lLmNzc1xyXG4vLyAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyLz9mZkRlZmF1bHQ9dmVyYmxpZ2h0JTJDJTIwJ0hlbHZldGljYSUyME5ldWUnJTJDJTIwSGVsdmV0aWNhJTJDJTIwSGVsdmV0aWNhJTJDJTIwQXJpYWwlMkMlMjBzYW5zLXNlcmlmJmZ3RGVmYXVsdD1ub3JtYWwmZnNEZWZhdWx0PTEuMWVtJmNvcm5lclJhZGl1cz0wcHgmYmdDb2xvckhlYWRlcj0lMjNmZmZmZmYmYmdUZXh0dXJlSGVhZGVyPWZpbmVfZ3JhaW4mYmdJbWdPcGFjaXR5SGVhZGVyPTE1JmJvcmRlckNvbG9ySGVhZGVyPSUyM2Q0ZDFiZiZmY0hlYWRlcj0lMjM0NTM4MjEmaWNvbkNvbG9ySGVhZGVyPSUyM2I4MzQwMCZiZ0NvbG9yQ29udGVudD0lMjNGMUYxRjEmYmdUZXh0dXJlQ29udGVudD1mbGF0JmJnSW1nT3BhY2l0eUNvbnRlbnQ9MCZib3JkZXJDb2xvckNvbnRlbnQ9JTIzRjFGMUYxJmZjQ29udGVudD0lMjMwMDAwMDAmaWNvbkNvbG9yQ29udGVudD0lMjMwMEJCQzcmYmdDb2xvckRlZmF1bHQ9JTIzNDY0NTQ3JmJnVGV4dHVyZURlZmF1bHQ9ZmluZV9ncmFpbiZiZ0ltZ09wYWNpdHlEZWZhdWx0PTAmYm9yZGVyQ29sb3JEZWZhdWx0PSUyMzQ2NDU0NyZmY0RlZmF1bHQ9JTIzZmZmZmZmJmljb25Db2xvckRlZmF1bHQ9JTIzZmZmZmZmJmJnQ29sb3JIb3Zlcj0lMjMwMEJCQzcmYmdUZXh0dXJlSG92ZXI9ZmluZV9ncmFpbiZiZ0ltZ09wYWNpdHlIb3Zlcj0wJmJvcmRlckNvbG9ySG92ZXI9JTIzMDBCQkM3JmZjSG92ZXI9JTIzZmZmZmZmJmljb25Db2xvckhvdmVyPSUyM2ZmZmZmZiZiZ0NvbG9yQWN0aXZlPSUyMzAwQkJDNyZiZ1RleHR1cmVBY3RpdmU9ZmluZV9ncmFpbiZiZ0ltZ09wYWNpdHlBY3RpdmU9MCZib3JkZXJDb2xvckFjdGl2ZT0lMjMwMEJCQzcmZmNBY3RpdmU9JTIzZmZmZmZmJmljb25Db2xvckFjdGl2ZT0lMjNmZmZmZmYmYmdDb2xvckhpZ2hsaWdodD0lMjNmZmZmZmYmYmdUZXh0dXJlSGlnaGxpZ2h0PWZpbmVfZ3JhaW4mYmdJbWdPcGFjaXR5SGlnaGxpZ2h0PTAmYm9yZGVyQ29sb3JIaWdobGlnaHQ9JTIzZmZmZmZmJmZjSGlnaGxpZ2h0PSUyMzAwQkJDNyZpY29uQ29sb3JIaWdobGlnaHQ9JTIzMDBCQkM3JmJnQ29sb3JFcnJvcj0lMjNGOUU1RTYmYmdUZXh0dXJlRXJyb3I9ZmluZV9ncmFpbiZiZ0ltZ09wYWNpdHlFcnJvcj0wJmJvcmRlckNvbG9yRXJyb3I9JTIzRjlFNUU2JmZjRXJyb3I9JTIzRDIzRTRCJmljb25Db2xvckVycm9yPSUyM2ZiZGI5MyZiZ0NvbG9yT3ZlcmxheT0lMjNGMUYxRjEmYmdUZXh0dXJlT3ZlcmxheT1mbGF0JmJnSW1nT3BhY2l0eU92ZXJsYXk9MCZvcGFjaXR5T3ZlcmxheT02MCZiZ0NvbG9yU2hhZG93PSUyMzAwMDAwMCZiZ1RleHR1cmVTaGFkb3c9ZGlhZ29uYWxfbWF6ZSZiZ0ltZ09wYWNpdHlTaGFkb3c9MCZvcGFjaXR5U2hhZG93PTIwJnRoaWNrbmVzc1NoYWRvdz0ycHgmb2Zmc2V0VG9wU2hhZG93PTImb2Zmc2V0TGVmdFNoYWRvdz0tMnB4JmNvcm5lclJhZGl1c1NoYWRvdz0xOHB4XHJcbi8vICogQ29weXJpZ2h0IDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXHJcbi8vIFxyXG4vLyAvKiBMYXlvdXQgaGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLWhlbHBlci1oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAtMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxufVxyXG4udWktaGVscGVyLXJlc2V0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgb3V0bGluZTogMDtcclxuICBsaW5lLWhlaWdodDogMS4zO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcclxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG59XHJcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xyXG4gIGNsZWFyOiBib3RoO1xyXG59XHJcbi51aS1oZWxwZXItY2xlYXJmaXgge1xyXG4gIG1pbi1oZWlnaHQ6IDA7IC8qIHN1cHBvcnQ6IElFNyAqL1xyXG59XHJcbi51aS1oZWxwZXItemZpeCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyAvKiBzdXBwb3J0OiBJRTggKi9cclxufVxyXG5cclxuLnVpLWZyb250IHtcclxuICB6LWluZGV4OiAxMDA7XHJcbn1cclxuXHJcblxyXG4vKiBJbnRlcmFjdGlvbiBDdWVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4udWktc3RhdGUtZGlzYWJsZWQge1xyXG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogSWNvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xyXG4udWktaWNvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuXHJcbi8qIE1pc2MgdmlzdWFsc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qIE92ZXJsYXlzICovXHJcbi51aS13aWRnZXQtb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG4udWktZHJhZ2dhYmxlLWhhbmRsZSB7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcclxuICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbn1cclxuLnVpLXJlc2l6YWJsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi51aS1yZXNpemFibGUtaGFuZGxlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZm9udC1zaXplOiAwLjFweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcclxufVxyXG4udWktcmVzaXphYmxlLWRpc2FibGVkIC51aS1yZXNpemFibGUtaGFuZGxlLFxyXG4udWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi51aS1yZXNpemFibGUtbiB7XHJcbiAgY3Vyc29yOiBuLXJlc2l6ZTtcclxuICBoZWlnaHQ6IDdweDtcclxuICB3aWR0aDogMTAwJTtcclxuICB0b3A6IC01cHg7XHJcbiAgbGVmdDogMDtcclxufVxyXG4udWktcmVzaXphYmxlLXMge1xyXG4gIGN1cnNvcjogcy1yZXNpemU7XHJcbiAgaGVpZ2h0OiA3cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm90dG9tOiAtNXB4O1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuLnVpLXJlc2l6YWJsZS1lIHtcclxuICBjdXJzb3I6IGUtcmVzaXplO1xyXG4gIHdpZHRoOiA3cHg7XHJcbiAgcmlnaHQ6IC01cHg7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG4udWktcmVzaXphYmxlLXcge1xyXG4gIGN1cnNvcjogdy1yZXNpemU7XHJcbiAgd2lkdGg6IDdweDtcclxuICBsZWZ0OiAtNXB4O1xyXG4gIHRvcDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLnVpLXJlc2l6YWJsZS1zZSB7XHJcbiAgY3Vyc29yOiBzZS1yZXNpemU7XHJcbiAgd2lkdGg6IDEycHg7XHJcbiAgaGVpZ2h0OiAxMnB4O1xyXG4gIHJpZ2h0OiAxcHg7XHJcbiAgYm90dG9tOiAxcHg7XHJcbn1cclxuLnVpLXJlc2l6YWJsZS1zdyB7XHJcbiAgY3Vyc29yOiBzdy1yZXNpemU7XHJcbiAgd2lkdGg6IDlweDtcclxuICBoZWlnaHQ6IDlweDtcclxuICBsZWZ0OiAtNXB4O1xyXG4gIGJvdHRvbTogLTVweDtcclxufVxyXG4udWktcmVzaXphYmxlLW53IHtcclxuICBjdXJzb3I6IG53LXJlc2l6ZTtcclxuICB3aWR0aDogOXB4O1xyXG4gIGhlaWdodDogOXB4O1xyXG4gIGxlZnQ6IC01cHg7XHJcbiAgdG9wOiAtNXB4O1xyXG59XHJcbi51aS1yZXNpemFibGUtbmUge1xyXG4gIGN1cnNvcjogbmUtcmVzaXplO1xyXG4gIHdpZHRoOiA5cHg7XHJcbiAgaGVpZ2h0OiA5cHg7XHJcbiAgcmlnaHQ6IC01cHg7XHJcbiAgdG9wOiAtNXB4O1xyXG59XHJcbi51aS1zZWxlY3RhYmxlIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcclxufVxyXG4udWktc2VsZWN0YWJsZS1oZWxwZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgYm9yZGVyOiAxcHggZG90dGVkIGJsYWNrO1xyXG59XHJcbi51aS1zb3J0YWJsZS1oYW5kbGUge1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG59XHJcbi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAycHggMCAwIDA7XHJcbiAgcGFkZGluZzogLjVlbSAuNWVtIC41ZW0gLjdlbTtcclxuICBtaW4taGVpZ2h0OiAwOyAvKiBzdXBwb3J0OiBJRTcgKi9cclxuICBmb250LXNpemU6IDEwMCU7XHJcbn1cclxuLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWljb25zIHtcclxuICBwYWRkaW5nLWxlZnQ6IDIuMmVtO1xyXG59XHJcbi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWljb25zIHtcclxuICBwYWRkaW5nLWxlZnQ6IDIuMmVtO1xyXG59XHJcbi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIgLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC41ZW07XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogLThweDtcclxufVxyXG4udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudCB7XHJcbiAgcGFkZGluZzogMWVtIDIuMmVtO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuLnVpLWF1dG9jb21wbGV0ZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG4udWktYnV0dG9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICBtYXJnaW4tcmlnaHQ6IC4xZW07XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiByZW1vdmVzIGV4dHJhIHdpZHRoIGluIElFICovXHJcbn1cclxuLnVpLWJ1dHRvbixcclxuLnVpLWJ1dHRvbjpsaW5rLFxyXG4udWktYnV0dG9uOnZpc2l0ZWQsXHJcbi51aS1idXR0b246aG92ZXIsXHJcbi51aS1idXR0b246YWN0aXZlIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLyogdG8gbWFrZSByb29tIGZvciB0aGUgaWNvbiwgYSB3aWR0aCBuZWVkcyB0byBiZSBzZXQgaGVyZSAqL1xyXG4udWktYnV0dG9uLWljb24tb25seSB7XHJcbiAgd2lkdGg6IDIuMmVtO1xyXG59XHJcbi8qIGJ1dHRvbiBlbGVtZW50cyBzZWVtIHRvIG5lZWQgYSBsaXR0bGUgbW9yZSB3aWR0aCAqL1xyXG5idXR0b24udWktYnV0dG9uLWljb24tb25seSB7XHJcbiAgd2lkdGg6IDIuNGVtO1xyXG59XHJcbi51aS1idXR0b24taWNvbnMtb25seSB7XHJcbiAgd2lkdGg6IDMuNGVtO1xyXG59XHJcbmJ1dHRvbi51aS1idXR0b24taWNvbnMtb25seSB7XHJcbiAgd2lkdGg6IDMuN2VtO1xyXG59XHJcblxyXG4vKiBidXR0b24gdGV4dCBlbGVtZW50ICovXHJcbi51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcbi51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dCB7XHJcbiAgcGFkZGluZzogLjRlbSAxZW07XHJcbn1cclxuLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi10ZXh0LFxyXG4udWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi10ZXh0IHtcclxuICBwYWRkaW5nOiAuNGVtO1xyXG4gIHRleHQtaW5kZW50OiAtOTk5OTk5OXB4O1xyXG59XHJcbi51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi10ZXh0LFxyXG4udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHtcclxuICBwYWRkaW5nOiAuNGVtIDFlbSAuNGVtIDIuMWVtO1xyXG59XHJcbi51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsXHJcbi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHQge1xyXG4gIHBhZGRpbmc6IC40ZW0gMi4xZW0gLjRlbSAxZW07XHJcbn1cclxuLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyLjFlbTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyLjFlbTtcclxufVxyXG4vKiBubyBpY29uIHN1cHBvcnQgZm9yIGlucHV0IGVsZW1lbnRzLCBwcm92aWRlIHBhZGRpbmcgYnkgZGVmYXVsdCAqL1xyXG5pbnB1dC51aS1idXR0b24ge1xyXG4gIHBhZGRpbmc6IC40ZW0gMWVtO1xyXG59XHJcblxyXG4vKiBidXR0b24gaWNvbiBlbGVtZW50KHMpICovXHJcbi51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29uLFxyXG4udWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1pY29uLFxyXG4udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWljb24sXHJcbi51aS1idXR0b24tdGV4dC1pY29ucyAudWktaWNvbixcclxuLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1pY29uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogLThweDtcclxufVxyXG4udWktYnV0dG9uLWljb24tb25seSAudWktaWNvbiB7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xyXG59XHJcbi51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksXHJcbi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tcHJpbWFyeSxcclxuLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5IHtcclxuICBsZWZ0OiAuNWVtO1xyXG59XHJcbi51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LFxyXG4udWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSxcclxuLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnkge1xyXG4gIHJpZ2h0OiAuNWVtO1xyXG59XHJcblxyXG4vKiBidXR0b24gc2V0cyAqL1xyXG4udWktYnV0dG9uc2V0IHtcclxuICBtYXJnaW4tcmlnaHQ6IDdweDtcclxufVxyXG4udWktYnV0dG9uc2V0IC51aS1idXR0b24ge1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1yaWdodDogLS4zZW07XHJcbn1cclxuXHJcbi8qIHdvcmthcm91bmRzICovXHJcbi8qIHJlc2V0IGV4dHJhIHBhZGRpbmcgaW4gRmlyZWZveCwgc2VlIGg1YnAuY29tL2wgKi9cclxuaW5wdXQudWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5idXR0b24udWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG4udWktZGF0ZXBpY2tlciB7XHJcbiAgd2lkdGg6IDE3ZW07XHJcbiAgcGFkZGluZzogLjJlbSAuMmVtIDA7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAuMmVtIDA7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMnB4O1xyXG4gIHdpZHRoOiAxLjhlbTtcclxuICBoZWlnaHQ6IDEuOGVtO1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsXHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xyXG4gIHRvcDogMXB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYge1xyXG4gIGxlZnQ6IDJweDtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcclxuICByaWdodDogMnB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xyXG4gIGxlZnQ6IDFweDtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcclxuICByaWdodDogMXB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbixcclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC04cHg7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xyXG4gIG1hcmdpbjogMCAyLjNlbTtcclxuICBsaW5lLWhlaWdodDogMS44ZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgbWFyZ2luOiAxcHggMDtcclxufVxyXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCxcclxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XHJcbiAgd2lkdGg6IDQ1JTtcclxufVxyXG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAuOWVtO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgbWFyZ2luOiAwIDAgLjRlbTtcclxufVxyXG4udWktZGF0ZXBpY2tlciB0aCB7XHJcbiAgcGFkZGluZzogLjdlbSAuM2VtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgdGQge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAxcHg7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgdGQgc3BhbixcclxuLnVpLWRhdGVwaWNrZXIgdGQgYSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogLjJlbTtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICBtYXJnaW46IC43ZW0gMCAwIDA7XHJcbiAgcGFkZGluZzogMCAuMmVtO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogMDtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTtcclxuICB3aWR0aDogYXV0bztcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4vKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqL1xyXG4udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUge1xyXG4gIHdpZHRoOiA5NSU7XHJcbiAgbWFyZ2luOiAwIGF1dG8gLjRlbTtcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcclxuICB3aWR0aDogNTAlO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xyXG4gIHdpZHRoOiAzMy4zJTtcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcclxuICB3aWR0aDogMjUlO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcclxuICBib3JkZXItbGVmdC13aWR0aDogMDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcclxuICBjbGVhcjogbGVmdDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuLyogUlRMIHN1cHBvcnQgKi9cclxuLnVpLWRhdGVwaWNrZXItcnRsIHtcclxuICBkaXJlY3Rpb246IHJ0bDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XHJcbiAgcmlnaHQ6IDJweDtcclxuICBsZWZ0OiBhdXRvO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcclxuICBsZWZ0OiAycHg7XHJcbiAgcmlnaHQ6IGF1dG87XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIge1xyXG4gIHJpZ2h0OiAxcHg7XHJcbiAgbGVmdDogYXV0bztcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7XHJcbiAgbGVmdDogMXB4O1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcclxuICBjbGVhcjogcmlnaHQ7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXHJcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcclxuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcclxufVxyXG4udWktZGlhbG9nIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBwYWRkaW5nOiAuMmVtO1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHtcclxuICBwYWRkaW5nOiAuNGVtIDFlbTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW46IC4xZW0gMDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHdpZHRoOiA5MCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogLjNlbTtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogMjBweDtcclxuICBtYXJnaW46IC0xMHB4IDAgMCAwO1xyXG4gIHBhZGRpbmc6IDFweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbn1cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogLjVlbSAxZW07XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG4udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIG1hcmdpbi10b3A6IC41ZW07XHJcbiAgcGFkZGluZzogLjNlbSAxZW0gLjVlbSAuNGVtO1xyXG59XHJcbi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgYnV0dG9uIHtcclxuICBtYXJnaW46IC41ZW0gLjRlbSAuNWVtIDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zZSB7XHJcbiAgd2lkdGg6IDEycHg7XHJcbiAgaGVpZ2h0OiAxMnB4O1xyXG4gIHJpZ2h0OiAtNXB4O1xyXG4gIGJvdHRvbTogLTVweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDE2cHg7XHJcbn1cclxuLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFyIHtcclxuICBjdXJzb3I6IG1vdmU7XHJcbn1cclxuLnVpLW1lbnUge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG4udWktbWVudSAudWktbWVudSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbi51aS1tZW51IC51aS1tZW51LWl0ZW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogM3B4IDFlbSAzcHggLjRlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWluLWhlaWdodDogMDsgLyogc3VwcG9ydDogSUU3ICovXHJcbiAgLyogc3VwcG9ydDogSUUxMCwgc2VlICM4ODQ0ICovXHJcbiAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCIpO1xyXG59XHJcbi51aS1tZW51IC51aS1tZW51LWRpdmlkZXIge1xyXG4gIG1hcmdpbjogNXB4IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMDtcclxufVxyXG4udWktbWVudSAudWktc3RhdGUtZm9jdXMsXHJcbi51aS1tZW51IC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gIG1hcmdpbjogLTFweDtcclxufVxyXG5cclxuLyogaWNvbiBzdXBwb3J0ICovXHJcbi51aS1tZW51LWljb25zIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLnVpLW1lbnUtaWNvbnMgLnVpLW1lbnUtaXRlbSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyZW07XHJcbn1cclxuXHJcbi8qIGxlZnQtYWxpZ25lZCAqL1xyXG4udWktbWVudSAudWktaWNvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogLjJlbTtcclxuICBtYXJnaW46IGF1dG8gMDtcclxufVxyXG5cclxuLyogcmlnaHQtYWxpZ25lZCAqL1xyXG4udWktbWVudSAudWktbWVudS1pY29uIHtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcbi51aS1wcm9ncmVzc2JhciB7XHJcbiAgaGVpZ2h0OiAyZW07XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWUge1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLnVpLXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci1vdmVybGF5IHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFvQUlBQkFBQUFBUC8vL3lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tZd05xWHJkQzUyRFMwNmE3TUZaSSs0RkhCQ0tvRGVXS1hxeW1QcUdxeHZKclhaYk14N1R0Yyt3OVhnVTJGQjNsT3lRUldFVDJJRkdpVTltMWZyRFZweFpaYzZiZkh3djRjMVlYUDZrMVZkeTI5MkZiNlVrdXZGdFhwdldTekErSHljWEpIVVhpR1lJaU1nMlI2VzQ1OWduV0dmSE5kaklxRFdWcWVtSDJla3BPYmtwT2xwcFdVcVppcXI2ZWRxcVdRQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcFNNZ1puR2ZhcWNnMUUydXV6RG1tSFVCUjhRaWw5NWhpUEtxV24zYXF0THNTMTh5N0cxU3pOZW93V0JFTnRRZCtUMUprdFAwNW56UFRkSlpsUjZ2VXhOV1dqVit2VVdoV05rV0Z3eGw5VnBaUmVkWWNmbElPTGFmYWEyOFhkc0gveW5sY2MxdVBWRFp4UUlSMEsyNStjSUNDbW9xQ2U1bUdoWk9mZVlTVWg1eUpjSnlya1pXV3BhUjhkb0oybzROWXE2MmxBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZESTRZeTIyWm5JTlJOcW9zdzBCdjdpMWd5SFVrRmo3b1NhV2x1M292QzhHeE5zbzVmbHV6M3FMVmhCVmVUL0x6N1pUSHl4TDVkRGFsUVdQVk9zUVd0Um51d1hhRlRqOWpWVmg4cG1hOUpqWjR6WVNqNVpPeW1hN3V1b2xmZmgrSVI1YVc5N2NIdUJVWEtHS1hsS2puK0RpSFdNY1lKYWg0TjBsWUNNbEpPWGlwR1JyNXFkZ29TVHJxV1NxNldGbDJ5cG9hVUFBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwYUViNkhMZ2QvaU83Rk5XdGNGV2UrdWZPREdqUmZvaUoyYWtTaGJ1ZWIwd3RJNTB6bTAycGJ2d2ZXRU1XQlExektHbExJaHNraUVQbTlSNnZSWHhWNFp6V1QyeUhPR3BXTXlvcmJsS2xOcDhIbUhFYi9sQ1hqY1c3Ym10WFA4WHQyMjlPVldSMWZvZDJlV3FOZkh1TWpYQ1BrSUdOaWxlT2lJbVZtQ09FbW9TZm4zeVhsSldtb0hHaHFwNmlsWXVXWXBtVHFLVWdBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwaUVINmtiNThiaVEzRk5XdE1GV1czZU5WY29qdUZHZnFuWnFTZWJ1UzA2dzVWODAvWDAycEtlOHpGd1A2RUZXT1QxbERGazhyR0VSaDFUVE5Pb2NRNjFIbTRYbTJWZXhVSHB6anltVmlIckZiaUVMc2VmVnJuNlhLZm50MlE5Ry8rWGRpZTQ5OVhIZDJnNGg3aW9PR2hYR0pib0dBblhTQm5vQndLWXlmaW91YlpKMkhuMFJ1UlphZmxaT2lsNTZacDZpaW9LU1hwVUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrb1FScVJ2bnh1STdrVTFhMVVVNWJkNXRuU2VPWlhobW41bFdLM3FOVFd2UmRReFA4cXZhQysveWFZUXpYTzdCTXZhVUVtSlJkM1RzaU1BZ3N3bU5ZclNnWmRZclRYNnRTSEdaTzczZXp1QXcydXh1UStCYmVaZk14c2V4WTM1Ky9RZTRKMWluVjBnNHgzV0h1TWhJbDJqWE9LVDJRK1ZVNWZnb1NVSTUyVmZaeWZrSkdraGE2am1ZK2FhWWRpcnErbFFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLV0JJS3BZZTBMM1lOS1RvcXN3VWx2em5pZ2Q0d2lSNEtoWnJLdDlVcHFpcDYxaTlFM3ZNdnhSZEhsYkVGaUVYZms5WUFSWXhPWlpENlZRMnBVdW5CbXRSWG8xTGY4aE1WVmNObDhKYWZWMzhhTTIvRnU1VjE2Qm42M3I2eHQ5N2owOStNWFNGaTRCbmlHRmFlM2h6Ykg5K2hZQnprcHVVaDVhWm1IdWFuWk9aZ0l1dmJHaU5lb21DbmF4eGFwMnVwYUNac3ErMWtBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLWGpJOEJ5NXpmNGtPeFRWclhOVmx2MVgwZDhJR1pHS0xuTnBZdG04THI5Y3FWZXVPU3ZmT1c3OUQ5YURIaXpOaERKaWRGWmhOeWRFYWhPYURINm5vbXRKanAxdHV0S29OV2t2QTZKcWZSVkxIVS9RVWZhdTlsMng3RzU0ZDFmbDk5NXhjSUdBZFhxTWZCTmFkb1lyaEgrTWcyS0JscFZwYmx1Q2lYbU1uWjJTaDRHQnFKK2NrSU9xcUo2TG1LU2xsWm1zb3E2d3BRQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2xZeC9vTHZveHVKRGtVMWExWVVaYko1OW5TZDJaWGhXcWJSYTIvZ0Y4R3UyRFkzaXFzN3lycSt4QllFa1l2RlNNOGFTU09iRStaZ1JsMUJIRlpOcjdwUkNhdlo1QlcyMTQyaFkzQU4veld0c21mMTJwOVh4eEZsMmxwTG4xcnNlenRmWFpqZElXSWYyczVkSXR3allLQmdvOXlnNXBIZ3pKWFRFZUdsWnVlbnB5UG1wR1FvS09Xa1ltU3BhU25xS2lsZUkyRkFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVmpCK2d1K2pHNGtPUlRWclZoUmxzbm4yZEozWmxlRmFwdEZyYitDWG1POU9vemVMNVZmUDk5SHZBV2hwaVVkY3drcEJIMzgyNUF3WWRVOHhUcWxMR2h0Q29zQXJLTXB2ZmExbU1SYWU5VnZXWmZlQjJYZlBrZUxtbTE4bFVjQmorcDVkbk44alhaM1lJR0VoWXVPVW40NWFvQ0RrcDE2aGw1SWpZSnZqV0tjbm9HUXBxeVBscE9ocjNhRWxhcXJxNTZCcTdWQUFBT3c9PVwiKTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogc3VwcG9ydDogSUU4ICovXHJcbiAgb3BhY2l0eTogMC4yNTtcclxufVxyXG4udWktcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSAudWktcHJvZ3Jlc3NiYXItdmFsdWUge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnVpLXNlbGVjdG1lbnUtbWVudSB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgLyogU3VwcG9ydDogSUU3ICovXHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbn1cclxuLnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSAudWktc2VsZWN0bWVudS1vcHRncm91cCB7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICBwYWRkaW5nOiAycHggMC40ZW07XHJcbiAgbWFyZ2luOiAwLjVlbSAwIDAgMDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcbi51aS1zZWxlY3RtZW51LW9wZW4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi51aS1zZWxlY3RtZW51LWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLnVpLXNlbGVjdG1lbnUtYnV0dG9uIHNwYW4udWktaWNvbiB7XHJcbiAgcmlnaHQ6IDAuNWVtO1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogLThweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbn1cclxuLnVpLXNlbGVjdG1lbnUtYnV0dG9uIHNwYW4udWktc2VsZWN0bWVudS10ZXh0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHBhZGRpbmc6IDAuNGVtIDIuMWVtIDAuNGVtIDFlbTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4udWktc2xpZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG4udWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMjtcclxuICB3aWR0aDogMS4yZW07XHJcbiAgaGVpZ2h0OiAxLjJlbTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcclxuICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbn1cclxuLnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTtcclxuICBmb250LXNpemU6IC43ZW07XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxufVxyXG5cclxuLyogc3VwcG9ydDogSUU4IC0gU2VlICM2NzI3ICovXHJcbi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1oYW5kbGUsXHJcbi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZSB7XHJcbiAgZmlsdGVyOiBpbmhlcml0O1xyXG59XHJcblxyXG4udWktc2xpZGVyLWhvcml6b250YWwge1xyXG4gIGhlaWdodDogLjhlbTtcclxufVxyXG4udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gIHRvcDogLS4zZW07XHJcbiAgbWFyZ2luLWxlZnQ6IC0uNmVtO1xyXG59XHJcbi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHtcclxuICB0b3A6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7XHJcbiAgbGVmdDogMDtcclxufVxyXG4udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXgge1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4udWktc2xpZGVyLXZlcnRpY2FsIHtcclxuICB3aWR0aDogLjhlbTtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcbi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gIGxlZnQ6IC0uM2VtO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IC0uNmVtO1xyXG59XHJcbi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZSB7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWluIHtcclxuICBib3R0b206IDA7XHJcbn1cclxuLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1heCB7XHJcbiAgdG9wOiAwO1xyXG59XHJcbi51aS1zcGlubmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbi51aS1zcGlubmVyLWlucHV0IHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLjJlbSAwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luLWxlZnQ6IC40ZW07XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMnB4O1xyXG59XHJcbi51aS1zcGlubmVyLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgaGVpZ2h0OiA1MCU7XHJcbiAgZm9udC1zaXplOiAuNWVtO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuLyogbW9yZSBzcGVjaWZpY2l0eSByZXF1aXJlZCBoZXJlIHRvIG92ZXJyaWRlIGRlZmF1bHQgYm9yZGVycyAqL1xyXG4udWktc3Bpbm5lciBhLnVpLXNwaW5uZXItYnV0dG9uIHtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcbi8qIHZlcnRpY2FsbHkgY2VudGVyIGljb24gKi9cclxuLnVpLXNwaW5uZXIgLnVpLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuLnVpLXNwaW5uZXItdXAge1xyXG4gIHRvcDogMDtcclxufVxyXG4udWktc3Bpbm5lci1kb3duIHtcclxuICBib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIFRSIG92ZXJyaWRlcyAqL1xyXG4udWktc3Bpbm5lciAudWktaWNvbi10cmlhbmdsZS0xLXMge1xyXG4gIC8qIG5lZWQgdG8gZml4IGljb25zIHNwcml0ZSAqL1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0xNnB4O1xyXG59XHJcbi51aS10YWJzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7LyogcG9zaXRpb246IHJlbGF0aXZlIHByZXZlbnRzIElFIHNjcm9sbCBidWcgKGVsZW1lbnQgd2l0aCBwb3NpdGlvbjogcmVsYXRpdmUgaW5zaWRlIGNvbnRhaW5lciB3aXRoIG92ZXJmbG93OiBhdXRvIGFwcGVhciBhcyBcImZpeGVkXCIpICovXHJcbiAgcGFkZGluZzogLjJlbTtcclxufVxyXG4udWktdGFicyAudWktdGFicy1uYXYge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAuMmVtIC4yZW0gMDtcclxufVxyXG4udWktdGFicyAudWktdGFicy1uYXYgbGkge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogMDtcclxuICBtYXJnaW46IDFweCAuMmVtIDAgMDtcclxuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4udWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9yIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nOiAuNWVtIDFlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIHtcclxuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbn1cclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvcixcclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXN0YXRlLWRpc2FibGVkIC51aS10YWJzLWFuY2hvcixcclxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3Ige1xyXG4gIGN1cnNvcjogdGV4dDtcclxufVxyXG4udWktdGFicy1jb2xsYXBzaWJsZSAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUgLnVpLXRhYnMtYW5jaG9yIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLnVpLXRhYnMgLnVpLXRhYnMtcGFuZWwge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJvcmRlci13aWR0aDogMDtcclxuICBwYWRkaW5nOiAxZW0gMS40ZW07XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG4udWktdG9vbHRpcCB7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiA5OTk5O1xyXG4gIG1heC13aWR0aDogMzAwcHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4ICNhYWE7XHJcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjYWFhO1xyXG59XHJcbmJvZHkgLnVpLXRvb2x0aXAge1xyXG4gIGJvcmRlci13aWR0aDogMnB4O1xyXG59XHJcblxyXG4vKiBDb21wb25lbnQgY29udGFpbmVyc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLXdpZGdldCB7XHJcbiAgZm9udC1mYW1pbHk6IHZlcmJsaWdodCwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMS4xZW07XHJcbn1cclxuLnVpLXdpZGdldCAudWktd2lkZ2V0IHtcclxuICBmb250LXNpemU6IDFlbTtcclxufVxyXG4udWktd2lkZ2V0IGlucHV0LFxyXG4udWktd2lkZ2V0IHNlbGVjdCxcclxuLnVpLXdpZGdldCB0ZXh0YXJlYSxcclxuLnVpLXdpZGdldCBidXR0b24ge1xyXG4gIGZvbnQtZmFtaWx5OiB2ZXJibGlnaHQsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDFlbTtcclxufVxyXG4udWktd2lkZ2V0LWNvbnRlbnQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjE7XHJcbiAgYmFja2dyb3VuZDogI0YxRjFGMSB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWJnX2ZsYXRfMF9GMUYxRjFfNDB4MTAwLnBuZ1wiKSA1MCUgNTAlIHJlcGVhdC14O1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG59XHJcbi51aS13aWRnZXQtY29udGVudCBhIHtcclxuICBjb2xvcjogIzAwMDAwMDtcclxufVxyXG4udWktd2lkZ2V0LWhlYWRlciB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDFiZjtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gIGNvbG9yOiAjNDUzODIxO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi51aS13aWRnZXQtaGVhZGVyIGEge1xyXG4gIGNvbG9yOiAjNDUzODIxO1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi51aS1zdGF0ZS1kZWZhdWx0LFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNDY0NTQ3O1xyXG4gIGJhY2tncm91bmQ6ICM0NjQ1NDc7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG4udWktc3RhdGUtZGVmYXVsdCBhLFxyXG4udWktc3RhdGUtZGVmYXVsdCBhOmxpbmssXHJcbi51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi51aS1zdGF0ZS1ob3ZlcixcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlcixcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxyXG4udWktc3RhdGUtZm9jdXMsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwQkJDNztcclxuICBiYWNrZ3JvdW5kOiAjMDBCQkM3O1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLnVpLXN0YXRlLWhvdmVyIGEsXHJcbi51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyLFxyXG4udWktc3RhdGUtaG92ZXIgYTpsaW5rLFxyXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxyXG4udWktc3RhdGUtZm9jdXMgYSxcclxuLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsXHJcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXHJcbi51aS1zdGF0ZS1mb2N1cyBhOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4udWktc3RhdGUtYWN0aXZlLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwQkJDNztcclxuICBiYWNrZ3JvdW5kOiAjMDBCQkM3O1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxyXG4udWktc3RhdGUtYWN0aXZlIGE6bGluayxcclxuLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLXN0YXRlLWhpZ2hsaWdodCxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICBjb2xvcjogIzAwQkJDNztcclxufVxyXG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7XHJcbiAgY29sb3I6ICMwMEJCQzc7XHJcbn1cclxuLnVpLXN0YXRlLWVycm9yLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNGOUU1RTY7XHJcbiAgYmFja2dyb3VuZDogI0Y5RTVFNjtcclxuICBjb2xvcjogI0QyM0U0QjtcclxufVxyXG4udWktc3RhdGUtZXJyb3IgYSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciBhLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XHJcbiAgY29sb3I6ICNEMjNFNEI7XHJcbn1cclxuLnVpLXN0YXRlLWVycm9yLXRleHQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQge1xyXG4gIGNvbG9yOiAjRDIzRTRCO1xyXG59XHJcbi51aS1wcmlvcml0eS1wcmltYXJ5LFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7XHJcbiAgb3BhY2l0eTogLjc7XHJcbiAgZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyAvKiBzdXBwb3J0OiBJRTggKi9cclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcbi51aS1zdGF0ZS1kaXNhYmxlZCxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVkIHtcclxuICBvcGFjaXR5OiAuMzU7XHJcbiAgZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG59XHJcbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XHJcbiAgZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggLSBTZWUgIzYwNTkgKi9cclxufVxyXG5cclxuLyogSWNvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xyXG4udWktaWNvbiB7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG59XHJcbi51aS1pY29uLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktaWNvbnNfMDBCQkM3XzI1NngyNDAucG5nXCIpO1xyXG59XHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWljb25zX2I4MzQwMF8yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG4udWktc3RhdGUtZGVmYXVsdCAudWktaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlX2ltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLFxyXG4udWktc3RhdGUtZm9jdXMgLnVpLWljb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nXCIpO1xyXG59XHJcbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nXCIpO1xyXG59XHJcbi51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktaWNvbnNfMDBCQkM3XzI1NngyNDAucG5nXCIpO1xyXG59XHJcbi51aS1zdGF0ZS1lcnJvciAudWktaWNvbixcclxuLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktaWNvbnNfZmJkYjkzXzI1NngyNDAucG5nXCIpO1xyXG59XHJcblxyXG4vKiBwb3NpdGlvbmluZyAqL1xyXG4udWktaWNvbi1ibGFuayB7IGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2cHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3dzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybi0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybi0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybi0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmVmcmVzaC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvdy00IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfVxyXG4udWktaWNvbi1hcnJvdy00LWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtODBweDsgfVxyXG4udWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cclxuLnVpLWljb24tbmV3d2luIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH1cclxuLnVpLWljb24tcmVmcmVzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC04MHB4OyB9XHJcbi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxyXG4udWktaWNvbi10cmFuc2Zlci1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfVxyXG4udWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtODBweDsgfVxyXG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxyXG4udWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWRvY3VtZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTk2cHg7IH1cclxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XHJcbi51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfVxyXG4udWktaWNvbi1tYWlsLWNsb3NlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05NnB4OyB9XHJcbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XHJcbi51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWNvbW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTk2cHg7IH1cclxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XHJcbi51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9XHJcbi51aS1pY29uLXRyYXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxyXG4udWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfVxyXG4udWktaWNvbi1ib29rbWFyayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtOTZweDsgfVxyXG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cclxuLnVpLWljb24taG9tZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XHJcbi51aS1pY29uLWZsYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTEycHg7IH1cclxuLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cclxuLnVpLWljb24tY2FydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfVxyXG4udWktaWNvbi1wZW5jaWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTEycHg7IH1cclxuLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cclxuLnVpLWljb24tZGlzayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfVxyXG4udWktaWNvbi1jYWxjdWxhdG9yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMTJweDsgfVxyXG4udWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XHJcbi51aS1pY29uLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9XHJcbi51aS1pY29uLXNlYXJjaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTEycHg7IH1cclxuLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxyXG4udWktaWNvbi1nZWFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfVxyXG4udWktaWNvbi1oZWFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTEycHg7IH1cclxuLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cclxuLnVpLWljb24tbGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH1cclxuLnVpLWljb24tY2FuY2VsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH1cclxuLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1wbHVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH1cclxuLnVpLWljb24tbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTI4cHg7IH1cclxuLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1jbG9zZXRoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cclxuLnVpLWljb24tbGlnaHRidWxiIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1zY2lzc29ycyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTI4cHg7IH1cclxuLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1jb3B5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1jb250YWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cclxuLnVpLWljb24tdmlkZW8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLXNjcmlwdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTI4cHg7IH1cclxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxyXG4udWktaWNvbi1pbmZvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLW5vdGljZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLWJ1bGxldCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9XHJcbi51aS1pY29uLXBpbi13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cclxuLnVpLWljb24tcGxheSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4OyB9XHJcbi51aS1pY29uLXBhdXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxyXG4udWktaWNvbi1zZWVrLXByZXYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTYwcHg7IH1cclxuLnVpLWljb24tc2Vlay1lbmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTYwcHg7IH1cclxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxyXG4vKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRlZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovXHJcbi51aS1pY29uLXNlZWstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH1cclxuLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxyXG4udWktaWNvbi1lamVjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH1cclxuLnVpLWljb24tdm9sdW1lLW9mZiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTYwcHg7IH1cclxuLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxyXG4udWktaWNvbi1wb3dlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9XHJcbi51aS1pY29uLXNpZ25hbC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE3NnB4OyB9XHJcbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxyXG4udWktaWNvbi1iYXR0ZXJ5LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH1cclxuLnVpLWljb24tYmF0dGVyeS0xIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE3NnB4OyB9XHJcbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxyXG4udWktaWNvbi1iYXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH1cclxuLnVpLWljb24tY2lyY2xlLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLWFycm93LXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtem9vbW91dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH1cclxuLnVpLWljb24tY2lyY2xlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjA4cHg7IH1cclxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cclxuLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMDhweDsgfVxyXG4udWktaWNvbi1zcXVhcmVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMDhweDsgfVxyXG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxyXG4udWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9XHJcbi51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjI0cHg7IH1cclxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxyXG4udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH1cclxuLnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIyNHB4OyB9XHJcbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cclxuXHJcblxyXG4vKiBNaXNjIHZpc3VhbHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBDb3JuZXIgcmFkaXVzICovXHJcbi51aS1jb3JuZXItYWxsLFxyXG4udWktY29ybmVyLXRvcCxcclxuLnVpLWNvcm5lci1sZWZ0LFxyXG4udWktY29ybmVyLXRsIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XHJcbn1cclxuLnVpLWNvcm5lci1hbGwsXHJcbi51aS1jb3JuZXItdG9wLFxyXG4udWktY29ybmVyLXJpZ2h0LFxyXG4udWktY29ybmVyLXRyIHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xyXG59XHJcbi51aS1jb3JuZXItYWxsLFxyXG4udWktY29ybmVyLWJvdHRvbSxcclxuLnVpLWNvcm5lci1sZWZ0LFxyXG4udWktY29ybmVyLWJsIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XHJcbn1cclxuLnVpLWNvcm5lci1hbGwsXHJcbi51aS1jb3JuZXItYm90dG9tLFxyXG4udWktY29ybmVyLXJpZ2h0LFxyXG4udWktY29ybmVyLWJyIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xyXG59XHJcblxyXG4vKiBPdmVybGF5cyAqL1xyXG4udWktd2lkZ2V0LW92ZXJsYXkge1xyXG4gIGJhY2tncm91bmQ6ICNGMUYxRjEgdXJsKFwiL3RlbXBsYXRlX2ltYWdlcy91aS1iZ19mbGF0XzBfRjFGMUYxXzQweDEwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcclxuICBvcGFjaXR5OiAuNjtcclxuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NjApOyAvKiBzdXBwb3J0OiBJRTggKi9cclxufVxyXG4udWktd2lkZ2V0LXNoYWRvdyB7XHJcbiAgbWFyZ2luOiAyIDAgMCAtMnB4O1xyXG4gIHBhZGRpbmc6IDJweDtcclxuICBiYWNrZ3JvdW5kOiAjMDAwMDAwIHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktYmdfZGlhZ29uYWwtbWF6ZV8wXzAwMDAwMF8xMHgxMC5wbmdcIikgNTAlIDUwJSByZXBlYXQ7XHJcbiAgb3BhY2l0eTogLjI7XHJcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTIwKTsgLyogc3VwcG9ydDogSUU4ICovXHJcbiAgYm9yZGVyLXJhZGl1czogMThweDtcclxufVxyXG5cclxuXHJcbi8vIFxyXG4vLyAgKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjExLjJcclxuLy8gICogaHR0cDovL2pxdWVyeXVpLmNvbVxyXG4vLyAgKlxyXG4vLyAgKiBDb3B5cmlnaHQgMjAxNCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXHJcbi8vICAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cclxuLy8gICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxyXG4vLyAgKlxyXG4vLyAgKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xyXG4vLyAgKlxyXG4vLyAgKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PXZlcmJsaWdodCUyQyUyMCdIZWx2ZXRpY2ElMjBOZXVlJyUyQyUyMEhlbHZldGljYSUyQyUyMEhlbHZldGljYSUyQyUyMEFyaWFsJTJDJTIwc2Fucy1zZXJpZiZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xLjFlbSZjb3JuZXJSYWRpdXM9MHB4JmJnQ29sb3JIZWFkZXI9JTIzZmZmZmZmJmJnVGV4dHVyZUhlYWRlcj1maW5lX2dyYWluJmJnSW1nT3BhY2l0eUhlYWRlcj0xNSZib3JkZXJDb2xvckhlYWRlcj0lMjNkNGQxYmYmZmNIZWFkZXI9JTIzNDUzODIxJmljb25Db2xvckhlYWRlcj0lMjNiODM0MDAmYmdDb2xvckNvbnRlbnQ9JTIzRjFGMUYxJmJnVGV4dHVyZUNvbnRlbnQ9ZmxhdCZiZ0ltZ09wYWNpdHlDb250ZW50PTAmYm9yZGVyQ29sb3JDb250ZW50PSUyM0YxRjFGMSZmY0NvbnRlbnQ9JTIzMDAwMDAwJmljb25Db2xvckNvbnRlbnQ9JTIzMDBCQkM3JmJnQ29sb3JEZWZhdWx0PSUyMzQ2NDU0NyZiZ1RleHR1cmVEZWZhdWx0PWZpbmVfZ3JhaW4mYmdJbWdPcGFjaXR5RGVmYXVsdD0wJmJvcmRlckNvbG9yRGVmYXVsdD0lMjM0NjQ1NDcmZmNEZWZhdWx0PSUyM2ZmZmZmZiZpY29uQ29sb3JEZWZhdWx0PSUyM2ZmZmZmZiZiZ0NvbG9ySG92ZXI9JTIzMDBCQkM3JmJnVGV4dHVyZUhvdmVyPWZpbmVfZ3JhaW4mYmdJbWdPcGFjaXR5SG92ZXI9MCZib3JkZXJDb2xvckhvdmVyPSUyMzAwQkJDNyZmY0hvdmVyPSUyM2ZmZmZmZiZpY29uQ29sb3JIb3Zlcj0lMjNmZmZmZmYmYmdDb2xvckFjdGl2ZT0lMjMwMEJCQzcmYmdUZXh0dXJlQWN0aXZlPWZpbmVfZ3JhaW4mYmdJbWdPcGFjaXR5QWN0aXZlPTAmYm9yZGVyQ29sb3JBY3RpdmU9JTIzMDBCQkM3JmZjQWN0aXZlPSUyM2ZmZmZmZiZpY29uQ29sb3JBY3RpdmU9JTIzZmZmZmZmJmJnQ29sb3JIaWdobGlnaHQ9JTIzZmZmZmZmJmJnVGV4dHVyZUhpZ2hsaWdodD1maW5lX2dyYWluJmJnSW1nT3BhY2l0eUhpZ2hsaWdodD0wJmJvcmRlckNvbG9ySGlnaGxpZ2h0PSUyM2ZmZmZmZiZmY0hpZ2hsaWdodD0lMjMwMEJCQzcmaWNvbkNvbG9ySGlnaGxpZ2h0PSUyMzAwQkJDNyZiZ0NvbG9yRXJyb3I9JTIzRjlFNUU2JmJnVGV4dHVyZUVycm9yPWZpbmVfZ3JhaW4mYmdJbWdPcGFjaXR5RXJyb3I9MCZib3JkZXJDb2xvckVycm9yPSUyM0Y5RTVFNiZmY0Vycm9yPSUyM0QyM0U0QiZpY29uQ29sb3JFcnJvcj0lMjNmYmRiOTMmYmdDb2xvck92ZXJsYXk9JTIzRjFGMUYxJmJnVGV4dHVyZU92ZXJsYXk9ZmxhdCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmb3BhY2l0eU92ZXJsYXk9NjAmYmdDb2xvclNoYWRvdz0lMjMwMDAwMDAmYmdUZXh0dXJlU2hhZG93PWRpYWdvbmFsX21hemUmYmdJbWdPcGFjaXR5U2hhZG93PTAmb3BhY2l0eVNoYWRvdz0yMCZ0aGlja25lc3NTaGFkb3c9MnB4Jm9mZnNldFRvcFNoYWRvdz0yJm9mZnNldExlZnRTaGFkb3c9LTJweCZjb3JuZXJSYWRpdXNTaGFkb3c9MThweFxyXG4gXHJcblxyXG5cclxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi51aS13aWRnZXQge1xyXG4gIGZvbnQtZmFtaWx5OiB2ZXJibGlnaHQsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDEuMWVtO1xyXG59XHJcbi51aS13aWRnZXQgLnVpLXdpZGdldCB7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuLnVpLXdpZGdldCBpbnB1dCxcclxuLnVpLXdpZGdldCBzZWxlY3QsXHJcbi51aS13aWRnZXQgdGV4dGFyZWEsXHJcbi51aS13aWRnZXQgYnV0dG9uIHtcclxuICBmb250LWZhbWlseTogdmVyYmxpZ2h0LCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuLnVpLXdpZGdldC1jb250ZW50IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxO1xyXG4gIGJhY2tncm91bmQ6ICNGMUYxRjEgdXJsKFwiL3RlbXBsYXRlX2ltYWdlcy91aS1iZ19mbGF0XzBfRjFGMUYxXzQweDEwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcclxuICBjb2xvcjogIzAwMDAwMDtcclxufVxyXG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XHJcbiAgY29sb3I6ICMwMDAwMDA7XHJcbn1cclxuLnVpLXdpZGdldC1oZWFkZXIge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNGQxYmY7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICBjb2xvcjogIzQ1MzgyMTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4udWktd2lkZ2V0LWhlYWRlciBhIHtcclxuICBjb2xvcjogIzQ1MzgyMTtcclxufVxyXG5cclxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4udWktc3RhdGUtZGVmYXVsdCxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ2NDU0NztcclxuICBiYWNrZ3JvdW5kOiAjNDY0NTQ3O1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLnVpLXN0YXRlLWRlZmF1bHQgYSxcclxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxyXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4udWktc3RhdGUtaG92ZXIsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlcixcclxuLnVpLXN0YXRlLWZvY3VzLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMEJCQzc7XHJcbiAgYmFja2dyb3VuZDogIzAwQkJDNztcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcbi51aS1zdGF0ZS1ob3ZlciBhLFxyXG4udWktc3RhdGUtaG92ZXIgYTpob3ZlcixcclxuLnVpLXN0YXRlLWhvdmVyIGE6bGluayxcclxuLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCxcclxuLnVpLXN0YXRlLWZvY3VzIGEsXHJcbi51aS1zdGF0ZS1mb2N1cyBhOmhvdmVyLFxyXG4udWktc3RhdGUtZm9jdXMgYTpsaW5rLFxyXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkIHtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnVpLXN0YXRlLWFjdGl2ZSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMEJCQzc7XHJcbiAgYmFja2dyb3VuZDogIzAwQkJDNztcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcbi51aS1zdGF0ZS1hY3RpdmUgYSxcclxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXHJcbi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi8qIEludGVyYWN0aW9uIEN1ZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi51aS1zdGF0ZS1oaWdobGlnaHQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgY29sb3I6ICMwMEJCQzc7XHJcbn1cclxuLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEge1xyXG4gIGNvbG9yOiAjMDBCQkM3O1xyXG59XHJcbi51aS1zdGF0ZS1lcnJvcixcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjRjlFNUU2O1xyXG4gIGJhY2tncm91bmQ6ICNGOUU1RTY7XHJcbiAgY29sb3I6ICNEMjNFNEI7XHJcbn1cclxuLnVpLXN0YXRlLWVycm9yIGEsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEge1xyXG4gIGNvbG9yOiAjRDIzRTRCO1xyXG59XHJcbi51aS1zdGF0ZS1lcnJvci10ZXh0LFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHtcclxuICBjb2xvcjogI0QyM0U0QjtcclxufVxyXG4udWktcHJpb3JpdHktcHJpbWFyeSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xyXG4gIG9wYWNpdHk6IC43O1xyXG4gIGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgLyogc3VwcG9ydDogSUU4ICovXHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG4udWktc3RhdGUtZGlzYWJsZWQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XHJcbiAgb3BhY2l0eTogLjM1O1xyXG4gIGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24ge1xyXG4gIGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovXHJcbn1cclxuXHJcbi8qIEljb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cclxuLnVpLWljb24ge1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIGhlaWdodDogMTZweDtcclxufVxyXG4udWktaWNvbixcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWljb25zXzAwQkJDN18yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktaWNvbiB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlX2ltYWdlcy91aS1pY29uc19iODM0MDBfMjU2eDI0MC5wbmdcIik7XHJcbn1cclxuLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nXCIpO1xyXG59XHJcbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcclxuLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG4udWktc3RhdGUtYWN0aXZlIC51aS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWljb25zXzAwQkJDN18yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG4udWktc3RhdGUtZXJyb3IgLnVpLWljb24sXHJcbi51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWljb25zX2ZiZGI5M18yNTZ4MjQwLnBuZ1wiKTtcclxufVxyXG5cclxuLyogcG9zaXRpb25pbmcgKi9cclxuLnVpLWljb24tYmxhbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDE2cHg7IH1cclxuLnVpLWljb24tY2FyYXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH1cclxuLnVpLWljb24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxyXG4udWktaWNvbi1jYXJhdC0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9XHJcbi51aS1pY29uLWNhcmF0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cclxuLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfVxyXG4udWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvdy0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9XHJcbi51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH1cclxuLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH1cclxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9XHJcbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNDhweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmVmcmVzaC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxyXG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9XHJcbi51aS1pY29uLWFycm93cmVmcmVzaC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY0cHg7IH1cclxuLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cclxuLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH1cclxuLnVpLWljb24tZXh0bGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC04MHB4OyB9XHJcbi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9XHJcbi51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfVxyXG4udWktaWNvbi1zaHVmZmxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTgwcHg7IH1cclxuLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH1cclxuLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH1cclxuLnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cclxuLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfVxyXG4udWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9XHJcbi51aS1pY29uLWRvY3VtZW50LWIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtOTZweDsgfVxyXG4udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH1cclxuLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfVxyXG4udWktaWNvbi1tYWlsLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTZweDsgfVxyXG4udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfVxyXG4udWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9XHJcbi51aS1pY29uLXBlcnNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTZweDsgfVxyXG4udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfVxyXG4udWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfVxyXG4udWktaWNvbi1sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk2cHg7IH1cclxuLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH1cclxuLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH1cclxuLnVpLWljb24tdGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC05NnB4OyB9XHJcbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxyXG4udWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cclxuLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNsb2NrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9XHJcbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cclxuLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH1cclxuLnVpLWljb24tem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMTJweDsgfVxyXG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxyXG4udWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9XHJcbi51aS1pY29uLXdyZW5jaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEycHg7IH1cclxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cclxuLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9XHJcbi51aS1pY29uLXN0YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTExMnB4OyB9XHJcbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XHJcbi51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XHJcbi51aS1pY29uLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTI4cHg7IH1cclxuLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9XHJcbi51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLW1pbnVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTI4cHg7IH1cclxuLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cclxuLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1rZXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH1cclxuLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWNsaXBib2FyZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTI4cHg7IH1cclxuLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH1cclxuLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH1cclxuLnVpLWljb24taW1hZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTEyOHB4OyB9XHJcbi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfVxyXG4udWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9XHJcbi51aS1pY29uLWFsZXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH1cclxuLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH1cclxuLnVpLWljb24taGVscCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH1cclxuLnVpLWljb24tcmFkaW8tb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTQ0cHg7IH1cclxuLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfVxyXG4udWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH1cclxuLnVpLWljb24tcGluLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE0NHB4OyB9XHJcbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxyXG4udWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfVxyXG4udWktaWNvbi1zZWVrLW5leHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTYwcHg7IH1cclxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXNlZWstc3RhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH1cclxuLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqL1xyXG4udWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXN0b3AgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTYwcHg7IH1cclxuLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9XHJcbi51aS1pY29uLXZvbHVtZS1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTYwcHg7IH1cclxuLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxyXG4udWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfVxyXG4udWktaWNvbi1zaWduYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTc2cHg7IH1cclxuLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XHJcbi51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfVxyXG4udWktaWNvbi1iYXR0ZXJ5LTIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTc2cHg7IH1cclxuLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfVxyXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9XHJcbi51aS1pY29uLWNpcmNsZS1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH1cclxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XHJcbi51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9XHJcbi51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwOHB4OyB9XHJcbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cclxuLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH1cclxuLnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjA4cHg7IH1cclxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxyXG4udWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9XHJcbi51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjI0cHg7IH1cclxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XHJcbi51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfVxyXG4udWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIyNHB4OyB9XHJcblxyXG5cclxuLyogTWlzYyB2aXN1YWxzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogQ29ybmVyIHJhZGl1cyAqL1xyXG4udWktY29ybmVyLWFsbCxcclxuLnVpLWNvcm5lci10b3AsXHJcbi51aS1jb3JuZXItbGVmdCxcclxuLnVpLWNvcm5lci10bCB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xyXG59XHJcbi51aS1jb3JuZXItYWxsLFxyXG4udWktY29ybmVyLXRvcCxcclxuLnVpLWNvcm5lci1yaWdodCxcclxuLnVpLWNvcm5lci10ciB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcclxufVxyXG4udWktY29ybmVyLWFsbCxcclxuLnVpLWNvcm5lci1ib3R0b20sXHJcbi51aS1jb3JuZXItbGVmdCxcclxuLnVpLWNvcm5lci1ibCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xyXG59XHJcbi51aS1jb3JuZXItYWxsLFxyXG4udWktY29ybmVyLWJvdHRvbSxcclxuLnVpLWNvcm5lci1yaWdodCxcclxuLnVpLWNvcm5lci1iciB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxufVxyXG5cclxuLyogT3ZlcmxheXMgKi9cclxuLnVpLXdpZGdldC1vdmVybGF5IHtcclxuICBiYWNrZ3JvdW5kOiAjRjFGMUYxIHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvdWktYmdfZmxhdF8wX0YxRjFGMV80MHgxMDAucG5nXCIpIDUwJSA1MCUgcmVwZWF0LXg7XHJcbiAgb3BhY2l0eTogLjY7XHJcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTYwKTsgLyogc3VwcG9ydDogSUU4ICovXHJcbn1cclxuLnVpLXdpZGdldC1zaGFkb3cge1xyXG4gIG1hcmdpbjogMiAwIDAgLTJweDtcclxuICBwYWRkaW5nOiAycHg7XHJcbiAgYmFja2dyb3VuZDogIzAwMDAwMCB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL3VpLWJnX2RpYWdvbmFsLW1hemVfMF8wMDAwMDBfMTB4MTAucG5nXCIpIDUwJSA1MCUgcmVwZWF0O1xyXG4gIG9wYWNpdHk6IC4yO1xyXG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0yMCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xyXG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XHJcbn1cclxuIiwiLyogXHJcbiAqICBDb3JlIE93bCBDYXJvdXNlbCBDU1MgRmlsZVxyXG4gKiAgdjEuMy4zXHJcbiAqL1xyXG5cclxuLyogY2xlYXJmaXggKi9cclxuLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXI6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiLlwiO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuLyogZGlzcGxheSBub25lIHVudGlsIGluaXQgKi9cclxuLm93bC1jYXJvdXNlbHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxufVxyXG4ub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlcntcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XHJcbn1cclxuLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXItb3V0ZXJ7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXItb3V0ZXIuYXV0b0hlaWdodHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xyXG4gIC1vLXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcclxuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuICBcclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW17XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLm93bC1jb250cm9scyAub3dsLXBhZ2UsXHJcbi5vd2wtY29udHJvbHMgLm93bC1idXR0b25zIGRpdntcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLm93bC1jb250cm9scyB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcblxyXG4vKiBtb3VzZSBncmFiIGljb24gKi9cclxuLmdyYWJiaW5nIHsgXHJcbiAgICBjdXJzb3I6IG1vdmU7IC8qIGZhbGxiYWNrIGlmIGdyYWIgY3Vyc29yIGlzIHVuc3VwcG9ydGVkICovXHJcbiAgICBjdXJzb3I6IGdyYWI7XHJcbiAgICBjdXJzb3I6IC1tb3otZ3JhYjtcclxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xyXG4gICAgJjphY3RpdmV7XHJcbiAgICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbiAgICAgIGN1cnNvcjogLW1vei1ncmFiYmluZztcclxuICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBmaXggKi9cclxuLm93bC1jYXJvdXNlbCAgLm93bC13cmFwcGVyLFxyXG4ub3dsLWNhcm91c2VsICAub3dsLWl0ZW17XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAgICBoaWRkZW47XHJcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6ICAgICBoaWRkZW47XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxufVxyXG5cclxuIiwiJGhlYWRlci1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuJGhlYWRlci1oZWlnaHQtbW9iaWxlOiByZW0tY2FsYyg2Nyk7XHJcblxyXG5oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiA5OTtcclxuXHQuaGVhZC13cmFwe1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dG9wOiAwcHg7XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZC1tZW51e1xyXG5cdFx0aGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dG9wOiAkaGVhZGVyLWhlaWdodDtcclxuXHRcdD4ucm93IC5jb2x1bW5zID51bHtcclxuXHRcdFx0bWFyZ2luOjA7XHJcblx0XHRcdHBhZGRpbmc6MDtcclxuXHRcdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogJGhlYWRlci1oZWlnaHQtbW9iaWxlO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1oZWlnaHQtbW9iaWxlO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE5MCk7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb25zO1xyXG5cdFx0XHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9IHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEzMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0Pmxpe1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0aGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCl7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDUpO1xyXG5cdFx0XHRcdFx0QG1lZGlhICN7JGhlYWRlci1icmVha3BvaW50fSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuaGFzLXN1Ym1lbnU6aG92ZXI6OmFmdGVyLCAmLmhhcy1zdWJtZW51LmFjdGl2ZTo6YWZ0ZXJ7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XHJcblx0XHRcdFx0XHRjb250ZW50OlwiXFxmMGQ4XCI7XHJcblx0XHRcdFx0XHRjb2xvcjogI0ZGRjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGJvdHRvbTogLTMxcHg7XHJcblx0XHRcdFx0XHRyaWdodDogNTAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+YXtcclxuXHRcdFx0XHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250cmVndWxhcjtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblx0XHRcdFx0XHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9IHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmhvdmVyLCAmLmFjdGl2ZXtcclxuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnNlYXJjaC1ncm91cHtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiByZW0tY2FsYygtMjE2KTtcclxuXHRcdFx0XHR6LWluZGV4OiAxMDtcclxuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9ucztcclxuXHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9e1xyXG5cdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDEyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRvZ2dsZS1zZWFyY2h7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDgwKTtcclxuXHRcdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHR6LWluZGV4OiA1MDtcclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Lmljb24tc2VhcmNoe1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZG9uYXRlLWJ1dHRvbntcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRcdFx0cGFkZGluZzogMHB4IDQ1cHg7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogLTVweDtcclxuXHRcdFx0XHRsZWZ0OiAtNXB4O1xyXG5cdFx0XHRcdHotaW5kZXg6IDUwO1xyXG5cdFx0XHRcdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHRcdFx0XHR0b3A6IC02cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnN1Yi1tZW51e1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcblx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMjcwKTtcclxuXHRcdFx0cGFkZGluZzogMTVweCAwcHggMTVweDtcclxuXHRcdFx0LndyYXB7XHJcblx0XHRcdFx0PnVse1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHRcdFx0Pmxpe1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOjA7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGZvbnRyZWd1bGFyO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3KSByZW0tY2FsYygzMCk7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR1bHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmxpc3Q7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMjcwKTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiByZW0tY2FsYygyNzApO1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdFx0XHR1bHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcblx0LmZsb2F0aW5nLWJ1dHRvbntcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xNSk7XHJcblx0XHRyaWdodDogcmVtLWNhbGMoMTUpO1xyXG5cdFx0QG1lZGlhICN7JHNtYWxsLW9ubHl9e1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS1vbmx5fXtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoLTMwKTtcclxuXHRcdH1cclxuXHRcdC5kb25hdGUtYnV0dG9ue1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYygzMCk7XHJcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygxNSk7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udHJlZ3VsYXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRjb2xvcjogI0ZGRjtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygzMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRjb2xvcjogI0ZGRjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQudG9wLW1lbnV7XHJcblx0XHRoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMTE7XHJcblx0XHRhe1xyXG5cdFx0XHRmb250LWZhbWlseTogJGZvbnRtZWRpdW07XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblx0XHRhOmhvdmVyLGEuc2VsZWN0ZWR7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHR9XHJcblx0XHQuZmF7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0fVxyXG5cdFx0LmZhLXlvdXR1YmUtcGxheXtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg2KTtcclxuXHRcdH1cclxuXHRcdHVse1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg3LjI1KTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcuMjUpO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0cmlnaHQ6IHJlbS1jYWxjKC0xODUpO1xyXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9ucztcclxuXHRcdFx0QG1lZGlhICN7JGhlYWRlci1icmVha3BvaW50fXtcclxuXHRcdFx0XHRyaWdodDogcmVtLWNhbGMoMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JG1lZGl1bS1vbmx5fXtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRsaXtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTIpO1xyXG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubW9iaWxlLW1lbnV7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR6LWluZGV4OiA1MDtcclxuXHRcdHRvcDogcmVtLWNhbGMoNTApO1xyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdHRvcDogcmVtLWNhbGMoNjApO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0dWx7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xyXG5cdFx0XHRtYXJnaW46MDtcclxuXHRcdFx0bGl7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcclxuXHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNikgcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmhvdmVyPmEsYS5zZWxlY3RlZHtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zdWItbWVudXtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0dWx7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoaXJkLWNvbG9yO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcclxuXHRcdFx0XHRsaXtcclxuXHRcdFx0XHRcdGJvcmRlcjowO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhOWMzZDU7XHJcblx0XHRcdFx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRcdGJvcmRlcjowO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmFycm93LWRvd24tbGlua3tcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDYwKTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdEBtZWRpYSAjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiA0MDBweCl7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQ1KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuZmF7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpub25lO1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5mYS1jaGV2cm9uLXVwe1xyXG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5tb2JpbGUtbWVudS13cmFwcGVye1xyXG5cdFx0LnRvZ2dsZS1zZWFyY2h7XHJcblx0XHRcdHJpZ2h0OiByZW0tY2FsYyg1MCk7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNjcpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNjcpO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHR6LWluZGV4OiA1MDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tb2JpbGUtaGVhZC13cmFwe1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDEwKTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHdpZHRoOiByZW0tY2FsYyg0MCk7XHJcblx0XHRoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0ei1pbmRleDogNTA7XHJcblx0XHRAbWVkaWEgI3skbWVkaXVtLW9ubHl9e1xyXG5cdFx0XHRyaWdodDogcmVtLWNhbGMoMTUpO1xyXG5cdFx0fVxyXG5cdFx0Lmljb24tc2VhcmNoe1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0dG9wOiByZW0tY2FsYygxOSk7XHJcblx0XHRcdHJpZ2h0OiByZW0tY2FsYyg0MCk7XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5tb2JpbGUtbWVudS1oYW5kbGV7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0ei1pbmRleDogNTA7XHJcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMik7XHJcblx0XHRcdHRvcDogMHB4O1xyXG5cdFx0XHRyaWdodDogcmVtLWNhbGMoNik7XHJcblx0XHRcdGhlaWdodDogJGhlYWRlci1oZWlnaHQtbW9iaWxlO1xyXG5cdFx0XHQuc3RyaXBlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMjgpO1xyXG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNCk7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCl7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlciwmLmFjdGl2ZXtcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhpcmQtY29sb3I7XHJcblx0XHRcdFx0LnN0cmlwZSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmxvZ28tY29udGFpbmVye1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygxMDApO1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDEwMCk7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMik7XHJcblx0XHRtYXJnaW4tdG9wOiAtMXB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMTA7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9ucztcclxuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3coLTJweCwgMnB4LCAxMHB4LCAjNzc3KTtcclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTcwKTtcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE3MCk7XHJcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNTUpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAkaGVhZGVyLWhlaWdodDtcclxuXHRcdFx0QGluY2x1ZGUgYm94LXNoYWRvdygycHgsIDJweCwgNXB4LCAjNzc3KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH0ge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMCk7XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTAwKTtcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEwMCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgI3skbWVkaXVtLW9ubHl9e1xyXG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEzMCk7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxMzApO1xyXG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcblx0XHR9XHJcblx0XHQubG9nb3tcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcvdGVtcGxhdGVfaW1hZ2VzL2xvZ28ucG5nJyk7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0dGV4dC1pbmRlbnQ6IDUwMCU7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucG9wdXAge1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg0MDApO1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDI1MCk7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRyaWdodDogNSU7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEyKTtcclxuXHRcdG1hcmdpbi10b3A6IC0xcHg7XHJcblx0XHQvL3RvcDogMzAlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogOTk5OTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAxNXB4IDFweCAjNzc3O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuXHRcdC5jbG9zZV9fcG9wdXAge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdGk6aG92ZXIge1xyXG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Zm9ybSB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHR9XHJcblx0XHQub2ZmZXJfX3RleHQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0fVxyXG5cdFx0LnN1Y2Nlc3MtbXNnIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRoNSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdG1hcmdpbjogMTBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0I25ld3NsZXR0ZXJfc3VibWl0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRcdH1cclxuXHRcdCNuZXdzbGV0dGVyX3N1Ym1pdDpob3ZlciB7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNjMGFiYTE7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgICN7JG1lZGl1bS1vbmx5fSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMiUpO1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdHJpZ2h0OiA1MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhICAjeyRzbWFsbC1vbmx5fSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMiUpO1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdHJpZ2h0OiA1MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly9AaW5jbHVkZSB0cmFuc2l0aW9ucztcclxuXHRcdC8vQGluY2x1ZGUgYm94LXNoYWRvdygtMnB4LCAycHgsIDEwcHgsICM3NzcpO1xyXG5cdFx0Ly9AbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0Ly9cdGhlaWdodDogcmVtLWNhbGMoMTcwKTtcclxuXHRcdC8vXHR3aWR0aDogcmVtLWNhbGMoMTcwKTtcclxuXHRcdC8vXHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcblx0XHQvL1x0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNTUpO1xyXG5cdFx0Ly9cdG1hcmdpbi10b3A6ICRoZWFkZXItaGVpZ2h0O1xyXG5cdFx0Ly9cdEBpbmNsdWRlIGJveC1zaGFkb3coMnB4LCAycHgsIDVweCwgIzc3Nyk7XHJcblx0XHQvL31cclxuXHRcdC8vQG1lZGlhICN7JGhlYWRlci1icmVha3BvaW50fSB7XHJcblx0XHQvL1x0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDApO1xyXG5cdFx0Ly9cdGhlaWdodDogcmVtLWNhbGMoMTAwKTtcclxuXHRcdC8vXHR3aWR0aDogcmVtLWNhbGMoMTAwKTtcclxuXHRcdC8vfVxyXG5cdFx0Ly9AbWVkaWEgI3skbWVkaXVtLW9ubHl9e1xyXG5cdFx0Ly9cdGhlaWdodDogcmVtLWNhbGMoMTMwKTtcclxuXHRcdC8vXHR3aWR0aDogcmVtLWNhbGMoMTMwKTtcclxuXHRcdC8vXHRwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcblx0XHQvL31cclxuXHJcblx0XHQubG9hZGVyIHtcclxuXHRcdFx0Ym9yZGVyOiA4cHggc29saWQgI2YzZjNmMztcclxuXHRcdFx0Ym9yZGVyLXRvcDogOHB4IHNvbGlkICM5MzdlNzQ7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjOTM3ZTc0O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdG1hcmdpbjogNzAlIGF1dG87XHJcblx0XHRcdHdpZHRoOiA1MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcblx0XHR9XHJcblxyXG5cdFx0QGtleWZyYW1lcyBzcGluIHtcclxuXHRcdFx0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG5cdFx0XHQxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cdC8qIFJldGluYSAqL1xyXG5cdEBtZWRpYSAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMgLyAyKSwgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksICAobWluLXJlc29sdXRpb246IDEuNWRwcHgpIHtcclxuXHRcdC5sb2dve1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVfaW1hZ2VzL2xvZ29feDIucG5nXCIpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubWVkaXVtLXVwLWZvcm17XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHRvcDogJGhlYWRlci1oZWlnaHQ7XHJcblx0XHRsZWZ0OiAwcHg7XHJcblx0XHR6LWluZGV4OiA5O1xyXG5cdFx0aGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblx0XHQudGV4dGZpZWxkLWhvbGRlcntcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0aGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC00MCk7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTY1KTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIwKTtcclxuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEzKTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb25zO1xyXG5cdFx0XHRAbWVkaWEgI3skc21hbGwtb25seX17XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMzUpO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEwMjYpO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2NSk7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwcHg7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYyg3NDcpO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMjgpO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXXtcclxuXHRcdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdFx0Jjo6LW1zLWNsZWFye1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5jbG9zZS1maWVsZHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHR0b3A6IHJlbS1jYWxjKC0yMCk7XHJcblx0XHRcdHJpZ2h0OiByZW0tY2FsYygxMjgpO1xyXG5cdFx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRcdHJpZ2h0OiByZW0tY2FsYyg5MCk7XHJcblx0XHRcdFx0dG9wOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JGhlYWRlci1icmVha3BvaW50fXtcclxuXHRcdFx0XHRyaWdodDogcmVtLWNhbGMoMzA1KTtcclxuXHRcdFx0XHR0b3A6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubW9iaWxlLXNlYXJjaHtcclxuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xyXG5cdGJ1dHRvbntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRcdFx0Lmljb24tc2VhcmNoe1xyXG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhpcmQtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5pY29uLXNlYXJjaHtcclxuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJweDtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4ubW9iaWxlLW1lbnUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHR1bCB7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmxpc3Q7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdGxpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udG1lZGl1bTtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ji5hY3RpdmUsXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5mYSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRmb250LXNpemU6IDI1cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDI1cHg7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnRvcC1pdGVtLW1vYmlsZXtcclxuXHRcdGF7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQ+dWx7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoMTUpIDAgcmVtLWNhbGMoMzApO1xyXG5cdH1cclxuXHQuc29jaWFsLWxpbmtzLW1vYmlsZXtcclxuXHRcdGxpe1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygzMCk7XHJcblx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKXtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LmZhe1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qZml4IGZyb20gcWEgIGFrYiAxNC4wNy4yMDE1ICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzMDBweCl7XHJcblx0aGVhZGVyIC5oZWFkLW1lbnUgPiAucm93IC5jb2x1bW5zID4gdWwsIGhlYWRlciAuaGVhZC1tZW51ID4gLnJvdy1leHBhbmRlZCAuY29sdW1ucyA+IHVse1xyXG5cdFx0Lyogd2lkdGg6IDEwNSU7ICovXHJcblx0fVxyXG5cdGhlYWRlciAuaGVhZC1tZW51Pi5yb3cgLmNvbHVtbnM+dWwsIGhlYWRlciAuaGVhZC1tZW51Pi5yb3ctZXhwYW5kZWQgLmNvbHVtbnM+dWwge1xyXG5cdHBhZGRpbmctbGVmdDogNDVweDtcclxuXHR9XHJcblx0aGVhZGVyIC5oZWFkLW1lbnU+LnJvdyAuY29sdW1ucz51bD5saTpub3QoOmZpcnN0LWNoaWxkKSwgaGVhZGVyIC5oZWFkLW1lbnU+LnJvdy1leHBhbmRlZCAuY29sdW1ucz51bD5saTpub3QoOmZpcnN0LWNoaWxkKSB7XHJcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdH1cclxufVxyXG5oZWFkZXIgLmhlYWQtbWVudT4ucm93IC5jb2x1bW5zPnVsPmxpOm5vdCg6Zmlyc3QtY2hpbGQpLCBoZWFkZXIgLmhlYWQtbWVudT4ucm93LWV4cGFuZGVkIC5jb2x1bW5zPnVsPmxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuaGVhZGVyIC5oZWFkLW1lbnU+LnJvdyAuY29sdW1ucz51bCwgaGVhZGVyIC5oZWFkLW1lbnU+LnJvdy1leHBhbmRlZCAuY29sdW1ucz51bHtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5oZWFkZXIgLmhlYWQtbWVudT4ucm93IC5jb2x1bW5zPnVsPmxpLFxyXG5oZWFkZXIgLmhlYWQtbWVudT4ucm93LWV4cGFuZGVkIC5jb2x1bW5zPnVsPmxpe1xyXG5cdGZsb2F0OiBub25lO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5oZWFkZXIgLmhlYWQtbWVudT4ucm93IC5jb2x1bW5zPnVsIC5zZWFyY2gtZ3JvdXB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbmhlYWRlciAuaGVhZC1tZW51IC5zdWItbWVudXtcclxuXHR6LWluZGV4OiAxMTtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTQwcHgpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG5cdGhlYWRlciAubWVkaXVtLXVwLWZvcm0gLnRleHRmaWVsZC1ob2xkZXJ7XHJcblx0XHR3aWR0aDogODUlO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG5cdGhlYWRlciAubWVkaXVtLXVwLWZvcm0gLnRleHRmaWVsZC1ob2xkZXJ7XHJcblx0XHR3aWR0aDogODglO1xyXG5cdH1cclxuXHRoZWFkZXIgLm1lZGl1bS11cC1mb3JtIC5jbG9zZS1maWVsZHtcclxuXHRcdHJpZ2h0OiAyMHB4O1xyXG5cdH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG5cdC5jb250cm9sbGVycyBhe1xyXG5cclxuXHR9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KXtcclxuXHQuY29udHJvbGxlcnMgYXtcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdH1cclxuXHQuY29udHJvbGxlcnMgYS5mbGV4LW1vZC1uZXh0e1xyXG5cdFx0dG9wOiA5NXB4O1xyXG5cdH1cclxufVxyXG4ubWFpbi1jb250ZW50IGltZ3tcclxuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogIGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4uaG9tZS1iYW5uZXIgLmJhbm5lci1kZXNjIC5idXR0b24tcGx1czo6YWZ0ZXIsXHJcbi5idXR0b24tcGx1czphZnRlciwgLmJ1dHRvbi1wbHVzLWFsdDphZnRlciwgLmJ1dHRvbi1wbHVzLWZ1bGw6YWZ0ZXIsIC5idXR0b24tcGx1cy1mdWxsLWFsdDphZnRlcntcclxuXHRmb250LXNpemU6IDEuM3JlbTtcclxufVxyXG5cclxuLmN0YS1ibG9jay5ldmVudHMtYmxvY2sgaS5pY29uLXJpZ2h0LW9wZW46YmVmb3JlIHtcclxucG9zaXRpb246IGFic29sdXRlO1xyXG5sZWZ0OiAwcHg7XHJcbmxpbmUtaGVpZ2h0OiA0MHB4O1xyXG5tYXJnaW4tbGVmdDogMC4zNWVtO1xyXG5ib3R0b206IC0xcHg7XHJcbmZvbnQtc2l6ZTogMjVweDtcclxufVxyXG4iLCIucm93LWV4cGFuZGVke1xyXG5cdEBleHRlbmQgLnJvdztcclxuXHRtYXgtd2lkdGg6IHJlbS1jYWxjKDE2MDApO1xyXG59XHJcblxyXG4uY2VudGVyZWQtY29udGVudHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5ob21lLWJhbm5lcntcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tdG9wOiAtMzNweDtcclxuXHRoZWlnaHQ6IHJlbS1jYWxjKDI1OCk7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDkwKTtcclxuXHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdG1hcmdpbi10b3A6IC0xMDNweDtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoNzQwKTtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxOTApO1xyXG5cdH1cclxuXHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9IHtcclxuXHRcdG1hcmdpbi10b3A6IC0zM3B4O1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg3MDApO1xyXG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDE3MCk7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRtZWRpdW0tb25seX17XHJcblx0XHRtYXJnaW4tdG9wOiAtNjNweDtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoNTAwKTtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg3MCk7XHJcblx0fVxyXG5cdC5iYW5uZXItZGVzY3tcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0QG1lZGlhICN7JHNtYWxsLW9ubHl9e1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xyXG5cdFx0fVxyXG5cdFx0aDF7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udHNwZWNpYWw7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4xZW07XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JHNtYWxsZXN0LWJyZWFrcG9pbnR9e1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNzEpO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JG1lZGl1bS1vbmx5fXtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cHtcclxuXHRcdFx0Y29sb3I6ICM1ZjUyNGM7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4zZW07XHJcblx0XHR9XHJcblx0XHQuYnV0dG9uLXBsdXN7XHJcblx0XHRcdGNvbG9yOiAjNWY1MjRjO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjNWY1MjRjO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxODBweDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjNlbTtcclxuXHRcdFx0ei1pbmRleDogMjA7XHJcblx0XHRcdEBtZWRpYSAjeyRtZWRpdW0tb25seX17XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOjphZnRlcntcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjNlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QG1lZGlhICN7JHNtYWxsLW9ubHl9e1xyXG5cdFx0XHRwLCBhLmJ1dHRvbi1wbHVze1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnBhZ2VudW17XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMjUwcHg7XHJcblx0cmlnaHQ6IDA7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250cmVndWxhcjtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdC5jb2x1bW57XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIyKTtcclxuXHR9XHJcblx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9e1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuLmNvbnRyb2xsZXJze1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0b3A6IHJlbS1jYWxjKDM1NSk7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR6LWluZGV4OiAyMDtcclxuXHRhe1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0d2lkdGg6IDQwcHg7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0aXtcclxuXHRcdFx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRpe1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHR0b3A6IHJlbS1jYWxjKDM0MCk7XHJcblx0XHQuY29sdW1ue1xyXG5cdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRsZWZ0OjA7XHJcblx0XHR9XHJcblx0XHRhe1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmN0YS1ibG9ja3tcclxuXHRoZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkY7XHJcblx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XHJcblx0QG1lZGlhICN7JHNtYWxsLW9ubHl9e1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbnM7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygzMDApO1xyXG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDcwKTtcclxuXHR9XHJcblx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoMzkwKTtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5MCk7XHJcblx0fVxyXG5cdC5jdGEtdGl0bGV7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDBweDtcclxuXHRcdGhlaWdodDogIHJlbS1jYWxjKDYwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udHJlZ3VsYXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZXZlbnRoLWNvbG9yO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDBweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMjApO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9ucztcclxuXHRcdCY6OmFmdGVye1xyXG5cdFx0XHRjb250ZW50OiBcIitcIjtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjNlbTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdH1cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMjApO1xyXG5cdFx0XHRoZWlnaHQ6ICByZW0tY2FsYyg3MCk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHQmOjphZnRlcntcclxuXHRcdFx0XHR3aWR0aDogMzVweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDM1cHg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMThweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg5MCk7XHJcblx0XHRcdGhlaWdodDogIHJlbS1jYWxjKDkwKTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNSk7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNyk7XHJcblx0XHRcdCY6OmFmdGVye1xyXG5cdFx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdGEtdGl0bGUuYWN0aXZle1xyXG5cdFx0Ly8gY29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHQmOjphZnRlcntcclxuXHRcdFx0Y29udGVudDogXCItXCI7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdGEtZGVzY3tcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZXZlbnRoLWNvbG9yO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAgcmVtLWNhbGMoNTgpO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTIwKTtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTcpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTcpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcclxuXHRcdHB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHRcdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0fVxyXG5cdFx0YXtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfXtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yMCk7XHJcblx0XHRcdHRvcDogIHJlbS1jYWxjKDY4KTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI1KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xyXG5cdFx0XHR0b3A6ICByZW0tY2FsYyg4OCk7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzNSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRtZWRpdW0tb25seX17XHJcblx0XHQmOm50aC1jaGlsZChvZGQpe1xyXG5cdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRkZGO1xyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoZXZlbil7XHJcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZGRjtcclxuXHRcdH1cclxuXHR9XHJcblx0JjpudGgtY2hpbGQoM24rMil7XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICNGRkY7XHJcblx0XHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNGRkY7XHJcblx0XHR9XHJcblx0XHQuY3RhLXRpdGxle1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGNvbG9yOiAjRkVDQzE3O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQvLyAuY3RhLXRpdGxlLmFjdGl2ZXtcclxuXHRcdC8vIFx0Y29sb3I6ICNGRUNDMTc7XHJcblx0XHQvLyB9XHJcblx0XHQuY3RhLXRpdGxlLCAuY3RhLWRlc2N7XHJcblx0XHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDkyMzJmO1xyXG5cdFx0XHRwe1xyXG5cdFx0XHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0XHR9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0Y29sb3I6ICNGRUNDMTc7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0JjpudGgtY2hpbGQoM24rMyl7XHJcblx0XHQuY3RhLXRpdGxle1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGNvbG9yOiAjNDg0ZDUzO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQvLyAuY3RhLXRpdGxlLmFjdGl2ZXtcclxuXHRcdC8vIFx0Y29sb3I6ICM0ODRkNTM7XHJcblx0XHQvLyB9XHJcblx0XHQuY3RhLXRpdGxlLCAuY3RhLWRlc2N7XHJcblx0XHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2l4dGgtY29sb3I7XHJcblx0XHRcdHB7XHJcblx0XHRcdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRcdH1cclxuXHRcdFx0YXtcclxuXHRcdFx0XHRjb2xvcjogIzQ4NGQ1MztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmV2ZW50cy1ibG9ja3tcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2V2ZW50aC1jb2xvcjtcclxuXHRAbWVkaWEgI3skc21hbGwtb25seX17XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5jdGEtdGl0bGV7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZXZlbnRoLWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0XHRzcGFue1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMzBweDtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nOiA3cHggNDBweCA3cHggMzBweDtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxM3B4O1xyXG5cdFx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHQmOjphZnRlcntcclxuXHRcdFx0XHRjb250ZW50OiBcIitcIjtcclxuXHRcdFx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdHRvcDogNnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Jjo6YWZ0ZXJ7XHJcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0XHRzcGFuLCAmOjphZnRlciwgc3Bhbjo6YWZ0ZXJ7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdGEtdGl0bGUuYWN0aXZlOjphZnRlcnsgY29udGVudDogXCIgXCI7IGJvcmRlcjogbm9uZTsgfVxyXG5cdHVse1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJsaXN0O1xyXG5cdFx0bGl7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg4MCk7XHJcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdGl7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZDtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHRyaWdodDogMHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE5cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcclxuXHRcdFx0XHRcdHRvcDogMjBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZGF0ZXtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xyXG5cdFx0XHRsaXtcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDc2KTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG5cdFx0XHRcdFx0aXtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOXB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcclxuXHRcdFx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuZGF0ZXtcclxuXHRcdFx0XHRcdHRvcDogMTJweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XHJcblx0XHRcdGxpe1xyXG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTAwKTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xyXG5cdFx0XHRcdFx0aXtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDQwcHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHRcdFx0XHRcdFx0dG9wOiAyNXB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZGF0ZXtcclxuXHRcdFx0XHR0b3A6IDE3cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHRcdGxpIGF7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50d2l0dGVyLWJsb2Nre1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRAbWVkaWEgI3skc21hbGwtb25seX17XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcclxuXHR9XHJcblx0LmN0YS10aXRsZXtcclxuXHRcdGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhpcmQtY29sb3IgIWltcG9ydGFudDtcclxuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdFx0YXtcclxuXHRcdFx0Y29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdC5pY29uLXR3aXR0ZXItYmlyZHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjdlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuN2VtO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjI1ZW07XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdCY6YmVmb3Jle1xyXG5cdFx0XHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOjphZnRlcntcclxuXHRcdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdH1cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuY3RhLXRpdGxlLmFjdGl2ZTo6YWZ0ZXJ7IGNvbnRlbnQ6IFwiIFwiOyBib3JkZXI6IG5vbmU7IH1cclxuXHQudHdpdHRlci1mZWVkc3tcclxuXHRcdHB7XHJcblx0XHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250bGlnaHQ7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwLjc1ZW07XHJcblx0XHRcdG1hcmdpbjogMHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS40ZW07XHJcblx0XHR9XHJcblx0XHRhe1xyXG5cdFx0XHRmb250LWZhbWlseTogJGZvbnRyZWd1bGFyO1xyXG5cdFx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmRhdGV7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRjb2xvcjogI0ZGRjtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9IHtcclxuXHRcdFx0cHtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRtZWRpdW0tb25seX17XHJcblx0XHRcdHB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMSk7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuM2VtO1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwLjVlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcclxuXHRcdFx0cHtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5mbGV4LWNvbnRyb2wtbmF2LmZsZXgtY29udHJvbC1wYWdpbmd7XHJcblx0XHRsZWZ0OiAwcHg7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcblx0XHRtYXJnaW4tbGVmdDogMzBweDtcclxuXHRcdGJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xyXG5cdFx0bGl7XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdCY6aG92ZXIsICYuZmxleC1hY3RpdmV7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRmb3VydGgtY29sb3IgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRtZWRpdW0tb25seX17XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxN3B4O1xyXG5cdFx0XHRib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcclxuXHRcdFx0Ym90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxN3B4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnBhcnRuZXJzLWJsb2Nre1xyXG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxuXHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcwKTtcclxuXHR9XHJcblx0QG1lZGlhICN7JG1lZGl1bS1vbmx5fXtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xyXG5cdH1cclxuXHQucGFydG5lci1zbGlkZXItYmxvY2t7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luOiAwcHggYXV0bztcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2MCk7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYwKTtcclxuXHRcdH1cclxuXHRcdC5wYXJ0bmVyLXNsaWRlcntcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0YXtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5wYXJ0bmVyLWxvZ297XHJcblx0XHRcdFx0QG1lZGlhICN7JHNtYWxsLW9ubHl9e1xyXG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0MCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5wYXJ0bmVyLXByZXYsIC5wYXJ0bmVyLW5leHR7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA0NSU7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHRpe1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxOXB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5wYXJ0bmVyLXByZXZ7XHJcblx0XHRcdGxlZnQ6ICAwcHg7XHJcblx0XHR9XHJcblx0XHQucGFydG5lci1uZXh0e1xyXG5cdFx0XHRyaWdodDogMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5zdWJwYWdlLWJhbm5lcntcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0bWFyZ2luLXRvcDogLTMzcHg7XHJcblx0aGVpZ2h0OiByZW0tY2FsYygyMDApO1xyXG5cdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3OCk7XHJcblx0XHRtYXJnaW4tdG9wOiAtMTAzcHg7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMyNCk7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH0ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzgpO1xyXG5cdFx0bWFyZ2luLXRvcDogLTMzcHg7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMyNCk7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRtZWRpdW0tb25seX17XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblx0XHRtYXJnaW4tdG9wOiAtNjNweDtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoMjkwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5tYWluLWNvbnRlbnR7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRAbWVkaWEgI3skbWVkaXVtLXVwfXtcclxuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYwKTtcclxuXHR9XHJcblx0aDF7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNTMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubWVkaWF7XHJcblx0XHRpZnJhbWUsIGltZ3tcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblx0aDIudGl0bGV7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRmb250LWZhbWlseTogJGZvbnRyZWd1bGFyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjkpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRoMiwgaDMsIGg0LCBoNSwgaDZ7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHR9XHJcblx0aDZ7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdCYuY2VudGVyZWQtY29udGVudHtcclxuXHQgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcclxuXHQgICAgfVxyXG5cdH1cclxuXHRwLCBoNiwgdWwgbGksIG9sIGxpLCBzcGFuLCBhe1xyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dWx7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmxpc3Q7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFx0bGl7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yOyBcclxuXHRcdFx0XHRjb250ZW50OlwiXFwyMDIyXCI7XHJcblx0XHRcdFx0Zm9udC1zaXplOjFlbTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjFlbTtcclxuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHQvLyB0b3A6LTAuMjVlbTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTI3KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRocntcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGhlaWdodDogMXB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2FhYTtcclxuXHRcdGNvbG9yOiAjYWFhO1xyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XHJcblx0XHRcdGhlaWdodDogMnB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdGltZ3tcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHR9XHJcbn1cclxuXHJcbmJsb2NrcXVvdGV7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYyg1MCk7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250cmVndWxhcjtcclxuXHQvLyBmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC1zaXplOiAxOXB4O1xyXG5cdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRzdHJvbmd7XHJcblx0XHRmb250LWZhbWlseTogJGZvbnRtZWRpdW07XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG5cdCY6OmJlZm9yZSwgJjo6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLmJ1dHRvbi1wbHVzLCAuYnV0dG9uLXBsdXMtYWx0LCAuYnV0dG9uLXBsdXMtZnVsbCwgLmJ1dHRvbi1wbHVzLWZ1bGwtYWx0e1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMwKTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKSByZW0tY2FsYyg0MCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGZvdXJ0aC1jb2xvcjtcclxuXHRmb250LWZhbWlseTogJGZvbnRyZWd1bGFyO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblx0Jjpmb2N1cywgJjphY3RpdmV7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHR9XHJcblx0JjphZnRlcntcclxuXHRcdGNvbnRlbnQ6IFwiK1wiO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNSk7XHJcblx0XHRmb250LXNpemU6IDEuM2VtO1xyXG5cdH1cclxuXHQmOmhvdmVye1xyXG5cdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLmJ1dHRvbi1wbHVzLWZ1bGwsIC5idXR0b24tcGx1cy1mdWxsLWFsdHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0JjphZnRlcntcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHR9XHJcbn1cclxuXHJcbi5idXR0b24tcGx1cy1mdWxsLWFsdCwgLmJ1dHRvbi1wbHVzLWFsdHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdGNvbG9yOiAjRkZGO1xyXG5cdCY6Zm9jdXMsICY6YWN0aXZle1xyXG5cdFx0Y29sb3I6ICNGRkY7XHJcblx0fVxyXG5cdCY6aG92ZXJ7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxufVxyXG5cclxuLmJ1dHRvbi1wcmV2e1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMwKTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMjApO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRmb3VydGgtY29sb3I7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250cmVndWxhcjtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xyXG5cdEBleHRlbmQgLmljb24tbGVmdDtcclxuXHQmOmJlZm9yZXtcclxuXHRcdEBleHRlbmQgW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZTtcclxuXHR9XHJcblx0Jjpob3ZlcntcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHR9XHJcbn1cclxuXHJcbi5jZW50ZXJlZC1jb250ZW50e1xyXG5cdC5idXR0b24tcGx1c3tcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDgpIHJlbS1jYWxjKDMwKTtcclxuXHR9XHJcbn0iLCJpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXSwgc2VsZWN0e1xyXG5cdG1hcmdpbjogMCAwIHJlbS1jYWxjKDIwKSAwO1xyXG5cdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xyXG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYyg3KTtcclxuXHRoZWlnaHQ6IHJlbS1jYWxjKDQxKTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRjb2xvcjogICRwcmltYXJ5LWNvbG9yO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xyXG5cdCY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBXZWJLaXQgYnJvd3NlcnMgKi9cclxuICAgIFx0Y29sb3I6ICAgI2RkZDtcclxuXHR9XHJcblx0JjotbW96LXBsYWNlaG9sZGVyIHsgLyogTW96aWxsYSBGaXJlZm94IDQgdG8gMTggKi9cclxuXHQgICBjb2xvcjogICAjZGRkO1xyXG5cdCAgIG9wYWNpdHk6ICAxO1xyXG5cdH1cclxuXHQmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogTW96aWxsYSBGaXJlZm94IDE5KyAqL1xyXG5cdCAgIGNvbG9yOiAgICNkZGQ7XHJcblx0ICAgb3BhY2l0eTogIDE7XHJcblx0fVxyXG5cdCY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTArICovXHJcblx0ICAgY29sb3I6ICAgI2RkZDtcclxuXHR9XHJcbn1cclxuXHJcbi5pbnB1dC1jaGVja2JveCwgLmlucHV0LXJhZGlvIC5yYWRpby1ob2xkZXIge1xyXG5cdHBhZGRpbmctbGVmdDogMzBweDtcclxuXHRoZWlnaHQ6IDIwcHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmlucHV0LXJhZGlvIC5yYWRpby1ob2xkZXIge1xyXG5cdGJhY2tncm91bmQ6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvcmFkaW8ucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCBib3R0b207XHJcblx0bGluZS1oZWlnaHQ6IDIxcHg7XHJcbn1cclxuXHJcbi5pbnB1dC1jaGVja2JveCB7XHJcblx0YmFja2dyb3VuZDogdXJsKFwiL3RlbXBsYXRlX2ltYWdlcy9jaGVja2JveC5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IGJvdHRvbTtcclxuXHRsaW5lLWhlaWdodDogMjFweDtcclxufVxyXG5cclxuLmlucHV0LWNoZWNrYm94LmNoZWNrZWQsXHJcbi5pbnB1dC1yYWRpbyAucmFkaW8taG9sZGVyLmNoZWNrZWQsIHtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1cclxue1xyXG5cdGNsaXA6IHJlY3QoMHB4LCAwcHgsIDBweCwgMHB4KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5pbnB1dC1yYWRpbyBzcGFuIHtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzIC8gMiksICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIChtaW4tcmVzb2x1dGlvbjogMS41ZHBweCkge1xyXG5cdC5pbnB1dC1yYWRpbyAucmFkaW8taG9sZGVyIHtcclxuXHRcdGJhY2tncm91bmQ6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvcmFkaW9feDIucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IGJvdHRvbTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMjBweDtcclxuXHR9XHJcblx0LmlucHV0LWNoZWNrYm94IHtcclxuXHRcdGJhY2tncm91bmQ6IHVybChcIi90ZW1wbGF0ZV9pbWFnZXMvY2hlY2tib3hfeDIucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCBib3R0b207XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XHJcblx0fVxyXG59XHJcblxyXG5sYWJlbCwgbGFiZWwuZXJyb3Ige1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogcmVtLWNhbGMoMTApIDA7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbn1cclxuXHJcblxyXG5cclxuZGl2LmVycm9yLCBsYWJlbC5lcnJvciwgLmVycm9yLW1zZywuZXJyb3ItbXNnIHAge1xyXG5cdGJhY2tncm91bmQ6ICRmb3VydGgtY29sb3I7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDE1KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblx0Y29sb3I6ICNGRkY7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpICFpbXBvcnRhbnQ7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG59XHJcblxyXG5sYWJlbC5lcnJvciB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG59XHJcblxyXG4ubGFiZWwtZ3JvdXB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdGxhYmVse1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZXJyb3J7IGNvbG9yOiByZWQ7IH1cclxuXHJcblxyXG50ZXh0YXJlYXtcclxuXHRoZWlnaHQ6IDIzNHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG5zZWxlY3R7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbi5uby1ib3JkZXIge1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmNhcHRjaGEtaW1nLWhvbGRlciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdG1hcmdpbi10b3A6IDBweDtcclxuXHRpbWcge1xyXG5cdFx0bWFyZ2luLXRvcDogMHB4O1xyXG5cdH1cclxufVxyXG5cclxuI3JlY2FwdGNoYV9pbWFnZSB7XHJcblx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHRtYXJnaW46IDAgMCByZW0tY2FsYyg1KTtcclxuXHRoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xyXG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNyZWNhcHRjaGFfY2hhbGxlbmdlX2ltYWdlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbn1cclxuXHJcbiNyZWNhcHRjaGEtcmVsb2Fke1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAtMTVweDtcclxuXHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRtYXJnaW4tbGVmdDogMC42MjVyZW07XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcclxuXHQmOmhvdmVye1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLmRrX3RvZ2dsZXtcclxuXHQmOmFmdGVye1xyXG5cdFx0dG9wOiAtMnB4O1xyXG5cdFx0cmlnaHQ6IC0ycHg7XHJcblx0XHRjb250ZW50OiAnXFxmMGRjJztcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG5cdFx0Y29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTIpO1xyXG5cdH1cclxuXHRib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uZGtfZm9jdXMgLmRrX3RvZ2dsZXtcclxuXHRib3JkZXItY29sb3I6ICM5OTk5OTk7XHJcblx0Jjo6YWZ0ZXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcbn1cclxuXHJcbi5ka190b2dnbGUuZGtfbGFiZWx7XHJcblx0bGluZS1oZWlnaHQ6IDFyZW07XHJcblx0Jjpob3ZlcntcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICM5OTk7XHJcblx0fVxyXG59XHJcbi5ka19vcGVuIC5ka19vcHRpb25ze1xyXG5cdG1hcmdpbi10b3A6IDFweDtcclxufVxyXG4uZGtfb3B0aW9uX2N1cnJlbnQsIC5ka19vcHRpb25ze1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRhe1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRmb250bGlnaHQ7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdGJvcmRlci10b3A6IG5vbmU7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRsaW5lLWhlaWdodDogMXJlbTtcclxuXHRcdHBhZGRpbmc6IDEycHggMTBweDtcclxuXHR9XHJcblx0YTpob3ZlciwgLmRrX29wdGlvbl9jdXJyZW50IGF7XHJcblx0XHRjb2xvcjogJHRoaXJkLWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdGE6aG92ZXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLCBidXR0b257XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDMwKTtcclxufVxyXG5cclxuLmJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjb2xvcjogI0ZGRjtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQxKTtcclxuXHRtYXJnaW46IDAgMCByZW0tY2FsYygxOCkgMDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHJcblx0Jjpob3ZlcntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0fVxyXG5cdCYucmVhZC1tb3Jle1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuXHR9XHJcblx0Ji5yZWFkLW1vcmU6aG92ZXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhpcmQtY29sb3I7XHJcblx0XHRjb2xvcjogI0ZGRjtcclxuXHR9XHJcbn1cclxuXHJcbmZvcm17XHJcblx0cHtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdH1cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJde1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdH1cclxuXHRzbWFsbHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG5cdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblx0Ji5zZWFyY2gtdmVuZXV7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RlbXBsYXRlX2ltYWdlcy9mb3JtLW92ZXJsYXkucG5nKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMjQlO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuXHR9XHJcblx0ZGl2LmVycm9ye1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIGpxdWVyeS11aVxyXG4udWktZGF0ZXBpY2tlcntcclxuXHR0aHtcclxuXHRcdHNwYW57XHJcblx0XHRcdGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC51aS1zdGF0ZS1oaWdobGlnaHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0fVxyXG5cdC51aS1zdGF0ZS1kZWZhdWx0e1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdH1cclxuXHQudWktc3RhdGUtaG92ZXJ7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhpcmQtY29sb3I7XHJcblx0XHRjb2xvcjogI0ZGRjtcclxuXHR9XHJcblx0LnVpLXN0YXRlLWFjdGl2ZXtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Y29sb3I6ICNGRkY7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcbn1cclxuLmRhdGVmaWVsZC1ob2xkZXJ7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCY6YWZ0ZXJ7XHJcblx0XHRmb250LWZhbWlseTogJ2ZvbnRBd2Vzb21lJztcclxuXHRcdGNvbnRlbnQ6ICdcXGYwNzMnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiByZW0tY2FsYygxMCk7XHJcblx0XHRyaWdodDogcmVtLWNhbGMoMTApO1xyXG5cdH1cclxuXHQuZGF0ZWZpZWxke1xyXG5cdH1cclxufVxyXG5cclxuLm1haWwtY2FwdGlvbntcclxuXHRtYXJnaW4tdG9wOiAtMTRweDtcclxuXHRjb2xvcjp3aGl0ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmZvcm0uZmlsbC11cCBzbWFsbHtcclxuXHRjb2xvcjp3aGl0ZVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJde1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG5cdHBhZGRpbmctdG9wOiAwcHg7XHJcbn1cclxuXHJcbmZvcm0gcCB0ZXh0YXJlYXtcclxuXHRjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLm1haW4tY29udGVudCBmb3JtIHtcclxuXHQmLnZhbGlkYXRlZm9ybXtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZXZlbnRoLWNvbG9yO1xyXG5cdFx0cGFkZGluZzogIHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcblx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9ue1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5ka19vcHRpb25zIGxpIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yOyBcclxuXHRcdFx0Y29udGVudDpcIlwiO1xyXG5cdFx0XHRmb250LXNpemU6IGluaXRpYWw7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdHBvc2l0aW9uOiBpbml0aWFsO1xyXG5cdFx0XHQvLyB0b3A6LTAuMjVlbTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdGEuZGtfdG9nZ2xlLmRrX2xhYmVsLCAuZGtfb3B0aW9ucyBsaSBhIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udHJlZ3VsYXI7XHJcblx0XHR3b3JkLXNwYWNpbmc6IGluaGVyaXQ7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcclxuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG5cdH1cclxuXHQuZGtfb3B0aW9uc19pbm5lcntcclxuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcclxuXHR9XHJcblx0LmRrX29wdGlvbl9jdXJyZW50IGE6aG92ZXIsIC5ka19vcHRpb25fY3VycmVudCAuZGtfb3B0aW9uX2N1cnJlbnQgYSwgLmRrX29wdGlvbnMgYTpob3ZlciwgLmRrX29wdGlvbnMgLmRrX29wdGlvbl9jdXJyZW50IGF7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvciAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQjcmVjYXB0Y2hhLXJlbG9hZHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwcHg7XHJcblx0fVxyXG59IiwiLnNpZGViYXJ7XHJcblx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdD5kaXZ7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDExNSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRoZWFkZXItYnJlYWtwb2ludH17XHJcblx0XHQ+ZGl2e1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1MCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jYXRlZ29yeS1saXN0e1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJsaXN0O1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfXtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG5cdFx0fVxyXG5cdFx0bGl7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRcdCY6OmJlZm9yZXtcclxuXHRcdFx0XHRjb250ZW50OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdCY6aG92ZXIsICYuYWN0aXZle1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC50d2l0dGVyLXNpZGV7XHJcblx0XHRhe1xyXG5cdFx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdFx0aDJ7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuaWNvbi10d2l0dGVyLWJpcmR7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0XHRcdCY6OmJlZm9yZXtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRwLCBwIGF7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQjc3Vic2NyaWJlX2Zvcm17XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XHJcblx0fVxyXG5cdC5idXR0b24tcGx1cy1mdWxsLWFsdCwgLmJ1dHRvbi1wbHVzLWFsdHtcclxuXHRcdHBhZGRpbmc6IDdweCAyMHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdH1cclxuXHQuZG9uYXRlLWJveHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZXZlbnRoLWNvbG9yO1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRoMntcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udG1lZGl1bTtcclxuXHRcdH1cclxuXHRcdHB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIkbmV3c3BhbmUtaGVpZ2h0OiByZW0tY2FsYygxNDApO1xyXG4ubmV3c2xldHRlci1wYW5le1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0aDJ7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogI0ZGRjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cdC50ZXh0ZmllbGQtaG9sZGVye1xyXG5cdFx0d2lkdGg6IDYwJTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJde1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XHJcblx0XHR3aWR0aDogNDAlO1xyXG5cdH1cclxuXHQuc29jaWFsLWxpbmtze1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJsaXN0O1xyXG5cdFx0bGl7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblx0XHRhe1xyXG5cdFx0XHRAaW5jbHVkZSByb3VuZC1pY29uKDQwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgI3skbWVkaXVtLXVwfXtcclxuXHRcdC50ZXh0ZmllbGQtaG9sZGVye1xyXG5cdFx0XHR3aWR0aDogNzclO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdH1cclxuXHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XHJcblx0XHRcdHdpZHRoOiAyMyU7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg5MCk7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDcpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRoZWlnaHQ6ICRuZXdzcGFuZS1oZWlnaHQ7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0LnNvY2lhbC1saW5rc3tcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHJpZ2h0OiAtMTQwcHg7XHJcblx0XHR9XHJcblx0XHRoMntcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0d2lkdGg6IDMwMHB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGxlZnQ6IC0xNzBweDtcclxuXHRcdH1cclxuXHRcdGZvcm17XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0bGVmdDogLTEyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgI3skaGVhZGVyLWJyZWFrcG9pbnR9e1xyXG5cdFx0LnNvY2lhbC1saW5rc3tcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRwb3NpdGlvbjogaW5pdGlhbDtcclxuXHRcdFx0cmlnaHQ6IDBweDtcclxuXHRcdH1cclxuXHRcdGgye1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRsZWZ0OiAwcHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjFweDtcclxuXHRcdH1cclxuXHRcdGZvcm17XHJcblx0XHRcdHBvc2l0aW9uOiBpbml0aWFsO1xyXG5cdFx0XHRsZWZ0OiAwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5mb290ZXJ7XHJcblx0dWx7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmxpc3Q7XHJcblx0fVxyXG5cdGF7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yOyBcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXItdG9we1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHRoNntcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udG1lZGl1bTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI4KTtcclxuXHR9XHJcblx0YXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcblx0XHRsaW5lLWhlaWdodDogMS40ZW07XHJcblx0fVxyXG5cdC5mb290ZXItbG9nb3tcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGltZ3tcclxuXHRcdFx0aGVpZ2h0OiA5MHB4O1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0aW1ne1xyXG5cdFx0XHRcdGhlaWdodDogMTI0cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm1vYmlsZS1xdWlja2xpbmtze1xyXG5cdFx0aDZ7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0Ji5hY3RpdmV7XHJcblx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0dWx7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyLWJvdHRvbXtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDEyKSAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxufVxyXG5cclxuLndlYmRldi1saW5lLCAuY29weXJpZ2h0LWxpbmV7XHJcblx0QG1lZGlhICN7JG1lZGl1bS1vbmx5fXtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblx0bGl7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxOXB4O1xyXG5cdH1cclxufVxyXG5cclxuLndlYmRldi1saW5le1xyXG5cdGxpe1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRtaW4td2lkdGg6IHJlbS1jYWxjKDI2KTtcclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH17XHJcblx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCl7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg3KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtbGFzdC1jaGlsZCgtbisyKXtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgI3skbGFyZ2UtdXB9e1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdH1cclxuXHQuYndpcmVkLCAuY29yZWRuYXtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDI2KTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcblx0LmJ3aXJlZCB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RlbXBsYXRlX2ltYWdlcy9id2lyZWQtYmxhY2sucG5nKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0fVxyXG5cclxuXHQuYndpcmVkOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGVtcGxhdGVfaW1hZ2VzL2J3aXJlZC1ibGFjay1ob3Zlci5wbmcpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHR9XHJcblxyXG5cdC5jb3JlZG5he1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC90ZW1wbGF0ZV9pbWFnZXMvY29yZWRuYS1ibGFjay5wbmcpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHR9XHJcblxyXG5cdC5jb3JlZG5hOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGVtcGxhdGVfaW1hZ2VzL2NvcmVkbmEtYmxhY2staG92ZXIucG5nKTsgXHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdH1cclxufVxyXG5cclxuLmNvcHlyaWdodC1saW5le1xyXG5cdGF7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0fVxyXG5cdGxpe1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfXtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKipcclxuICogUGFnZXJcclxuICovXHJcbi5wYWdlciB7XHJcblx0Knpvb206IDE7XHJcblx0bWFyZ2luOiAwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRmb250LWZhbWlseTogJGZvbnRyZWd1bGFyO1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0JjpiZWZvcmUsXHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdH1cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxuXHJcblx0YXtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Y29sb3I6ICR0aGlyZC1jb2xvcjtcclxuXHRcdC8vIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRtaW4td2lkdGg6IHJlbS1jYWxjKDM1KTtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoMzUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRAbWVkaWEgI3skc21hbGwtb25seX17XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bWluLXdpZHRoOiByZW0tY2FsYygyNSk7XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjUpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRhLnNlbGVjdGVkX3BhZ2VyIHtcclxuXHRcdC8vIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHRib3JkZXI6IDJweCBzb2xpZDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdEBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdGE6aG92ZXIge1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogICRmb3VydGgtY29sb3I7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHR9XHJcblx0LnBhZ2UtZGlyZWN0aW9ue1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XHJcblx0XHRAbWVkaWEgI3skc21hbGwtb25seX17XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogSGVscCBhY2NvcmRpb25cclxuICovXHJcblxyXG4uYWNjb3JkaW9ue1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxufVxyXG5cclxuLmFjY29yZGlvbi10aXRsZSwgLmxpbmstbmV4dCB7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMTUpO1xyXG5cdGJhY2tncm91bmQ6ICNmMWYxZjE7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuXHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG5cclxuXHRoNCB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdCY6OmFmdGVye1xyXG5cdFx0XHRjb250ZW50OiBcIitcIjtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRyaWdodDogMTVweDtcclxuXHRcdFx0dG9wOiAyMyU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4zZW07XHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZmEge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdH1cclxuXHJcblx0Ji5zZWxlY3RlZCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZjFmMWYxO1xyXG5cdFx0aDQge1xyXG5cdFx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdFx0XHQmOjphZnRlcntcclxuXHRcdFx0XHRjb250ZW50OiBcIi1cIjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmhvdmVye1xyXG5cdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdGg0IHtcclxuXHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0LmhlbHAtYW5zd2VycyB7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDE1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdH1cclxuXHQuaGVscC1hbnN3ZXJzIHtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdHAge1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWxwLWFuc3dlcnMge1xyXG5cdFx0c3Ryb25nLmFuc3dlciB7XHJcblx0XHR9XHJcblx0fVxyXG5cdGF7XHJcblx0XHRjb2xvcjogJGZvdXJ0aC1jb2xvcjtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubGluay1uZXh0e1xyXG5cdHBhZGRpbmc6IDBweDtcclxuXHQmOmZpcnN0LWNoaWxke1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xyXG5cdH1cclxuXHRhe1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTUpO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1MCk7XHJcblx0fVxyXG5cdGg0e1xyXG5cdFx0Jjo6YWZ0ZXJ7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XHJcblx0XHRcdGNvbnRlbnQ6ICdcXGU4MDQnO1xyXG5cdFx0XHRmb250LXNpemU6IDEuM2VtO1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLy8gaG9tZXBhZ2UgbmV3c2xpc3RpbmdcclxuLm5ld3MtbGlzdGluZ3tcclxuXHRwe1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdH1cclxuXHRhe1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0Y29sb3I6ICRmb3VydGgtY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6bGFzdC1jaGlsZHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuXHR9XHJcblx0c3Bhbi5kYXRle1xyXG5cdFx0Zm9udC1zaXplOiAwLjc1ZW0gIWltcG9ydGFudDtcclxuXHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1kaXNwbGF5e1xyXG5cdGgyIHNwYW57XHJcblx0XHRmb250LXNpemU6IDAuNmVtICFpbXBvcnRhbnQ7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHR9XHJcbn0iLCIuZXZlbnQtbGlzdHtcclxuXHRpbWd7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0LmV2ZW50LWltZ3tcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdG1heC1oZWlnaHQ6IDIzMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdH1cclxufVxyXG5cclxuLmV2ZW50Q2Fse1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHR0ZCwgdGh7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHRwe1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGNvbG9yOiAkdGhpcmQtY29sb3I7XHJcblx0fVxyXG5cdHRhYmxlLCB0ciwgdGQsIHRoe1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRcdGNvbG9yOiAkdGhpcmQtY29sb3I7XHJcblx0XHRtYXJnaW46MDtcclxuXHRcdHBhZGRpbmc6IDBweDtcclxuXHR9XHJcblx0dGFibGV7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0I2Rpdl9ldmVudHNfbW9udGhfc2hvd3tcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcblx0fVxyXG5cdC5kYXksIC5ldmVudHNfbm9kYXl7XHJcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCl7XHJcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XHJcblx0XHR9XHJcblx0XHRwLGF7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQjZXZlbnRzX2NhbGVuZGFye1xyXG5cdFx0PnRhYmxle1xyXG5cdFx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQjZGF0ZXN7XHJcblx0XHR0cjpub3QoOmxhc3QtY2hpbGQpe1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuXHRcdH1cclxuXHRcdHRyOmxhc3QtY2hpbGR7XHJcblx0XHRcdC5ldmVudHNfbm9kYXl7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR0ZHtcclxuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmNhbGVuZGFyX3RvZGF5e1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2RkZCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQjbW9udGh7XHJcblx0XHR0ZHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206ICByZW0tY2FsYygxMik7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAgcmVtLWNhbGMoMTIpO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuXHRcdH1cclxuXHRcdGF7XHJcblx0XHRcdGNvbG9yOiAkZm91cnRoLWNvbG9yO1xyXG5cdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY2FsZW5kYXJfZm9yd2FyZHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdH1cclxuXHQuY2FsZW5kYXJfYmFja3tcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG59XHJcblxyXG4uc2VhcmNoLWV2ZW50LWJsb2Nre1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxufSIsIi5yZXNwb25zaXZlLXRhYmxle1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogNzY4cHgpe1xyXG4gICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICB9XHJcbiAgdHJ7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHRke1xyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucmVzcG9uc2l2ZS10YWJsZV9fZml4ZWR7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGJvZHl7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgJi5uby1mbG9hdHtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2OHB4KXtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29sbGFwc2libGUtdGFibGV7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICBAbWVkaWEobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gIH1cclxuXHJcbiAgdHJ7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjOTM3ZTc0O1xyXG4gICAgfVxyXG4gICAgdGR7XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2OHB4KXtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICYuY29sbGFwc2libGUtdGFibGVfX2hlYWRpbmd7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbGxhcHNpYmxlLXRhYmxlX19oZWFkaW5nLS1jb3B5e1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY4cHgpe1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbGxhcHNpYmxlLXRhYmxlX190ZXh0e1xyXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2OHB4KXtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRoZWFke1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNzY4cHgpe1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxucHtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59IiwiLypcclxuKiogRGVmYXVsdFxyXG4qL1xyXG5cclxuLyogUmVzZXRzICovXHJcbi5id2lyZWQtZ2xvYmFsLWZvb3Rlcjpob3ZlciwgLmNvcmUtZG5hLWdsb2JhbC1mb290ZXI6aG92ZXIge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLyogRGV2aWNlIGJhY2tncm91bmQgKi9cclxuLmJ3aXJlZC1nbG9iYWwtZm9vdGVyIGNpcmNsZSwgLmNvcmUtZG5hLWdsb2JhbC1mb290ZXIgY2lyY2xlIHtcclxuXHRmaWxsOiMwMDAwMDA7XHJcbn1cclxuXHJcbi8qIERldmljZSBjb2xvciAqL1xyXG4uYndpcmVkLWdsb2JhbC1mb290ZXIgZyBwYXRoLCAuY29yZS1kbmEtZ2xvYmFsLWZvb3RlciBwYXRoIHtcclxuXHRmaWxsOiNmZmZmZmY7XHJcbn1cclxuXHJcbi8qIEhvdmVyIGNvbG9yIGFuZCAuIGNvbG9yICovXHJcbi5id2lyZWQtZ2xvYmFsLWZvb3RlciBnIHBhdGg6Zmlyc3QtY2hpbGQsIC5id2lyZWQtZ2xvYmFsLWZvb3Rlcjpob3ZlciBjaXJjbGUgLCAuY29yZS1kbmEtZ2xvYmFsLWZvb3Rlcjpob3ZlciBjaXJjbGUge1xyXG5cdGZpbGw6I0VFMUQzRTtcclxufVxyXG5cclxuLyogSG92ZXIgZGV2aWNlIGNvbG9yICovXHJcbi5id2lyZWQtZ2xvYmFsLWZvb3Rlcjpob3ZlciBnIHBhdGgsIC5jb3JlLWRuYS1nbG9iYWwtZm9vdGVyOmhvdmVyIHBhdGgge1xyXG5cdGZpbGw6I2Y1ZjVmNTtcclxufVxyXG4iLCIvKmZpeCBmcm9tIHFhICBha2IgMTQuMDcuMjAxNSAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzAwcHgpe1xyXG5cdGhlYWRlciAuaGVhZC1tZW51ID4gLnJvdyAuY29sdW1ucyA+IHVsLCBoZWFkZXIgLmhlYWQtbWVudSA+IC5yb3ctZXhwYW5kZWQgLmNvbHVtbnMgPiB1bHtcclxuXHRcdC8qIHdpZHRoOiAxMDUlOyAqL1xyXG5cdH1cclxuXHRoZWFkZXIgLmhlYWQtbWVudT4ucm93IC5jb2x1bW5zPnVsLCBoZWFkZXIgLmhlYWQtbWVudT4ucm93LWV4cGFuZGVkIC5jb2x1bW5zPnVsIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcblx0fVxyXG5cdGhlYWRlciAuaGVhZC1tZW51Pi5yb3cgLmNvbHVtbnM+dWw+bGk6bm90KDpmaXJzdC1jaGlsZCksIGhlYWRlciAuaGVhZC1tZW51Pi5yb3ctZXhwYW5kZWQgLmNvbHVtbnM+dWw+bGk6bm90KDpmaXJzdC1jaGlsZCkge1xyXG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRyaWdodDogMDtcclxuXHR9XHJcbn1cclxuaGVhZGVyIC5oZWFkLW1lbnU+LnJvdyAuY29sdW1ucz51bD5saTpub3QoOmZpcnN0LWNoaWxkKSwgaGVhZGVyIC5oZWFkLW1lbnU+LnJvdy1leHBhbmRlZCAuY29sdW1ucz51bD5saTpub3QoOmZpcnN0LWNoaWxkKSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbmhlYWRlciAuaGVhZC1tZW51Pi5yb3cgLmNvbHVtbnM+dWwsIGhlYWRlciAuaGVhZC1tZW51Pi5yb3ctZXhwYW5kZWQgLmNvbHVtbnM+dWx7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuaGVhZGVyIC5oZWFkLW1lbnU+LnJvdyAuY29sdW1ucz51bD5saSxcclxuaGVhZGVyIC5oZWFkLW1lbnU+LnJvdy1leHBhbmRlZCAuY29sdW1ucz51bD5saXtcclxuXHRmbG9hdDogbm9uZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuaGVhZGVyIC5oZWFkLW1lbnU+LnJvdyAuY29sdW1ucz51bCAuc2VhcmNoLWdyb3Vwe1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5oZWFkZXIgLmhlYWQtbWVudSAuc3ViLW1lbnV7XHJcblx0ei1pbmRleDogMTE7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE0MHB4KSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuXHRoZWFkZXIgLm1lZGl1bS11cC1mb3JtIC50ZXh0ZmllbGQtaG9sZGVye1xyXG5cdFx0d2lkdGg6IDg1JTtcclxuXHR9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuXHRoZWFkZXIgLm1lZGl1bS11cC1mb3JtIC50ZXh0ZmllbGQtaG9sZGVye1xyXG5cdFx0d2lkdGg6IDg4JTtcclxuXHR9XHJcblx0aGVhZGVyIC5tZWRpdW0tdXAtZm9ybSAuY2xvc2UtZmllbGR7XHJcblx0XHRyaWdodDogMjBweDtcclxuXHR9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuXHQuY29udHJvbGxlcnMgYXtcclxuXHJcblx0fVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCl7XHJcblx0LmNvbnRyb2xsZXJzIGF7XHJcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHR9XHJcblx0LmNvbnRyb2xsZXJzIGEuZmxleC1tb2QtbmV4dHtcclxuXHRcdHRvcDogOTVweDtcclxuXHR9XHJcbn1cclxuLm1haW4tY29udGVudCBpbWd7XHJcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHRoZWlnaHQ6ICBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuLmhvbWUtYmFubmVyIC5iYW5uZXItZGVzYyAuYnV0dG9uLXBsdXM6OmFmdGVyLFxyXG4uYnV0dG9uLXBsdXM6YWZ0ZXIsIC5idXR0b24tcGx1cy1hbHQ6YWZ0ZXIsIC5idXR0b24tcGx1cy1mdWxsOmFmdGVyLCAuYnV0dG9uLXBsdXMtZnVsbC1hbHQ6YWZ0ZXJ7XHJcblx0Zm9udC1zaXplOiAxLjNyZW07XHJcbn1cclxuXHJcbi5jdGEtYmxvY2suZXZlbnRzLWJsb2NrIHVsIGxpIGEgaS5pY29uLXJpZ2h0LW9wZW46YmVmb3Jle1xyXG5wb3NpdGlvbjogYWJzb2x1dGU7XHJcbmxlZnQ6IDBweDtcclxubGluZS1oZWlnaHQ6IDQwcHg7XHJcbm1hcmdpbi1sZWZ0OiAwLjM1ZW07XHJcbi8qIGJvdHRvbTogLTFweDsgKi9cclxudG9wOiAxcHg7XHJcbmZvbnQtc2l6ZTogMjVweDtcclxufVxyXG5cclxuLnBhcnRuZXJzLWJsb2Nre1xyXG5cdC5wYXJ0bmVyLXNsaWRlci1ibG9ja3tcclxuXHRcdC5pY29uLWxlZnQ6YmVmb3JlLFxyXG5cdFx0Lmljb24tcmlnaHQ6YmVmb3Jle1xyXG5cdFx0ICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xyXG5cdFx0ICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuXHRcdCAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG5cdFx0ICB0b3A6IDAgIWltcG9ydGFudDtcclxuXHRcdCAgd2lkdGg6IDIycHggIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ldmVudHMtYmxvY2sgLmN0YS10aXRsZSBzcGFuOjphZnRlcntcclxuXHRmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcclxufSIsIiRvbmx5VGlueTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpJztcclxuJHRpbnk6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ0MHB4KSc7XHJcbiRzbWFsbDogJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQycHgpJztcclxuJG1lZGl1bTogJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSc7XHJcbiRsYXJnZTogJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSc7XHJcblxyXG4uY29mZmVlIHtcclxuICBcclxuICBtYXJnaW4tdG9wOiAtMzNweDtcclxuXHJcblxyXG4gIEBtZWRpYSAjeyRzbWFsbH0ge1xyXG4gICAgbWFyZ2luLXRvcDogLTYycHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgI3skbWVkaXVtfSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzNweDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRsYXJnZX0ge1xyXG4gICAgbWFyZ2luLXRvcDogLTEwM3B4O1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgY29sb3I6ICNiMjA4Mzg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxuXHJcbiAgICBAbWVkaWEgI3skbWVkaXVtfSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDFlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS40ZW07XHJcbiAgfVxyXG4gIFxyXG4gIC5idXR0b24tY3RhIHtcclxuICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAmLnNjcm9sbC10byB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQ6ICNhMmEyYTI7XHJcbiAgICB9XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgcGFkZGluZzogLjc1ZW0gMmVtO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogI2IyMDgzODtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZy10b3A6IDE1NyU7XHJcblxyXG4gICAgICBAbWVkaWEgI3skc21hbGx9IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzclO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICAgXHJcbiAgICAuYmFubmVyX19pbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nOiAxZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmJhbm5lcl9fY29udGVudCB7XHJcbiAgICAgIGgxLCBoMiwgaDMge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skb25seVRpbnl9IHtcclxuICAgICAgLmJhbm5lcl9faW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDRlbSAxZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgQG1lZGlhICN7JHRpbnl9IHtcclxuICAgICAgLmJhbm5lcl9fY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgI3skbWVkaXVtfSB7XHJcbiAgICAgIC5iYW5uZXJfX2NvbnRlbnQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0xMCUpO1xyXG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2VzIHtcclxuICAgICAgLmltYWdlIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsfSB7XHJcbiAgICAgICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMCU7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xyXG4gICAgICAgIH0gXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pbWFnZS0tZnVsbCB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dvIHtcclxuXHJcbiAgICAgICYubG9nby0tc3VwcG9ydGVycyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNGVtO1xyXG4gICAgICAgIC5sb2dvX19pbWFnZSB7XHJcbiAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubG9nby0taGVhZGVyIHtcclxuICAgICAgICAubG9nb19faW1hZ2Uge1xyXG4gICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2dvX19oZWFkZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmxvZ29fX2hlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0yZW07XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5sb2dvX19pbWFnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAoNTAwIC8gNzgpICsgMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubG9nb19fY29udGVudCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdyB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMWVtIDFlbTtcclxuICAgICAgQG1lZGlhICN7JHNtYWxsfSB7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMmVtIDFlbSAwO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW19IHtcclxuICAgICAgICBwYWRkaW5nOiAyZW0gMWVtIDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAgIFxyXG4gICAgLmF0dGFjaG1lbnQtLXd5c2l3eWcge1xyXG5cclxuICAgICAgLmF0dGFjaG1lbnRfX2NvbnRlbnQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRhYmxlIHtcclxuICAgICAgICBcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDFlbTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHJcbiAgICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgY29sb3I6ICM5MzdlNzQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbG9yOiAjYjIwODM4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIH1cclxuXHJcbiAgICAuYXR0YWNobWVudC0tbGVmdCAuYXR0YWNobWVudF9faW1hZ2UsXHJcbiAgICAucHJvZHVjdF9faW1hZ2Uge1xyXG4gICAgICBAbWVkaWEgI3skc21hbGx9IHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hdHRhY2htZW50LS1yaWdodCAuYXR0YWNobWVudF9faW1hZ2Uge1xyXG4gICAgICBAbWVkaWEgI3skc21hbGx9IHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hdHRhY2htZW50X19pbWFnZSxcclxuICAgIC5wcm9kdWN0X19pbWFnZSB7XHJcbiAgICAgIFxyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xyXG4gICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgIH1cclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcclxuICAgICAgICAvLyBAbWVkaWEgI3skdGlueX0ge1xyXG4gICAgICAgIC8vICAgcGFkZGluZy10b3A6IDU3LjI1JTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdCB7XHJcbiAgICAgIC5ka19jb250YWluZXIge1xyXG4gICAgICAgIGZsb2F0OiBpbml0aWFsO1xyXG4gICAgICB9XHJcbiAgICAgIC5wcm9kdWN0X19oZWFkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgLnByb2R1Y3RfX2NvbnRlbnQge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICAgIC5wcm9kdWN0X19jb250ZW50IHAge1xyXG4gICAgICAgIGNvbG9yOiAjOTM3ZTc0O1xyXG4gICAgICB9XHJcbiAgICAgIC5wcm9kdWN0X19jdGEge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByaW50IHN0eWxlcy5cclxuICAgSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IGg1YnAuY29tL3JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIHByaW50IHtcclxuICAgICoge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGEsXHJcbiAgICBhOnZpc2l0ZWQge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIGFbaHJlZl06YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xyXG4gICAgfVxyXG5cclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xyXG4gICAgICovXHJcblxyXG4gICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXHJcbiAgICBhW2hyZWZePVwiI1wiXTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwcmUsXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvKiBoNWJwLmNvbS90ICovXHJcbiAgICB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBwYWdlIHtcclxuICAgICAgICBtYXJnaW46IDAuNWNtO1xyXG4gICAgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgICBvcnBoYW5zOiAzO1xyXG4gICAgICAgIHdpZG93czogMztcclxuICAgIH1cclxuXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICAuaGlkZS1mb3ItcHJpbnR7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufSJdLCJtYXBwaW5ncyI6IkFHQUE7OztHQUdHO0FDSEg7OztHQUdHO0FDSEg7OztHQUdHO0EwRG9PSDs7OytCQUcrQjtBSW9NM0IsQUFBSSxJQUFBLEFBQUEsbUJBQW1CLENBQUM7RUFDdEIsV0FBVyxFQUFFLFNBQVUsR0FDeEI7O0FBRUQsQUFBSSxJQUFBLEFBQUEsb0JBQW9CLENBQUM7RUFDdkIsV0FBVyxFQUFFLGVBQUc7RUFDaEIsS0FBSyxFQWpFTSxDQUFDLEdBa0ViOztBQUVELEFBQUksSUFBQSxBQUFBLHlCQUF5QixDQUFDO0VBQzVCLFdBQVcsRUFBRSxxQ0FBRztFQUNoQixLQUFLLEVBdEVNLENBQUMsR0F1RWI7O0FBRUQsQUFBSSxJQUFBLEFBQUEscUJBQXFCLENBQUM7RUFDeEIsV0FBVyxFQUFFLHdDQUFHO0VBQ2hCLEtBQUssRUpwUkssUUFBUSxHSXFSbkI7O0FBRUQsQUFBSSxJQUFBLEFBQUEsMEJBQTBCLENBQUM7RUFDN0IsV0FBVyxFQUFFLDZEQUFHO0VBQ2hCLEtBQUssRUp6UkssUUFBUSxHSTBSbkI7O0FBRUQsQUFBSSxJQUFBLEFBQUEsb0JBQW9CLENBQUM7RUFDdkIsV0FBVyxFQUFFLHlDQUFHO0VBQ2hCLEtBQUssRUFuRk0sU0FBa0IsR0FvRjlCOztBQUVELEFBQUksSUFBQSxBQUFBLHlCQUF5QixDQUFDO0VBQzVCLFdBQVcsRUFBRSw4REFBRztFQUNoQixLQUFLLEVBeEZNLFNBQWtCLEdBeUY5Qjs7QUFFRCxBQUFJLElBQUEsQUFBQSxxQkFBcUIsQ0FBQztFQUN4QixXQUFXLEVBQUUseUNBQUc7RUFDaEIsS0FBSyxFQTVGTSxTQUFpQixHQTZGN0I7O0FBRUQsQUFBSSxJQUFBLEFBQUEsMEJBQTBCLENBQUM7RUFDN0IsV0FBVyxFQUFFLCtEQUFHO0VBQ2hCLEtBQUssRUFqR00sU0FBaUIsR0FrRzdCOztBQUVELEFBQUksSUFBQSxBQUFBLHNCQUFzQixDQUFDO0VBQ3pCLFdBQVcsRUFBRSwwQ0FBRztFQUNoQixLQUFLLEVBckdNLFVBQWtCLEdBc0c5Qjs7QUFFRCxBQUFJLElBQUEsQUFBQSxvQ0FBb0MsQ0FBQztFQUN2QyxXQUFXLEVBQUMsS0FBQyxHQUNkOztBQU9ELEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSSxDQUFDO0VBQUUsTUFBTSxFQUFFLElBQUssR0FBSTs7QUFHOUIsQUFBQSxDQUFDO0FBQ0QsQUFBQyxDQUFBLEFBQUEsT0FBTztBQUNSLEFBQUMsQ0FBQSxBQUFBLE1BQU0sQ0FBQztFQXpWVixrQkFBa0IsRUEwVk0sVUFBVTtFQXpWL0IsZUFBZSxFQXlWTSxVQUFVO0VBeFYxQixVQUFVLEVBd1ZNLFVBQVUsR0FDL0I7O0FBRUQsQUFBQSxJQUFJO0FBQ0osQUFBQSxJQUFJLENBQUM7RUFBRSxTQUFTLEV6Qi9lSCxJQUFJLEd5Qitlb0I7O0FBR3JDLEFBQUEsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQS9LTixJQUFJO0VBZ0xSLEtBQUssRUEvS08sSUFBSTtFQWdMaEIsTUFBTSxFQTNGUSxJQUFJO0VBNEZsQixXQUFXLEVBM0xRLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7RUE0THpFLFVBQVUsRUEvS0UsTUFBTTtFQWdMbEIsV0FBVyxFSmxhSSxNQUFNO0VJbWFyQixXQUFXLEV6QnRmRSxJQUFJO0V5QnVmakIsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsQ0FBRTtFQUNYLFFBQVEsRUFBRSxRQUFTLEdBQ3BCOztBQUVILEFBQUMsQ0FBQSxBQUFBLE1BQU0sQ0FBQztFQUFFLE1BQU0sRUFqR0ssT0FBTyxHQWlHZTs7QUFHekMsQUFBQSxHQUFHLENBQUM7RUFBRSxTQUFTLEVBQUUsSUFBSztFQUFFLE1BQU0sRUFBRSxJQUFLLEdBQUk7O0FBRXpDLEFBQUEsR0FBRyxDQUFDO0VBQUUsc0JBQXNCLEVBQUUsT0FBUSxHQUFJOztBQUUxQyxBQUdFLFdBSFMsQ0FHVCxHQUFHO0FBSEwsQUFJRSxXQUpTLENBSVQsS0FBSztBQUpQLEFBS0UsV0FMUyxDQUtULE1BQU07QUFKUixBQUVFLFdBRlMsQ0FFVCxHQUFHO0FBRkwsQUFHRSxXQUhTLENBR1QsS0FBSztBQUhQLEFBSUUsV0FKUyxDQUlULE1BQU07QUFIUixBQUNFLFlBRFUsQ0FDVixHQUFHO0FBREwsQUFFRSxZQUZVLENBRVYsS0FBSztBQUZQLEFBR0UsWUFIVSxDQUdWLE1BQU0sQ0FBQztFQUFFLFNBQVMsRUFBRSxlQUFnQixHQUNuQzs7QUFJSCxBQUFBLEtBQUssQ0FBQztFQUFFLEtBQUssRUFBRSxlQUFnQixHQUFJOztBQUNuQyxBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRUFBRSxnQkFBaUIsR0FBSTs7QUFDckMsQUFBQSxTQUFTLEFBdlNWLE9BQU8sRUF1U04sQUFBQSxTQUFTLEFBdlNBLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxHQUFJO0VBQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTs7QUF1U3BELEFBQUEsU0FBUyxBQXRTVixNQUFNLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJOztBQXlTeEIsQUFBQSxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSyxHQUNmOztBQUdELEFBQUEsVUFBVSxDQUFDO0VBQUUsVUFBVSxFQUFFLE1BQU8sR0FBSTs7QUFNcEMsQUFBQSxZQUFZLENBQUM7RUFBRSxzQkFBc0IsRUFBRSxXQUFZO0VBQUUsdUJBQXVCLEVBQUUsU0FBVSxHQUFJOztBQUc1RixBQUFBLEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLGNBQWMsRUFBRSxNQUFPLEdBQ3hCOztBQU9ELEFBQUEsUUFBUSxDQUFDO0VBQUUsTUFBTSxFQUFFLElBQUs7RUFBRSxVQUFVLEVBQUUsSUFBSyxHQUFJOztBQUcvQyxBQUFBLE1BQU0sQ0FBQztFQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7O0FEclZ6QixBQUFBLElBQUksRWtEOU5SLEFsRDhOSSxha0Q5TlMsQ2xEOE5KO0VBekpMLE1BQU0sRUFBRSxNQUFPO0VBQ2YsU0FBUyxFRnNCSCxTQUFVO0VFckJoQixLQUFLLEVBQUUsSUFBSyxHQW9LWDtFQWJELEFBQUEsSUFBSSxBQ2dCTCxPQUFPLEVpRDlPVixBbEQ4TkksYWtEOU5TLEFqRDhPVixPQUFPLEVEaEJOLEFBQUEsSUFBSSxBQ2dCSyxNQUFNLEVpRDlPbkIsQWxEOE5JLGFrRDlOUyxBakQ4T0EsTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLEdBQUk7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO0VEaEJwRCxBQUFBLElBQUksQUNpQkwsTUFBTSxFaUQvT1QsQWxEOE5JLGFrRDlOUyxBakQrT1YsTUFBTSxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFRGpCeEIsQUFJTyxJQUpILEFBR0QsU0FBUyxHQUNMLE9BQU8sRUFEWCxBQUNJLFNBREssQWtEak9oQixhQUFhLEdsRGtPRixPQUFPO0VBSmQsQUFLTyxJQUxILEFBR0QsU0FBUyxHQUVMLFFBQVEsRUFGWixBQUVJLFNBRkssQWtEak9oQixhQUFhLEdsRG1PRixRQUFRLENBQUM7SUF4SGhCLFlBQVksRUFBRSxDQUFFO0lBQ2hCLGFBQWEsRUFBRSxDQUFFLEdBdUh1RDtFQUx4RSxBQU9JLElBUEEsQUFHRCxTQUFTLENBSVIsSUFBSSxFQUpMLEFBSUMsU0FKUSxBa0RqT2hCLGFBQWEsQ2xEcU9MLElBQUksRUFQUixBQU9JLElBUEEsQUFHRCxTQUFTLENrRGpPaEIsYUFBYSxFbERpT04sQUFJQyxTQUpRLEFrRGpPaEIsYUFBYSxDQUFiLGFBQWEsQ2xEcU9BO0lBQUMsV0FBVyxFQUFDLENBQUU7SUFBRSxZQUFZLEVBQUMsQ0FBRSxHQUFHO0VBUDVDLEFBVUUsSUFWRSxDQVVGLElBQUksRWtEeE9WLEFsRHdPTSxha0R4T08sQ2xEd09QLElBQUksRUFWTixBQVVFLElBVkUsQ2tEOU5SLGFBQWEsRUFBYixBbER3T00sYWtEeE9PLENBQWIsYUFBYSxDbER3T0Y7SUF4TFAsTUFBTSxFQUFFLENBQUMsQ0FBSSxVQUFjO0lBQzNCLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFLLEdBd0xUO0lBWkgsQUFVRSxJQVZFLENBVUYsSUFBSSxBQ01QLE9BQU8sRWlEOU9WLEFsRHdPTSxha0R4T08sQ2xEd09QLElBQUksQUNNUCxPQUFPLEVEaEJOLEFBVUUsSUFWRSxDa0Q5TlIsYUFBYSxBakQ4T1YsT0FBTyxFaUQ5T1YsQWxEd09NLGFrRHhPTyxDQUFiLGFBQWEsQWpEOE9WLE9BQU8sRURoQk4sQUFVRSxJQVZFLENBVUYsSUFBSSxBQ01HLE1BQU0sRWlEOU9uQixBbER3T00sYWtEeE9PLENsRHdPUCxJQUFJLEFDTUcsTUFBTSxFRGhCZixBQVVFLElBVkUsQ2tEOU5SLGFBQWEsQWpEOE9BLE1BQU0sRWlEOU9uQixBbER3T00sYWtEeE9PLENBQWIsYUFBYSxBakQ4T0EsTUFBTSxDQUFDO01BQUUsT0FBTyxFQUFFLEdBQUk7TUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO0lEaEJwRCxBQVVFLElBVkUsQ0FVRixJQUFJLEFDT1AsTUFBTSxFaUQvT1QsQWxEd09NLGFrRHhPTyxDbER3T1AsSUFBSSxBQ09QLE1BQU0sRURqQkwsQUFVRSxJQVZFLENrRDlOUixhQUFhLEFqRCtPVixNQUFNLEVpRC9PVCxBbER3T00sYWtEeE9PLENBQWIsYUFBYSxBakQrT1YsTUFBTSxDQUFDO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJRGpCeEIsQUFVRSxJQVZFLENBVUYsSUFBSSxBQUNELFNBQVMsRWtEek9sQixBbER3T00sYWtEeE9PLENsRHdPUCxJQUFJLEFBQ0QsU0FBUyxFQVhkLEFBVUUsSUFWRSxDQVdDLFNBQVMsQWtEek9sQixhQUFhLEVBQWIsQWxEd09NLGFrRHhPTyxDbER5T0osU0FBUyxBa0R6T2xCLGFBQWEsQ2xEeU9NO01BM0tmLE1BQU0sRUFBRSxDQUFFO01BQ1YsU0FBUyxFQUFFLElBQUs7TUFDaEIsS0FBSyxFQUFFLElBQUssR0F5S21EO01BWC9ELEFBVUUsSUFWRSxDQVVGLElBQUksQUFDRCxTQUFTLEFDS2YsT0FBTyxFaUQ5T1YsQWxEd09NLGFrRHhPTyxDbER3T1AsSUFBSSxBQUNELFNBQVMsQUNLZixPQUFPLEVEaEJOLEFBVUUsSUFWRSxDQVdDLFNBQVMsQWtEek9sQixhQUFhLEFqRDhPVixPQUFPLEVpRDlPVixBbER3T00sYWtEeE9PLENsRHlPSixTQUFTLEFrRHpPbEIsYUFBYSxBakQ4T1YsT0FBTyxFRGhCTixBQVVFLElBVkUsQ0FVRixJQUFJLEFBQ0QsU0FBUyxBQ0tMLE1BQU0sRWlEOU9uQixBbER3T00sYWtEeE9PLENsRHdPUCxJQUFJLEFBQ0QsU0FBUyxBQ0tMLE1BQU0sRURoQmYsQUFVRSxJQVZFLENBV0MsU0FBUyxBa0R6T2xCLGFBQWEsQWpEOE9BLE1BQU0sRWlEOU9uQixBbER3T00sYWtEeE9PLENsRHlPSixTQUFTLEFrRHpPbEIsYUFBYSxBakQ4T0EsTUFBTSxDQUFDO1FBQUUsT0FBTyxFQUFFLEdBQUk7UUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO01EaEJwRCxBQVVFLElBVkUsQ0FVRixJQUFJLEFBQ0QsU0FBUyxBQ01mLE1BQU0sRWlEL09ULEFsRHdPTSxha0R4T08sQ2xEd09QLElBQUksQUFDRCxTQUFTLEFDTWYsTUFBTSxFRGpCTCxBQVVFLElBVkUsQ0FXQyxTQUFTLEFrRHpPbEIsYUFBYSxBakQrT1YsTUFBTSxFaUQvT1QsQWxEd09NLGFrRHhPTyxDbER5T0osU0FBUyxBa0R6T2xCLGFBQWEsQWpEK09WLE1BQU0sQ0FBQztRQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7O0FERnhCLEFBQUEsT0FBTztBQUNQLEFBQUEsUUFBUSxDQUFDO0VBNUhULFlBQVksRUFBRyxTQUFjO0VBQzdCLGFBQWEsRUFBRyxTQUFjO0VBSzlCLEtBQUssRUF6RkUsSUFBVTtFQW9Hc0IsS0FBSyxFQ2tOOUIsSUFBSSxHRHZHMEM7O0FBRTVELEFBQUEsT0FBTyxHQUFQLE9BQU8sQUFFQSxXQUFXO0FBRGxCLEFBREEsUUFDUSxHQURSLE9BQU8sQUFFQSxXQUFXLEVBRmxCLEFBQ0EsT0FETztBQUNQLFFBQVEsQUFDRCxXQUFXO0FBRGxCLEFBQUEsUUFBUTtBQUFSLFFBQVEsQUFDRCxXQUFXLENBQUM7RUFDZixLQUFLLEVDbUdVLEtBQUssR0RsR3JCOztBQUpILEFBQUEsT0FBTyxHQUFQLE9BQU8sQUFLQSxJQUFJO0FBSlgsQUFEQSxRQUNRLEdBRFIsT0FBTyxBQUtBLElBQUksRUFMWCxBQUNBLE9BRE87QUFDUCxRQUFRLEFBSUQsSUFBSTtBQUpYLEFBQUEsUUFBUTtBQUFSLFFBQVEsQUFJRCxJQUFJLENBQUM7RUFDUixLQUFLLEVDK0ZLLElBQUksR0Q5RmY7O0FBR0gsTUFBTSxNQUFELE1BQU07RUFoR1gsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUEvRkEsQ0FBQztJQStGbUMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBaEdMLENBQUM7SUFnR3dDLElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGFBQWEsQ0FBYjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsUUFBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixRQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGFBQWEsQ0FBYjtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsYUFBYSxDQUFiO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixHQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxhQUFhLENBQWI7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLEdBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGFBQWEsQ0FBYjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGFBQWEsQ0FBYjtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsYUFBYSxDQUFiO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixHQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxhQUFhLENBQWI7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLEdBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGFBQWEsQ0FBYjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGFBQWEsQ0FBYjtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsYUFBYSxDQUFiO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixHQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxhQUFhLENBQWI7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLEdBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGNBQWMsQ0FBZDtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxjQUFjLENBQWQ7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUdILEFBQUEsT0FBTztFQUNQLEFBQUEsUUFBUSxDQUFDO0lBN0RQLFFBQVEsRUFBRSxRQUFTO0lBWW5CLFlBQVksRUFBRyxTQUFjO0lBQzdCLGFBQWEsRUFBRyxTQUFjO0lBZ0JTLEtBQUssRUNrTjlCLElBQUksR0RsTCtDO0VBSWpFLEFBQUEsUUFBUSxDQUFSO0lBL0NBLEtBQUssRUF6RkUsUUFBVSxHQXdJb0Q7RUFBckUsQUFBQSxRQUFRLENBQVI7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFFBQVEsQ0FBUjtJQS9DQSxLQUFLLEVBekZFLEdBQVUsR0F3SW9EO0VBQXJFLEFBQUEsUUFBUSxDQUFSO0lBL0NBLEtBQUssRUF6RkUsU0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxRQUFRLENBQVI7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFFBQVEsQ0FBUjtJQS9DQSxLQUFLLEVBekZFLEdBQVUsR0F3SW9EO0VBQXJFLEFBQUEsUUFBUSxDQUFSO0lBL0NBLEtBQUssRUF6RkUsU0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxRQUFRLENBQVI7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFFBQVEsQ0FBUjtJQS9DQSxLQUFLLEVBekZFLEdBQVUsR0F3SW9EO0VBQXJFLEFBQUEsU0FBUyxDQUFUO0lBL0NBLEtBQUssRUF6RkUsU0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxTQUFTLENBQVQ7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFNBQVMsQ0FBVDtJQS9DQSxLQUFLLEVBekZFLElBQVUsR0F3SW9EO0VBSXJFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBaEhULENBQUMsQ0FnSG9ELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBakg3QixRQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGVBQWUsQ0FBZjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxlQUFlLENBQWY7SUEzQlksV0FBd0IsRUFqSDdCLEdBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGVBQWUsQ0FBZjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxlQUFlLENBQWY7SUEzQlksV0FBd0IsRUFqSDdCLEdBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGVBQWUsQ0FBZjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxlQUFlLENBQWY7SUEzQlksV0FBd0IsRUFqSDdCLEdBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZ0JBQWdCLENBQWhCO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGdCQUFnQixDQUFoQjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFHdEUsQUFBQSxrQkFBa0IsQ0FBbEI7SUFDRSxLQUFLLEVDc0tTLElBQUk7SURyS2xCLElBQUksRUFBRSxJQUFLO0lBQ1gsV0FBd0IsRUFBUyxDQUFFO0lBQ25DLFlBQTZCLEVBQVMsQ0FBRTtJQUN4QyxLQUFLLEVBQUUsSUFBSyxHQUNiO0VBRUQsQUFBTyxPQUFBLEFBQUEsZUFBZTtFQUN0QixBQUFRLFFBQUEsQUFBQSxlQUFlLENBRHZCO0lBNUNFLFdBQXdCLEVBQVMsSUFBSztJQUN0QyxZQUE2QixFQUFTLElBQUs7SUFDM0MsS0FBSyxFQUFFLElBQUssR0EwQ3dEO0VBRXRFLEFBQU8sT0FBQSxBQUFBLGlCQUFpQjtFQUN4QixBQUFRLFFBQUEsQUFBQSxpQkFBaUIsQ0FEekI7SUFDRSxLQUFLLEVDNEpTLElBQUk7SUQzSmxCLFdBQXdCLEVBQVMsQ0FBRTtJQUNuQyxZQUE2QixFQUFTLENBQUUsR0FDekM7RUFHRCxBQUFzQixPQUFmLEFBQUEsZUFBZSxBQUFBLFdBQVc7RUFDakMsQUFBdUIsUUFBZixBQUFBLGVBQWUsQUFBQSxXQUFXLENBRGxDO0lBQ0UsS0FBSyxFQUFFLElBQUssR0FDYjtFQUdELEFBQXdCLE9BQWpCLEFBQUEsaUJBQWlCLEFBQUEsV0FBVztFQUNuQyxBQUF5QixRQUFqQixBQUFBLGlCQUFpQixBQUFBLFdBQVcsQ0FEcEM7SUFDRSxLQUFLLEVDZ0pTLElBQUksR0QvSW5CO0VBRUQsQUFBd0IsT0FBakIsQUFBQSxpQkFBaUIsQUFBQSxTQUFTO0VBQ2pDLEFBQXlCLFFBQWpCLEFBQUEsaUJBQWlCLEFBQUEsU0FBUyxDQURsQztJQUNFLEtBQUssRUM2SWMsS0FBSyxHRDVJekI7RUFFRCxBQUVNLElBRkYsQUFDRCxlQUFlLEdBQ1osT0FBTyxFQURWLEFBQ0csZUFEWSxBa0Q3TXBCLGFBQWEsR2xEOE1MLE9BQU87RUFGYixBQUdNLElBSEYsQUFDRCxlQUFlLEdBRVosUUFBUSxFQUZYLEFBRUcsZUFGWSxBa0Q3TXBCLGFBQWEsR2xEK01MLFFBQVEsQ0FBQztJQXBHYixZQUFZLEVBQUUsQ0FBRTtJQUNoQixhQUFhLEVBQUUsQ0FBRSxHQW1Hb0Q7RUFIdkUsQUFLSSxJQUxBLEFBQ0QsZUFBZSxDQUlkLElBQUksRUFKTCxBQUlDLGVBSmMsQWtEN01wQixhQUFhLENsRGlOUCxJQUFJLEVBTFIsQUFLSSxJQUxBLEFBQ0QsZUFBZSxDa0Q3TXBCLGFBQWEsRWxENk1SLEFBSUMsZUFKYyxBa0Q3TXBCLGFBQWEsQ0FBYixhQUFhLENsRGlORjtJQUFDLFdBQVcsRUFBQyxDQUFFO0lBQUUsWUFBWSxFQUFDLENBQUUsR0FBRztFQUw1QyxBQVFNLElBUkYsQUFPRCxpQkFBaUIsR0FDZCxPQUFPLEVBRFYsQUFDRyxpQkFEYyxBa0RuTnRCLGFBQWEsR2xEb05MLE9BQU87RUFSYixBQVNNLElBVEYsQUFPRCxpQkFBaUIsR0FFZCxRQUFRLEVBRlgsQUFFRyxpQkFGYyxBa0RuTnRCLGFBQWEsR2xEcU5MLFFBQVEsQ0FBQztJQW5HYixZQUFZLEVBQUcsU0FBYztJQUM3QixhQUFhLEVBQUcsU0FBYztJQWdCUyxLQUFLLEVDa045QixJQUFJLEdEOUhmOztBQXVDSCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0VBcEduQyxBQUFBLGNBQWMsQ0FBZDtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQS9GQSxDQUFDO0lBK0ZtQyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFoR0wsQ0FBQztJQWdHd0MsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsY0FBYyxDQUFkO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixRQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFFBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGNBQWMsQ0FBZDtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxjQUFjLENBQWQ7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLEdBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsR0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsY0FBYyxDQUFkO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGNBQWMsQ0FBZDtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxjQUFjLENBQWQ7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLEdBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsR0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsY0FBYyxDQUFkO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGNBQWMsQ0FBZDtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxjQUFjLENBQWQ7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLEdBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsR0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsZUFBZSxDQUFmO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxlQUFlLENBQWY7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGVBQWUsQ0FBZjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsZUFBZSxDQUFmO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBR0gsQUFBQSxPQUFPO0VBQ1AsQUFBQSxRQUFRLENBQUM7SUE3RFAsUUFBUSxFQUFFLFFBQVM7SUFZbkIsWUFBWSxFQUFHLFNBQWM7SUFDN0IsYUFBYSxFQUFHLFNBQWM7SUFnQlMsS0FBSyxFQ2tOOUIsSUFBSSxHRGxMK0M7RUFJakUsQUFBQSxTQUFTLENBQVQ7SUEvQ0EsS0FBSyxFQXpGRSxRQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFNBQVMsQ0FBVDtJQS9DQSxLQUFLLEVBekZFLFNBQVUsR0F3SW9EO0VBQXJFLEFBQUEsU0FBUyxDQUFUO0lBL0NBLEtBQUssRUF6RkUsR0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxTQUFTLENBQVQ7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFNBQVMsQ0FBVDtJQS9DQSxLQUFLLEVBekZFLFNBQVUsR0F3SW9EO0VBQXJFLEFBQUEsU0FBUyxDQUFUO0lBL0NBLEtBQUssRUF6RkUsR0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxTQUFTLENBQVQ7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFNBQVMsQ0FBVDtJQS9DQSxLQUFLLEVBekZFLFNBQVUsR0F3SW9EO0VBQXJFLEFBQUEsU0FBUyxDQUFUO0lBL0NBLEtBQUssRUF6RkUsR0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxVQUFVLENBQVY7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFVBQVUsQ0FBVjtJQS9DQSxLQUFLLEVBekZFLFNBQVUsR0F3SW9EO0VBQXJFLEFBQUEsVUFBVSxDQUFWO0lBL0NBLEtBQUssRUF6RkUsSUFBVSxHQXdJb0Q7RUFJckUsQUFBQSxnQkFBZ0IsQ0FBaEI7SUEzQlksV0FBd0IsRUFoSFQsQ0FBQyxDQWdIb0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxnQkFBZ0IsQ0FBaEI7SUEzQlksV0FBd0IsRUFqSDdCLFFBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZ0JBQWdCLENBQWhCO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGdCQUFnQixDQUFoQjtJQTNCWSxXQUF3QixFQWpIN0IsR0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxnQkFBZ0IsQ0FBaEI7SUEzQlksV0FBd0IsRUFqSDdCLFNBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZ0JBQWdCLENBQWhCO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGdCQUFnQixDQUFoQjtJQTNCWSxXQUF3QixFQWpIN0IsR0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxnQkFBZ0IsQ0FBaEI7SUEzQlksV0FBd0IsRUFqSDdCLFNBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZ0JBQWdCLENBQWhCO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGdCQUFnQixDQUFoQjtJQTNCWSxXQUF3QixFQWpIN0IsR0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxpQkFBaUIsQ0FBakI7SUEzQlksV0FBd0IsRUFqSDdCLFNBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsaUJBQWlCLENBQWpCO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUd0RSxBQUFBLG1CQUFtQixDQUFuQjtJQUNFLEtBQUssRUNzS1MsSUFBSTtJRHJLbEIsSUFBSSxFQUFFLElBQUs7SUFDWCxXQUF3QixFQUFTLENBQUU7SUFDbkMsWUFBNkIsRUFBUyxDQUFFO0lBQ3hDLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUFFRCxBQUFPLE9BQUEsQUFBQSxnQkFBZ0I7RUFDdkIsQUFBUSxRQUFBLEFBQUEsZ0JBQWdCLENBRHhCO0lBNUNFLFdBQXdCLEVBQVMsSUFBSztJQUN0QyxZQUE2QixFQUFTLElBQUs7SUFDM0MsS0FBSyxFQUFFLElBQUssR0EwQ3dEO0VBRXRFLEFBQU8sT0FBQSxBQUFBLGtCQUFrQjtFQUN6QixBQUFRLFFBQUEsQUFBQSxrQkFBa0IsQ0FEMUI7SUFDRSxLQUFLLEVDNEpTLElBQUk7SUQzSmxCLFdBQXdCLEVBQVMsQ0FBRTtJQUNuQyxZQUE2QixFQUFTLENBQUUsR0FDekM7RUFHRCxBQUF1QixPQUFoQixBQUFBLGdCQUFnQixBQUFBLFdBQVc7RUFDbEMsQUFBd0IsUUFBaEIsQUFBQSxnQkFBZ0IsQUFBQSxXQUFXLENBRG5DO0lBQ0UsS0FBSyxFQUFFLElBQUssR0FDYjtFQUdELEFBQXlCLE9BQWxCLEFBQUEsa0JBQWtCLEFBQUEsV0FBVztFQUNwQyxBQUEwQixRQUFsQixBQUFBLGtCQUFrQixBQUFBLFdBQVcsQ0FEckM7SUFDRSxLQUFLLEVDZ0pTLElBQUksR0QvSW5CO0VBRUQsQUFBeUIsT0FBbEIsQUFBQSxrQkFBa0IsQUFBQSxTQUFTO0VBQ2xDLEFBQTBCLFFBQWxCLEFBQUEsa0JBQWtCLEFBQUEsU0FBUyxDQURuQztJQUNFLEtBQUssRUM2SWMsS0FBSyxHRDVJekI7RUFFRCxBQUVNLElBRkYsQUFDRCxnQkFBZ0IsR0FDYixPQUFPLEVBRFYsQUFDRyxnQkFEYSxBa0Q3TXJCLGFBQWEsR2xEOE1MLE9BQU87RUFGYixBQUdNLElBSEYsQUFDRCxnQkFBZ0IsR0FFYixRQUFRLEVBRlgsQUFFRyxnQkFGYSxBa0Q3TXJCLGFBQWEsR2xEK01MLFFBQVEsQ0FBQztJQXBHYixZQUFZLEVBQUUsQ0FBRTtJQUNoQixhQUFhLEVBQUUsQ0FBRSxHQW1Hb0Q7RUFIdkUsQUFLSSxJQUxBLEFBQ0QsZ0JBQWdCLENBSWYsSUFBSSxFQUpMLEFBSUMsZ0JBSmUsQWtEN01yQixhQUFhLENsRGlOUCxJQUFJLEVBTFIsQUFLSSxJQUxBLEFBQ0QsZ0JBQWdCLENrRDdNckIsYUFBYSxFbEQ2TVIsQUFJQyxnQkFKZSxBa0Q3TXJCLGFBQWEsQ0FBYixhQUFhLENsRGlORjtJQUFDLFdBQVcsRUFBQyxDQUFFO0lBQUUsWUFBWSxFQUFDLENBQUUsR0FBRztFQUw1QyxBQVFNLElBUkYsQUFPRCxrQkFBa0IsR0FDZixPQUFPLEVBRFYsQUFDRyxrQkFEZSxBa0RuTnZCLGFBQWEsR2xEb05MLE9BQU87RUFSYixBQVNNLElBVEYsQUFPRCxrQkFBa0IsR0FFZixRQUFRLEVBRlgsQUFFRyxrQkFGZSxBa0RuTnZCLGFBQWEsR2xEcU5MLFFBQVEsQ0FBQztJQW5HYixZQUFZLEVBQUcsU0FBYztJQUM3QixhQUFhLEVBQUcsU0FBYztJQWdCUyxLQUFLLEVDa045QixJQUFJLEdEOUhmO0VBMkNDLEFBQUEsT0FBTyxDQUFQO0lBNUpKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBL0ZBLENBQUM7SUErRm1DLEtBQXNCLEVBQUUsSUFBSyxHQXFJdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQS9KSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWhHTCxDQUFDO0lBZ0d3QyxJQUFpQixFQUFFLElBQUssR0F1SXZGO0VBTEQsQUFBQSxPQUFPLENBQVA7SUE1SkosUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFFBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQXFJdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQS9KSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsUUFBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBdUl2RjtFQUxELEFBQUEsT0FBTyxDQUFQO0lBNUpKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FxSXZGO0VBQ0QsQUFBQSxPQUFPLENBQVA7SUEvSkosUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQXVJdkY7RUFMRCxBQUFBLE9BQU8sQ0FBUDtJQTVKSixRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsR0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBcUl2RjtFQUNELEFBQUEsT0FBTyxDQUFQO0lBL0pKLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixHQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0F1SXZGO0VBTEQsQUFBQSxPQUFPLENBQVA7SUE1SkosUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQXFJdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQS9KSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBdUl2RjtFQUxELEFBQUEsT0FBTyxDQUFQO0lBNUpKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FxSXZGO0VBQ0QsQUFBQSxPQUFPLENBQVA7SUEvSkosUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQXVJdkY7RUFMRCxBQUFBLE9BQU8sQ0FBUDtJQTVKSixRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsR0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBcUl2RjtFQUNELEFBQUEsT0FBTyxDQUFQO0lBL0pKLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixHQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0F1SXZGO0VBTEQsQUFBQSxPQUFPLENBQVA7SUE1SkosUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQXFJdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQS9KSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBdUl2RjtFQUxELEFBQUEsT0FBTyxDQUFQO0lBNUpKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FxSXZGO0VBQ0QsQUFBQSxPQUFPLENBQVA7SUEvSkosUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQXVJdkY7RUFMRCxBQUFBLE9BQU8sQ0FBUDtJQTVKSixRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsR0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBcUl2RjtFQUNELEFBQUEsT0FBTyxDQUFQO0lBL0pKLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixHQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0F1SXZGO0VBTEQsQUFBQSxRQUFRLENBQVI7SUE1SkosUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQXFJdkY7RUFDRCxBQUFBLFFBQVEsQ0FBUjtJQS9KSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBdUl2RjtFQUxELEFBQUEsUUFBUSxDQUFSO0lBNUpKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FxSXZGO0VBQ0QsQUFBQSxRQUFRLENBQVI7SUEvSkosUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQXVJdkY7O0FBR0wsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUztFQWhIcEMsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUEvRkEsQ0FBQztJQStGbUMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBaEdMLENBQUM7SUFnR3dDLElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGFBQWEsQ0FBYjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsUUFBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixRQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGFBQWEsQ0FBYjtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsYUFBYSxDQUFiO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixHQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxhQUFhLENBQWI7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLEdBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGFBQWEsQ0FBYjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGFBQWEsQ0FBYjtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsYUFBYSxDQUFiO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixHQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxhQUFhLENBQWI7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLEdBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGFBQWEsQ0FBYjtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsYUFBYSxDQUFiO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxhQUFhLENBQWI7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGFBQWEsQ0FBYjtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUxELEFBQUEsYUFBYSxDQUFiO0lBcERBLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixHQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0E2QjNGO0VBQ0QsQUFBQSxhQUFhLENBQWI7SUF2REEsUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLEdBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQStCM0Y7RUFMRCxBQUFBLGNBQWMsQ0FBZDtJQXBEQSxRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsU0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBNkIzRjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBdkRBLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixTQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0ErQjNGO0VBTEQsQUFBQSxjQUFjLENBQWQ7SUFwREEsUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQTZCM0Y7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQXZEQSxRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBK0IzRjtFQUdILEFBQUEsT0FBTztFQUNQLEFBQUEsUUFBUSxDQUFDO0lBN0RQLFFBQVEsRUFBRSxRQUFTO0lBWW5CLFlBQVksRUFBRyxTQUFjO0lBQzdCLGFBQWEsRUFBRyxTQUFjO0lBZ0JTLEtBQUssRUNrTjlCLElBQUksR0RsTCtDO0VBSWpFLEFBQUEsUUFBUSxDQUFSO0lBL0NBLEtBQUssRUF6RkUsUUFBVSxHQXdJb0Q7RUFBckUsQUFBQSxRQUFRLENBQVI7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFFBQVEsQ0FBUjtJQS9DQSxLQUFLLEVBekZFLEdBQVUsR0F3SW9EO0VBQXJFLEFBQUEsUUFBUSxDQUFSO0lBL0NBLEtBQUssRUF6RkUsU0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxRQUFRLENBQVI7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFFBQVEsQ0FBUjtJQS9DQSxLQUFLLEVBekZFLEdBQVUsR0F3SW9EO0VBQXJFLEFBQUEsUUFBUSxDQUFSO0lBL0NBLEtBQUssRUF6RkUsU0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxRQUFRLENBQVI7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFFBQVEsQ0FBUjtJQS9DQSxLQUFLLEVBekZFLEdBQVUsR0F3SW9EO0VBQXJFLEFBQUEsU0FBUyxDQUFUO0lBL0NBLEtBQUssRUF6RkUsU0FBVSxHQXdJb0Q7RUFBckUsQUFBQSxTQUFTLENBQVQ7SUEvQ0EsS0FBSyxFQXpGRSxTQUFVLEdBd0lvRDtFQUFyRSxBQUFBLFNBQVMsQ0FBVDtJQS9DQSxLQUFLLEVBekZFLElBQVUsR0F3SW9EO0VBSXJFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBaEhULENBQUMsQ0FnSG9ELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBakg3QixRQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGVBQWUsQ0FBZjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxlQUFlLENBQWY7SUEzQlksV0FBd0IsRUFqSDdCLEdBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGVBQWUsQ0FBZjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxlQUFlLENBQWY7SUEzQlksV0FBd0IsRUFqSDdCLEdBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZUFBZSxDQUFmO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGVBQWUsQ0FBZjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFBcEUsQUFBQSxlQUFlLENBQWY7SUEzQlksV0FBd0IsRUFqSDdCLEdBQVUsQ0FpSCtELFVBQVUsR0EyQnRCO0VBQXBFLEFBQUEsZ0JBQWdCLENBQWhCO0lBM0JZLFdBQXdCLEVBakg3QixTQUFVLENBaUgrRCxVQUFVLEdBMkJ0QjtFQUFwRSxBQUFBLGdCQUFnQixDQUFoQjtJQTNCWSxXQUF3QixFQWpIN0IsU0FBVSxDQWlIK0QsVUFBVSxHQTJCdEI7RUFHdEUsQUFBQSxrQkFBa0IsQ0FBbEI7SUFDRSxLQUFLLEVDc0tTLElBQUk7SURyS2xCLElBQUksRUFBRSxJQUFLO0lBQ1gsV0FBd0IsRUFBUyxDQUFFO0lBQ25DLFlBQTZCLEVBQVMsQ0FBRTtJQUN4QyxLQUFLLEVBQUUsSUFBSyxHQUNiO0VBRUQsQUFBTyxPQUFBLEFBQUEsZUFBZTtFQUN0QixBQUFRLFFBQUEsQUFBQSxlQUFlLENBRHZCO0lBNUNFLFdBQXdCLEVBQVMsSUFBSztJQUN0QyxZQUE2QixFQUFTLElBQUs7SUFDM0MsS0FBSyxFQUFFLElBQUssR0EwQ3dEO0VBRXRFLEFBQU8sT0FBQSxBQUFBLGlCQUFpQjtFQUN4QixBQUFRLFFBQUEsQUFBQSxpQkFBaUIsQ0FEekI7SUFDRSxLQUFLLEVDNEpTLElBQUk7SUQzSmxCLFdBQXdCLEVBQVMsQ0FBRTtJQUNuQyxZQUE2QixFQUFTLENBQUUsR0FDekM7RUFHRCxBQUFzQixPQUFmLEFBQUEsZUFBZSxBQUFBLFdBQVc7RUFDakMsQUFBdUIsUUFBZixBQUFBLGVBQWUsQUFBQSxXQUFXLENBRGxDO0lBQ0UsS0FBSyxFQUFFLElBQUssR0FDYjtFQUdELEFBQXdCLE9BQWpCLEFBQUEsaUJBQWlCLEFBQUEsV0FBVztFQUNuQyxBQUF5QixRQUFqQixBQUFBLGlCQUFpQixBQUFBLFdBQVcsQ0FEcEM7SUFDRSxLQUFLLEVDZ0pTLElBQUksR0QvSW5CO0VBRUQsQUFBd0IsT0FBakIsQUFBQSxpQkFBaUIsQUFBQSxTQUFTO0VBQ2pDLEFBQXlCLFFBQWpCLEFBQUEsaUJBQWlCLEFBQUEsU0FBUyxDQURsQztJQUNFLEtBQUssRUM2SWMsS0FBSyxHRDVJekI7RUFFRCxBQUVNLElBRkYsQUFDRCxlQUFlLEdBQ1osT0FBTyxFQURWLEFBQ0csZUFEWSxBa0Q3TXBCLGFBQWEsR2xEOE1MLE9BQU87RUFGYixBQUdNLElBSEYsQUFDRCxlQUFlLEdBRVosUUFBUSxFQUZYLEFBRUcsZUFGWSxBa0Q3TXBCLGFBQWEsR2xEK01MLFFBQVEsQ0FBQztJQXBHYixZQUFZLEVBQUUsQ0FBRTtJQUNoQixhQUFhLEVBQUUsQ0FBRSxHQW1Hb0Q7RUFIdkUsQUFLSSxJQUxBLEFBQ0QsZUFBZSxDQUlkLElBQUksRUFKTCxBQUlDLGVBSmMsQWtEN01wQixhQUFhLENsRGlOUCxJQUFJLEVBTFIsQUFLSSxJQUxBLEFBQ0QsZUFBZSxDa0Q3TXBCLGFBQWEsRWxENk1SLEFBSUMsZUFKYyxBa0Q3TXBCLGFBQWEsQ0FBYixhQUFhLENsRGlORjtJQUFDLFdBQVcsRUFBQyxDQUFFO0lBQUUsWUFBWSxFQUFDLENBQUUsR0FBRztFQUw1QyxBQVFNLElBUkYsQUFPRCxpQkFBaUIsR0FDZCxPQUFPLEVBRFYsQUFDRyxpQkFEYyxBa0RuTnRCLGFBQWEsR2xEb05MLE9BQU87RUFSYixBQVNNLElBVEYsQUFPRCxpQkFBaUIsR0FFZCxRQUFRLEVBRlgsQUFFRyxpQkFGYyxBa0RuTnRCLGFBQWEsR2xEcU5MLFFBQVEsQ0FBQztJQW5HYixZQUFZLEVBQUcsU0FBYztJQUM3QixhQUFhLEVBQUcsU0FBYztJQWdCUyxLQUFLLEVDa045QixJQUFJLEdEOUhmO0VBc0RDLEFBQUEsT0FBTyxDQUFQO0lBdktKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBL0ZBLENBQUM7SUErRm1DLEtBQXNCLEVBQUUsSUFBSyxHQWdKdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQTFLSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWhHTCxDQUFDO0lBZ0d3QyxJQUFpQixFQUFFLElBQUssR0FrSnZGO0VBTEQsQUFBQSxPQUFPLENBQVA7SUF2S0osUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFFBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQWdKdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQTFLSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsUUFBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBa0p2RjtFQUxELEFBQUEsT0FBTyxDQUFQO0lBdktKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FnSnZGO0VBQ0QsQUFBQSxPQUFPLENBQVA7SUExS0osUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQWtKdkY7RUFMRCxBQUFBLE9BQU8sQ0FBUDtJQXZLSixRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsR0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBZ0p2RjtFQUNELEFBQUEsT0FBTyxDQUFQO0lBMUtKLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixHQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0FrSnZGO0VBTEQsQUFBQSxPQUFPLENBQVA7SUF2S0osUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQWdKdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQTFLSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBa0p2RjtFQUxELEFBQUEsT0FBTyxDQUFQO0lBdktKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FnSnZGO0VBQ0QsQUFBQSxPQUFPLENBQVA7SUExS0osUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQWtKdkY7RUFMRCxBQUFBLE9BQU8sQ0FBUDtJQXZLSixRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsR0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBZ0p2RjtFQUNELEFBQUEsT0FBTyxDQUFQO0lBMUtKLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixHQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0FrSnZGO0VBTEQsQUFBQSxPQUFPLENBQVA7SUF2S0osUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQWdKdkY7RUFDRCxBQUFBLE9BQU8sQ0FBUDtJQTFLSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBa0p2RjtFQUxELEFBQUEsT0FBTyxDQUFQO0lBdktKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FnSnZGO0VBQ0QsQUFBQSxPQUFPLENBQVA7SUExS0osUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQWtKdkY7RUFMRCxBQUFBLE9BQU8sQ0FBUDtJQXZLSixRQUFRLEVBQUUsUUFBUztJQXlCVCxJQUFpQixFQWhHcEIsR0FBVTtJQWdHOEMsS0FBc0IsRUFBRSxJQUFLLEdBZ0p2RjtFQUNELEFBQUEsT0FBTyxDQUFQO0lBMUtKLFFBQVEsRUFBRSxRQUFTO0lBMEJULEtBQXNCLEVBakd6QixHQUFVO0lBaUdtRCxJQUFpQixFQUFFLElBQUssR0FrSnZGO0VBTEQsQUFBQSxRQUFRLENBQVI7SUF2S0osUUFBUSxFQUFFLFFBQVM7SUF5QlQsSUFBaUIsRUFoR3BCLFNBQVU7SUFnRzhDLEtBQXNCLEVBQUUsSUFBSyxHQWdKdkY7RUFDRCxBQUFBLFFBQVEsQ0FBUjtJQTFLSixRQUFRLEVBQUUsUUFBUztJQTBCVCxLQUFzQixFQWpHekIsU0FBVTtJQWlHbUQsSUFBaUIsRUFBRSxJQUFLLEdBa0p2RjtFQUxELEFBQUEsUUFBUSxDQUFSO0lBdktKLFFBQVEsRUFBRSxRQUFTO0lBeUJULElBQWlCLEVBaEdwQixTQUFVO0lBZ0c4QyxLQUFzQixFQUFFLElBQUssR0FnSnZGO0VBQ0QsQUFBQSxRQUFRLENBQVI7SUExS0osUUFBUSxFQUFFLFFBQVM7SUEwQlQsS0FBc0IsRUFqR3pCLFNBQVU7SUFpR21ELElBQWlCLEVBQUUsSUFBSyxHQWtKdkY7O0FHL0lMLEFBQUEsVUFBVSxDQUFDO0VBRVQsYUFBYSxFQUFFLENBQUU7RUFDakIsV0FBVyxFQUFFLENBQUUsR0F3QmhCO0VBM0JELEFBQUEsVUFBVSxBRjJHWCxPQUFPLEVFM0dOLEFBQUEsVUFBVSxBRjJHRCxNQUFNLENBQUM7SUFBRSxPQUFPLEVBQUUsR0FBSTtJQUFFLE9BQU8sRUFBRSxLQUFNLEdBQUk7RUUzR3BELEFBQUEsVUFBVSxBRjRHWCxNQUFNLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VFNUd4QixBQUlFLFVBSlEsQ0FJUixxQkFBcUIsRUFKdkIsQUFJeUIsVUFKZixDQUllLEVBQUUsQ0FBQztJQUN4QixPQUFPLEVBQUUsS0FBTTtJQUNmLGFBQWEsRUFBRSxZQUFhLEdBb0I3QjtJQTFCSCxBQU9lLFVBUEwsQ0FJUixxQkFBcUIsQUFHbEIsT0FBTyxHQUFHLENBQUMsRUFQaEIsQUFPZSxVQVBMLENBSWUsRUFBRSxBQUd0QixPQUFPLEdBQUcsQ0FBQyxDQUFDO01BQUUsVUFBVSxFQTNITSxPQUFXO01BMkh3QixLQUFLLEVGd0s5RCxPQUFPLEdFeEtvRztJQVB4SCxBQVFNLFVBUkksQ0FJUixxQkFBcUIsR0FJakIsQ0FBQyxFQVJQLEFBUU0sVUFSSSxDQUllLEVBQUUsR0FJckIsQ0FBQyxDQUFDO01BQ0YsVUFBVSxFRjBKSCxPQUFPO01FekpkLEtBQUssRUZxS0UsT0FBTztNRXBLZCxPQUFPLEVBQUUsS0FBTTtNQUNmLFdBQVcsRUYrS0ksZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtNRTlLckUsU0FBUyxFRHBEVCxJQUFVO01DcURWLE9BQU8sRURyRFAsSUFBVSxHQ3VEWDtNQWhCTCxBQVFNLFVBUkksQ0FJUixxQkFBcUIsR0FJakIsQ0FBQyxBQU9BLE1BQU0sRUFmYixBQVFNLFVBUkksQ0FJZSxFQUFFLEdBSXJCLENBQUMsQUFPQSxNQUFNLENBQUM7UUFBRSxVQUFVLEVBcElRLE9BQVcsR0FvSXVCO0lBZnBFLEFBa0JNLFVBbEJJLENBSVIscUJBQXFCLEdBY2pCLFFBQVEsRUFsQmQsQUFrQk0sVUFsQkksQ0FJZSxFQUFFLEdBY3JCLFFBQVEsQ0FBQztNQUNULE9BQU8sRUFBRSxJQUFLO01BQ2QsT0FBTyxFQWxJWSxTQUFjLEdBdUlsQztNQXpCTCxBQWtCTSxVQWxCSSxDQUlSLHFCQUFxQixHQWNqQixRQUFRLEFBR1AsT0FBTyxFQXJCZCxBQWtCTSxVQWxCSSxDQUllLEVBQUUsR0FjckIsUUFBUSxBQUdQLE9BQU8sQ0FBQztRQUNQLFVBQVUsRUZ3SUwsT0FBTztRRXZJWixPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUM1Q1AsQUFBQSxVQUFVLENBQUM7RUF6RGIsWUFBWSxFQTNCTyxLQUFLO0VBNEJ4QixZQUFZLEVBM0JPLEdBQUc7RUE0QnRCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsU0FBUyxFRm1DRCxTQUFVO0VFbENsQixXQUFXLEVQK0JRLE1BQU07RU85QnpCLGFBQWEsRUZpQ0wsT0FBVTtFRWhDbEIsT0FBTyxFRmdDQyxRQUFVLENFOUVlLE1BQWtCLENGOEUzQyxRQUFVLENBQVYsUUFBVTtFRS9CbEIsUUFBUSxFQUFFLFFBQVM7RUhnRm5CLFVBQVUsRUcvRWlCLE9BQU8sQ0FqQlgsS0FBSyxDQUNOLFFBQVE7RUE0QjlCLGdCQUFnQixFUDRCRixPQUFPO0VPM0JyQixZQUFZLEVBQUUsT0FBVztFQUlDLEtBQUssRUhrTmhCLE9BQU8sR0dwS25CO0VBZEQsQUFHRSxVQUhRLENBR1IsTUFBTSxDQUFNO0lBN0JoQixLQUFzQixFRk9kLE9BQVU7SUVObEIsVUFBVSxFQTlDYSxPQUFPO0lBK0M5QixLQUFLLEVIME5VLE9BQU87SUd6TnRCLFNBQVMsRUZJRCxRQUFVO0lFSGxCLFdBQVcsRUFBRSxFQUFHO0lBQ2hCLFVBQVUsRUFBSSxVQUFzQjtJQUNwQyxPQUFPLEVBdERhLEdBQUU7SUF1RHRCLE9BQU8sRUFyRGEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHO0lBc0Q3QixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBNURhLEdBQUcsR0FnRnVCO0lBSHhDLEFBR0UsVUFIUSxDQUdSLE1BQU0sQUFuQlQsTUFBTSxFQWdCTCxBQUdFLFVBSFEsQ0FHUixNQUFNLEFBbEJULE1BQU0sQ0FBQztNQUFFLE9BQU8sRUExRFMsR0FBRSxHQTBEcUI7RUFlL0MsQUFBQSxVQUFVLEFBS1AsT0FBTyxDQUFJO0lIbEZkLGFBQWEsRUo0SEQsR0FBRyxHTzFDbUM7RUFMbEQsQUFBQSxVQUFVLEFBTVAsTUFBTSxDQUFLO0lIbkZkLGFBQWEsRUE0VEEsTUFBTSxHR3pPaUM7RUFOcEQsQUFBQSxVQUFVLEFBUVAsUUFBUSxDQUFHO0lBN0NoQixnQkFBZ0IsRUgrT0YsT0FBTztJRzlPckIsWUFBWSxFQUFFLE9BQVc7SUFJQyxLQUFLLEVIa05oQixPQUFPLEdHMUtvQztFQVJ4RCxBQUFBLFVBQVUsQUFTUCxNQUFNLENBQUs7SUE5Q2hCLGdCQUFnQixFSDhPSixPQUFPO0lHN09uQixZQUFZLEVBQUUsT0FBVztJQUlDLEtBQUssRUhrTmhCLE9BQU8sR0d6S2tDO0VBVHRELEFBQUEsVUFBVSxBQVVQLFVBQVUsQ0FBQztJQS9DaEIsZ0JBQWdCLEVQNkJBLE9BQU87SU81QnZCLFlBQVksRUFBRSxPQUFXO0lBR0MsS0FBSyxFQXpEVixPQUFXLEdBb0c0QjtFQVYxRCxBQUFBLFVBQVUsQUFXUCxRQUFRLENBQUM7SUFoRGQsZ0JBQWdCLEVIZ1BGLE9BQU87SUcvT3JCLFlBQVksRUFBRSxPQUFXO0lBSUMsS0FBSyxFSGtOaEIsT0FBTyxHR3ZLa0M7RUFYdEQsQUFBQSxVQUFVLEFBWVAsS0FBSyxDQUFDO0lBakRYLGdCQUFnQixFSGlQTCxPQUFPO0lHaFBsQixZQUFZLEVBQUUsT0FBVztJQUdDLEtBQUssRUF6RFYsT0FBVyxHQXNHa0I7RUFaaEQsQUFBQSxVQUFVLEFBYVAsWUFBWSxDQUFDO0lBQUUsT0FBTyxFQUFFLENBQUUsR0FBRTs7Q0NsQi9CLEFBQUEsQUFBcUIsS0FBcEIsRUFBTyxhQUFhLEFBQXBCLEVBQXNCO0VBakV2QixPQUFPLEVBQUUsS0FBTTtFQUNmLE9BQU8sRUFBRSxDQUFFO0VBSVQsTUFBTSxFQUFFLENBQUMsQ0FBRSxTQUFDLEdBNERrQztHQUFoRCxBQUFBLEFBQXFCLEtBQXBCLEVBQU8sYUFBYSxBQUFwQixDSm9JRixPQUFPLEdJcElOLEFBQUEsQUFBcUIsS0FBcEIsRUFBTyxhQUFhLEFBQXBCLENKb0lRLE1BQU0sQ0FBQztJQUFFLE9BQU8sRUFBRSxHQUFJO0lBQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTtHSXBJcEQsQUFBQSxBQUFxQixLQUFwQixFQUFPLGFBQWEsQUFBcEIsQ0pxSUYsTUFBTSxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUssR0FBSTtHSXJJeEIsQUFBQSxBQXhERSxLQXdERCxFQUFPLGFBQWEsQUFBcEIsSUF4REMsRUFBRSxDQUFDO0lBQ0gsT0FBTyxFQUFFLEtBQU07SUFDZixLQUFLLEVKaVNPLElBQUk7SUloU2hCLE1BQU0sRUFBRSxJQUFLO0lBRVgsT0FBTyxFQUFFLENBQUMsQ0FBRSxRQUFRLENIcUNsQixPQUFVLEdHbkNmOztBQW9EQyxNQUFNLE1BQUQsTUFBTTtFQVpiLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxJQUFJLEdBT1o7SUF3QkQsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsR0FBSSxHQU9aO0lBd0JELEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLFNBQUksR0FPWjtJQXdCRCxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxHQUFJLEdBT1o7SUF3QkQsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsR0FBSSxHQU9aO0lBd0JELEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLFNBQUksR0FPWjtJQXdCRCxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxTQUFJLEdBT1o7SUF3QkQsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsS0FBSSxHQU9aO0lBd0JELEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLFNBQUksR0FPWjtJQXdCRCxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxHQUFJLEdBT1o7SUF3QkQsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBUUQsWUFBYSxDQUFBLEtBQUssRUFBbkI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsUUFBSSxHQU9aO0lBd0JELEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQVFELFlBQWEsQ0FBQSxLQUFLLEVBQW5CO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLFFBQUksR0FPWjtJQXdCRCxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFRRCxZQUFhLENBQUEsS0FBSyxFQUFuQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7O0FBNENsQixNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0VBaEJyQyxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsSUFBSSxHQU9aO0lBd0JELEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLEdBQUksR0FPWjtJQXdCRCxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxTQUFJLEdBT1o7SUF3QkQsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsR0FBSSxHQU9aO0lBd0JELEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLEdBQUksR0FPWjtJQXdCRCxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxTQUFJLEdBT1o7SUF3QkQsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsU0FBSSxHQU9aO0lBd0JELEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLEtBQUksR0FPWjtJQXdCRCxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxTQUFJLEdBT1o7SUF3QkQsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxxQkFvQ21CLEdBcENuQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsR0FBSSxHQU9aO0lBd0JELEFBcENFLHFCQW9DbUIsR0FwQ25CLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UscUJBb0NtQixHQXBDbkIsRUFBRSxBQVFELFlBQWEsQ0FBQSxLQUFLLEVBQW5CO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0UscUJBb0NtQixHQXBDbkIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLFFBQUksR0FPWjtJQXdCRCxBQXBDRSxxQkFvQ21CLEdBcENuQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLHFCQW9DbUIsR0FwQ25CLEVBQUUsQUFRRCxZQUFhLENBQUEsS0FBSyxFQUFuQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLHFCQW9DbUIsR0FwQ25CLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxRQUFJLEdBT1o7SUF3QkQsQUFwQ0UscUJBb0NtQixHQXBDbkIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxxQkFvQ21CLEdBcENuQixFQUFFLEFBUUQsWUFBYSxDQUFBLEtBQUssRUFBbkI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJOztBQWdEbEIsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUztFQXBCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLElBQUksR0FPWjtJQXdCRCxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxHQUFJLEdBT1o7SUF3QkQsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsU0FBSSxHQU9aO0lBd0JELEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLEdBQUksR0FPWjtJQXdCRCxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxHQUFJLEdBT1o7SUF3QkQsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsU0FBSSxHQU9aO0lBd0JELEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLFNBQUksR0FPWjtJQXdCRCxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFRRCxZQUFhLENBQUEsSUFBSSxFQUFsQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxLQUFJLEdBT1o7SUF3QkQsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLEFBUUQsWUFBYSxDQUFBLElBQUksRUFBbEI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxtQkFvQ2lCLEdBcENqQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsU0FBSSxHQU9aO0lBd0JELEFBcENFLG1CQW9DaUIsR0FwQ2pCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0UsbUJBb0NpQixHQXBDakIsRUFBRSxBQVFELFlBQWEsQ0FBQSxJQUFJLEVBQWxCO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQTRCcEIsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUs7SUFJakIsS0FBSyxFQUFFLEdBQUksR0FPWjtJQXdCRCxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBT0QsWUFBYSxDQUFBLEVBQUUsRUFBRTtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7SUE2QnRDLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFRRCxZQUFhLENBQUEsS0FBSyxFQUFuQjtNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUE0QnBCLEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFLO0lBSWpCLEtBQUssRUFBRSxRQUFJLEdBT1o7SUF3QkQsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQU9ELFlBQWEsQ0FBQSxFQUFFLEVBQUU7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0lBNkJ0QyxBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLEFBUUQsWUFBYSxDQUFBLEtBQUssRUFBbkI7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBNEJwQixBQXBDRSxvQkFvQ2tCLEdBcENsQixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSztJQUlqQixLQUFLLEVBQUUsUUFBSSxHQU9aO0lBd0JELEFBcENFLG9CQW9Da0IsR0FwQ2xCLEVBQUUsQUFPRCxZQUFhLENBQUEsRUFBRSxFQUFFO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQTZCdEMsQUFwQ0Usb0JBb0NrQixHQXBDbEIsRUFBRSxBQVFELFlBQWEsQ0FBQSxLQUFLLEVBQW5CO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTs7QUNpRHBCLEFBQUEsWUFBWSxDQUFDO0VBMUVmLFlBQVksRUF2Qk8sS0FBSztFQXdCeEIsWUFBWSxFQXpCTSxHQUFHO0VBMEJyQixPQUFPLEVBQUUsS0FBTTtFQUNmLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFdBQXdCLEVBQVMsQ0FBRTtFQUNuQyxRQUFRLEVBQUUsTUFBTztFQUNqQixPQUFPLEVKMENDLFNBQVUsQ0FBVixRQUFVLENBQVYsU0FBVTtFSXZDbEIsZ0JBQWdCLEVBekNQLE9BQVc7RUEwQ3BCLFlBQVksRUFoQ08sT0FBVztFTFk1QixhQUFhLEVKNEhELEdBQUcsR1NqQ2Q7RUFQRCxBQUlJLFlBSlEsR0FJUixDQUFDLENBQUM7SUE3RFIsS0FBSyxFVHlDUyxPQUFPO0lTeENyQixLQUFLLEVMdVJXLElBQUk7SUt0UnBCLFNBQVMsRUo2QkQsU0FBVTtJSTVCbEIsV0FBVyxFSjRCSCxTQUFVO0lJM0JsQixNQUFNLEVBQUUsQ0FBRTtJQUNWLGNBQWMsRUFwQ08sU0FBUyxHQThGekI7SUFOSCxBQWxETSxZQWtETSxHQUlSLENBQUMsQUF0RE4sTUFBTSxDQUFDLENBQUMsRUFrRFAsQUFsRGlCLFlBa0RMLEdBSVIsQ0FBQyxBQXRESyxNQUFNLENBQUMsQ0FBQyxDQUFDO01BQUUsZUFBZSxFQXJDckIsU0FBUyxHQXFDbUM7SUFrRDNELEFBaERGLFlBZ0RjLEdBSVIsQ0FBQyxDQXBEUCxDQUFDLENBQUM7TUFDQSxLQUFLLEVUK0JPLE9BQU8sR1M5QnBCO0lBOENDLEFBSUksWUFKUSxHQUlSLENBQUMsQUEvQ04sUUFBUSxDQUFDO01BQ1IsS0FBSyxFTHFPUSxPQUFPO01LcE9wQixNQUFNLEVMa1ZhLE9BQU8sR0sxVTNCO01BaUNDLEFBeENBLFlBd0NZLEdBSVIsQ0FBQyxBQS9DTixRQUFRLENBR1AsQ0FBQyxDQUFDO1FBQ0EsS0FBSyxFTGtPTSxPQUFPO1FLak9sQixNQUFNLEVMK1VXLE9BQU8sR0s5VXpCO01BcUNELEFBSUksWUFKUSxHQUlSLENBQUMsQUEvQ04sUUFBUSxBQVFOLE1BQU0sRUFtQ1AsQUFuQ2lCLFlBbUNMLEdBSVIsQ0FBQyxBQS9DTixRQUFRLEFBUUcsTUFBTSxDQUFDLENBQUMsRUFtQ2xCLEFBSUksWUFKUSxHQUlSLENBQUMsQUEvQ04sUUFBUSxBQVNOLE1BQU0sRUFrQ1AsQUFsQ2lCLFlBa0NMLEdBSVIsQ0FBQyxBQS9DTixRQUFRLEFBU0csTUFBTSxDQUFDLENBQUMsQ0FBQztRQUFFLGVBQWUsRUFBRSxJQUFLLEdBQUk7SUFrQy9DLEFBSUksWUFKUSxHQUlSLENBQUMsQUFsQ04sWUFBWSxDQUFDO01BQ1osS0FBSyxFTGtOUSxPQUFPLEdLdk1yQjtNQWtCQyxBQTVCQSxZQTRCWSxHQUlSLENBQUMsQUFsQ04sWUFBWSxDQUVYLENBQUMsQ0FBQztRQUFFLEtBQUssRUxpTkksT0FBTyxHS2pOd0I7TUE0QjVDLEFBSUksWUFKUSxHQUlSLENBQUMsQUFsQ04sWUFBWSxBQUlWLE1BQU07TUEwQlAsQUF6QlEsWUF5QkksR0FJUixDQUFDLEFBbENOLFlBQVksQUFLVixNQUFNLENBQUMsQ0FBQyxFQXlCVCxBQUlJLFlBSlEsR0FJUixDQUFDLEFBbENOLFlBQVksQUFNVixNQUFNO01Bd0JQLEFBdkJDLFlBdUJXLEdBSVIsQ0FBQyxBQWxDTixZQUFZLENBT1gsQ0FBQyxBQUFBLE1BQU0sQ0FBQztRQUNOLEtBQUssRUwyTU0sT0FBTztRSzFNbEIsTUFBTSxFTCtUWSxXQUFXO1FLOVQ3QixlQUFlLEVBQUUsSUFBSyxHQUN2QjtJQW1CRCxBQUlJLFlBSlEsR0FJUixDQUFDLEFBcEJOLE9BQU8sQ0FBQztNQUNQLEtBQUssRUxtTVEsT0FBTztNS2xNcEIsT0FBTyxFQUFFLEdBQWlCO01BQzFCLE1BQU0sRUFBRSxDQUFDLENKYkgsT0FBVTtNSWNoQixRQUFRLEVBQUUsUUFBUztNQUNuQixHQUFHLEVBdkVnQixHQUFHLEdBd0V2QjtJQVVDLEFBSUksWUFKUSxHQUlSLENBQUMsQUFaTixZQUFZLEFBQUEsT0FBTyxDQUFDO01BQ25CLE9BQU8sRUFBRSxHQUFJO01BQ2IsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFhQyw2Q0FBNkM7Q0FDN0MsQUFBQSxBQUErQyxVQUE5QyxDQUFXLGFBQWEsQUFBeEIsR0FBMEIsQUFBQSxXQUFDLENBQVksTUFBTSxBQUFsQixDQUFtQixNQUFNLENBQUM7RUFDcEQsT0FBTyxFQUFFLEdBQUksR0FDZDs7QUV3RkQsQUFBQSxNQUFNLEVBQUUsQUFBQSxPQUFPLENBQUM7RUE3SWhCLGtCQUFrQixFQUFFLElBQUs7RUFDekIsZUFBZSxFQUFFLElBQUs7RUFDdEIsYUFBYSxFQUFDLENBQUU7RUFDaEIsWUFBWSxFQTFDTSxLQUFLO0VBMkN2QixZQUFZLEVBNUNNLENBQUM7RUE2Q25CLE1BQU0sRVBnVmEsT0FBTztFTy9VMUIsV0FBVyxFUDRPVSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVO0VPM08zRSxXQUFXLEVYTU0sTUFBTTtFV0x2QixXQUFXLEVBQUUsTUFBTztFQUNwQixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ05PTCxPQUFVO0VNTmhCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUF6RE0sTUFBTTtFQTBEdEIsZUFBZSxFQUFFLElBQUs7RUFFVCxPQUFPLEVBeEVQLFlBQVk7RUF1RnpCLE9BQU8sRU5iRCxJQUFVLENNYUcsSUFBUSxDQUFPLFNBQVEsQ0FBaUIsSUFBUTtFQUVoQyxTQUFTLEVOZnRDLElBQVU7RU1vRWhCLGdCQUFnQixFWDFESixPQUFPO0VXMkRuQixZQUFZLEVBMUhFLE9BQVc7RUErSHpCLEtBQUssRVAySFEsT0FBTztFQXBKdEIsVUFBVSxFT2lGcUIsZ0JBQWdCLENQckpGLEtBQUssQ0FBUSxRQUFRLEdPK0svRDtFQS9CRCxBQUFBLE1BQU0sQUF2REwsTUFBTSxFQXVEUCxBQUFBLE1BQU0sQUF0REwsTUFBTSxFQXNEQyxBQUFBLE9BQU8sQUF2RGQsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUF0RGQsTUFBTSxDQUFDO0lBQUUsZ0JBQWdCLEVBNUhaLE9BQVcsR0E0SGdCO0VBc0R6QyxBQUFBLE1BQU0sQUFqREwsTUFBTSxFQWlEUCxBQUFBLE1BQU0sQUFoREwsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUFqRGQsTUFBTSxFQWlEQyxBQUFBLE9BQU8sQUFoRGQsTUFBTSxDQUFDO0lBQ04sS0FBSyxFUHVITSxPQUFPLEdPdEhuQjtFQThDRCxBQUFBLE1BQU0sQUFPSCxVQUFVLEVBUEwsQUFBQSxPQUFPLEFBT1osVUFBVSxDQUFDO0lBaEVkLGdCQUFnQixFWHpERixPQUFPO0lXMERyQixZQUFZLEVBdkhZLE9BQVc7SUE0SG5DLEtBQUssRVAySVEsT0FBTyxHT2pGeUk7SUFQN0osQUFBQSxNQUFNLEFBT0gsVUFBVSxBQTlEWixNQUFNLEVBdURQLEFBQUEsTUFBTSxBQU9ILFVBQVUsQUE3RFosTUFBTSxFQXNEQyxBQUFBLE9BQU8sQUFPWixVQUFVLEFBOURaLE1BQU0sRUF1REMsQUFBQSxPQUFPLEFBT1osVUFBVSxBQTdEWixNQUFNLENBQUM7TUFBRSxnQkFBZ0IsRUF6SEYsT0FBVyxHQXlITTtJQXNEekMsQUFBQSxNQUFNLEFBT0gsVUFBVSxBQXhEWixNQUFNLEVBaURQLEFBQUEsTUFBTSxBQU9ILFVBQVUsQUF2RFosTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUFPWixVQUFVLEFBeERaLE1BQU0sRUFpREMsQUFBQSxPQUFPLEFBT1osVUFBVSxBQXZEWixNQUFNLENBQUM7TUFDTixLQUFLLEVQdUlNLE9BQU8sR090SW5CO0VBOENELEFBQUEsTUFBTSxBQVFILFFBQVEsRUFSSCxBQUFBLE9BQU8sQUFRWixRQUFRLENBQUc7SUFqRWQsZ0JBQWdCLEVQeUpKLE9BQU87SU94Sm5CLFlBQVksRUFwSFUsT0FBVztJQXlIakMsS0FBSyxFUDJIUSxPQUFPLEdPaEVtSTtJQVJ2SixBQUFBLE1BQU0sQUFRSCxRQUFRLEFBL0RWLE1BQU0sRUF1RFAsQUFBQSxNQUFNLEFBUUgsUUFBUSxBQTlEVixNQUFNLEVBc0RDLEFBQUEsT0FBTyxBQVFaLFFBQVEsQUEvRFYsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUFRWixRQUFRLEFBOURWLE1BQU0sQ0FBQztNQUFFLGdCQUFnQixFQXRISixPQUFXLEdBc0hRO0lBc0R6QyxBQUFBLE1BQU0sQUFRSCxRQUFRLEFBekRWLE1BQU0sRUFpRFAsQUFBQSxNQUFNLEFBUUgsUUFBUSxBQXhEVixNQUFNLEVBZ0RDLEFBQUEsT0FBTyxBQVFaLFFBQVEsQUF6RFYsTUFBTSxFQWlEQyxBQUFBLE9BQU8sQUFRWixRQUFRLEFBeERWLE1BQU0sQ0FBQztNQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7RUE4Q0QsQUFBQSxNQUFNLEFBU0gsTUFBTSxFQVRELEFBQUEsT0FBTyxBQVNaLE1BQU0sQ0FBSztJQWxFZCxnQkFBZ0IsRVB3Sk4sT0FBTztJT3ZKakIsWUFBWSxFQWpIUSxPQUFXO0lBc0gvQixLQUFLLEVQMkhRLE9BQU8sR08vRDZIO0lBVGpKLEFBQUEsTUFBTSxBQVNILE1BQU0sQUFoRVIsTUFBTSxFQXVEUCxBQUFBLE1BQU0sQUFTSCxNQUFNLEFBL0RSLE1BQU0sRUFzREMsQUFBQSxPQUFPLEFBU1osTUFBTSxBQWhFUixNQUFNLEVBdURDLEFBQUEsT0FBTyxBQVNaLE1BQU0sQUEvRFIsTUFBTSxDQUFDO01BQUUsZ0JBQWdCLEVBbkhOLE9BQVcsR0FtSFU7SUFzRHpDLEFBQUEsTUFBTSxBQVNILE1BQU0sQUExRFIsTUFBTSxFQWlEUCxBQUFBLE1BQU0sQUFTSCxNQUFNLEFBekRSLE1BQU0sRUFnREMsQUFBQSxPQUFPLEFBU1osTUFBTSxBQTFEUixNQUFNLEVBaURDLEFBQUEsT0FBTyxBQVNaLE1BQU0sQUF6RFIsTUFBTSxDQUFDO01BQ04sS0FBSyxFUHVITSxPQUFPLEdPdEhuQjtFQThDRCxBQUFBLE1BQU0sQUFVSCxRQUFRLEVBVkgsQUFBQSxPQUFPLEFBVVosUUFBUSxDQUFHO0lBbkVkLGdCQUFnQixFUDBKSixPQUFPO0lPekpuQixZQUFZLEVBOUdVLE9BQVc7SUFtSGpDLEtBQUssRVAySFEsT0FBTyxHTzlEbUk7SUFWdkosQUFBQSxNQUFNLEFBVUgsUUFBUSxBQWpFVixNQUFNLEVBdURQLEFBQUEsTUFBTSxBQVVILFFBQVEsQUFoRVYsTUFBTSxFQXNEQyxBQUFBLE9BQU8sQUFVWixRQUFRLEFBakVWLE1BQU0sRUF1REMsQUFBQSxPQUFPLEFBVVosUUFBUSxBQWhFVixNQUFNLENBQUM7TUFBRSxnQkFBZ0IsRUFoSEosT0FBVyxHQWdIUTtJQXNEekMsQUFBQSxNQUFNLEFBVUgsUUFBUSxBQTNEVixNQUFNLEVBaURQLEFBQUEsTUFBTSxBQVVILFFBQVEsQUExRFYsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUFVWixRQUFRLEFBM0RWLE1BQU0sRUFpREMsQUFBQSxPQUFPLEFBVVosUUFBUSxBQTFEVixNQUFNLENBQUM7TUFDTixLQUFLLEVQdUhNLE9BQU8sR090SG5CO0VBOENELEFBQUEsTUFBTSxBQVdILEtBQUssRUFYQSxBQUFBLE9BQU8sQUFXWixLQUFLLENBQU07SUFwRWQsZ0JBQWdCLEVQMkpQLE9BQU87SU8xSmhCLFlBQVksRUEzR08sT0FBVztJQWdIOUIsS0FBSyxFUDJJUSxPQUFPLEdPN0UwSDtJQVg5SSxBQUFBLE1BQU0sQUFXSCxLQUFLLEFBbEVQLE1BQU0sRUF1RFAsQUFBQSxNQUFNLEFBV0gsS0FBSyxBQWpFUCxNQUFNLEVBc0RDLEFBQUEsT0FBTyxBQVdaLEtBQUssQUFsRVAsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUFXWixLQUFLLEFBakVQLE1BQU0sQ0FBQztNQUFFLGdCQUFnQixFQTdHUCxPQUFXLEdBNkdXO0lBc0R6QyxBQUFBLE1BQU0sQUFXSCxLQUFLLEFBNURQLE1BQU0sRUFpRFAsQUFBQSxNQUFNLEFBV0gsS0FBSyxBQTNEUCxNQUFNLEVBZ0RDLEFBQUEsT0FBTyxBQVdaLEtBQUssQUE1RFAsTUFBTSxFQWlEQyxBQUFBLE9BQU8sQUFXWixLQUFLLEFBM0RQLE1BQU0sQ0FBQztNQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7RUE4Q0QsQUFBQSxNQUFNLEFBYUgsTUFBTSxFQWJELEFBQUEsT0FBTyxBQWFaLE1BQU0sQ0FBRTtJQTdIWCxPQUFPLEVOYkQsUUFBVSxDTWFHLE9BQVEsQ0FBTyxTQUFRLENBQWlCLE9BQVE7SUFLaEMsU0FBUyxFTmxCdEMsT0FBVSxHTTBJMkM7RUFiM0QsQUFBQSxNQUFNLEFBY0gsTUFBTSxFQWRELEFBQUEsT0FBTyxBQWNaLE1BQU0sQ0FBRTtJQTlIWCxPQUFPLEVOYkQsUUFBVSxDTWFHLE9BQVEsQ0FBTyxTQUFRLENBQWlCLE9BQVE7SUFJaEMsU0FBUyxFTmpCdEMsU0FBVSxHTTJJMkM7RUFkM0QsQUFBQSxNQUFNLEFBZUgsS0FBSyxFQWZBLEFBQUEsT0FBTyxBQWVaLEtBQUssQ0FBRztJQS9IWCxPQUFPLEVOYkQsUUFBVSxDTWFHLE9BQVEsQ0FBTyxTQUFRLENBQWlCLE9BQVE7SUFHaEMsU0FBUyxFTmhCdEMsU0FBVSxHTTRJMkM7RUFmM0QsQUFBQSxNQUFNLEFBZ0JILE9BQU8sRUFoQkYsQUFBQSxPQUFPLEFBZ0JaLE9BQU8sQ0FBQztJQWhJWCxPQUFPLEVOYkQsSUFBVSxDTWFHLElBQVEsQ0FBTyxTQUFRLENBQWlCLElBQVE7SUFFaEMsU0FBUyxFTmZ0QyxJQUFVO0lNeUJkLGNBQWMsRUFBRSxTQUFRO0lBQ3hCLFdBQVcsRU4xQlAsSUFBVTtJTStCaEIsWUFBWSxFTi9CTixJQUFVO0lNZ0NoQixhQUFhLEVOaENQLElBQVU7SU1pQ2hCLEtBQUssRUFBRSxJQUFLLEdBNEcyQztFQWhCdkQsQUFBQSxNQUFNLEFBa0JILFdBQVcsRUFsQk4sQUFBQSxPQUFPLEFBa0JaLFdBQVcsQ0FBRTtJQUFFLFVBQVUsRUFBRSxJQUFLO0lBQUUsV0FBVyxFTi9JMUMsT0FBVSxHTStJa0Q7RUFsQmxFLEFBQUEsTUFBTSxBQW1CSCxZQUFZLEVBbkJQLEFBQUEsT0FBTyxBQW1CWixZQUFZLENBQUM7SUFBRSxVQUFVLEVBQUUsS0FBTTtJQUFFLGFBQWEsRU5oSjdDLE9BQVUsR01nSnFEO0VBbkJyRSxBQUFBLE1BQU0sQUFxQkgsT0FBTyxFQXJCRixBQUFBLE9BQU8sQUFxQlosT0FBTyxDQUFDO0lQNU1YLGFBQWEsRUo0SEQsR0FBRyxHV2dGZ0Q7RUFyQi9ELEFBQUEsTUFBTSxBQXNCSCxNQUFNLEVBdEJELEFBQUEsT0FBTyxBQXNCWixNQUFNLENBQUU7SVA3TVgsYUFBYSxFQTRUQSxNQUFNLEdPL0dxRDtFQXRCeEUsQUFBQSxNQUFNLEFBd0JILFNBQVMsRUF4QlosQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLEdBeEJSLEFBQUEsT0FBTyxBQXdCWixTQUFTLEVBeEJKLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0lBakYxQixnQkFBZ0IsRVgxREosT0FBTztJVzJEbkIsWUFBWSxFQTFIRSxPQUFXO0lBK0h6QixLQUFLLEVQMkhRLE9BQU87SU9qSHBCLFVBQVUsRUFBRSxJQUFLO0lBQ2pCLE1BQU0sRVA4T2EsT0FBTztJTzdPMUIsT0FBTyxFQXBIZSxHQUFFLEdBeUxyQjtJQTlCSCxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQS9FWCxNQUFNLEVBdURQLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBOUVYLE1BQU0sRUFzRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBL0VmLE1BQU0sRUF1RFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBOUVmLE1BQU0sRUFzREMsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUEvRVgsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQTlFWCxNQUFNLEVBc0RDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQS9FZixNQUFNLEVBdURDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQTlFZixNQUFNLENBQUM7TUFBRSxnQkFBZ0IsRUE1SFosT0FBVyxHQTRIZ0I7SUFzRHpDLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBekVYLE1BQU0sRUFpRFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUF4RVgsTUFBTSxFQWdEUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0F6RWYsTUFBTSxFQWlEUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0F4RWYsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQXpFWCxNQUFNLEVBaURDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBeEVYLE1BQU0sRUFnREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBekVmLE1BQU0sRUFpREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBeEVmLE1BQU0sQ0FBQztNQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7SUE4Q0QsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUE5RFgsTUFBTSxFQXNDUCxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQTdEWCxNQUFNLEVBcUNQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQTlEZixNQUFNLEVBc0NQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQTdEZixNQUFNLEVBcUNDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBOURYLE1BQU0sRUFzQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUE3RFgsTUFBTSxFQXFDQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0E5RGYsTUFBTSxFQXNDQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0E3RGYsTUFBTSxDQUFDO01BQUUsZ0JBQWdCLEVYOUVkLE9BQU8sR1c4RWdCO0lBcUNuQyxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUNQLFVBQVUsRUF6QmYsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxFQXpCUCxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUNQLFVBQVUsRUF6QlAsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxDQUFDO01BbEZoQixnQkFBZ0IsRVh6REYsT0FBTztNVzBEckIsWUFBWSxFQXZIWSxPQUFXO01BNEhuQyxLQUFLLEVQMklRLE9BQU87TU9qSXBCLFVBQVUsRUFBRSxJQUFLO01BQ2pCLE1BQU0sRVA4T2EsT0FBTztNTzdPMUIsT0FBTyxFQXBIZSxHQUFFLEdBb0x1SjtNQXpCL0ssQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFDUCxVQUFVLEFBaEZkLE1BQU0sRUF1RFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFDUCxVQUFVLEFBL0VkLE1BQU0sRUFzRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxBQWhGZCxNQUFNLEVBdURQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUNYLFVBQVUsQUEvRWQsTUFBTSxFQXNEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUNQLFVBQVUsQUFoRmQsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUNQLFVBQVUsQUEvRWQsTUFBTSxFQXNEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FDWCxVQUFVLEFBaEZkLE1BQU0sRUF1REMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxBQS9FZCxNQUFNLENBQUM7UUFBRSxnQkFBZ0IsRUF6SEYsT0FBVyxHQXlITTtNQXNEekMsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFDUCxVQUFVLEFBMUVkLE1BQU0sRUFpRFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFDUCxVQUFVLEFBekVkLE1BQU0sRUFnRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxBQTFFZCxNQUFNLEVBaURQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUNYLFVBQVUsQUF6RWQsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUNQLFVBQVUsQUExRWQsTUFBTSxFQWlEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUNQLFVBQVUsQUF6RWQsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FDWCxVQUFVLEFBMUVkLE1BQU0sRUFpREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxBQXpFZCxNQUFNLENBQUM7UUFDTixLQUFLLEVQdUlNLE9BQU8sR090SW5CO01BOENELEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBQ1AsVUFBVSxBQS9EZCxNQUFNLEVBc0NQLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBQ1AsVUFBVSxBQTlEZCxNQUFNLEVBcUNQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUNYLFVBQVUsQUEvRGQsTUFBTSxFQXNDUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FDWCxVQUFVLEFBOURkLE1BQU0sRUFxQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFDUCxVQUFVLEFBL0RkLE1BQU0sRUFzQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFDUCxVQUFVLEFBOURkLE1BQU0sRUFxQ0MsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBQ1gsVUFBVSxBQS9EZCxNQUFNLEVBc0NDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUNYLFVBQVUsQUE5RGQsTUFBTSxDQUFDO1FBQUUsZ0JBQWdCLEVYN0VaLE9BQU8sR1c2RWM7SUFxQ25DLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBRVAsUUFBUSxFQTFCYixBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FFWCxRQUFRLEVBMUJMLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBRVAsUUFBUSxFQTFCTCxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FFWCxRQUFRLENBQUM7TUFuRmQsZ0JBQWdCLEVQeUpKLE9BQU87TU94Sm5CLFlBQVksRUFwSFUsT0FBVztNQXlIakMsS0FBSyxFUDJIUSxPQUFPO01PakhwQixVQUFVLEVBQUUsSUFBSztNQUNqQixNQUFNLEVQOE9hLE9BQU87TU83TzFCLE9BQU8sRUFwSGUsR0FBRSxHQXFMK0k7TUExQnZLLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBRVAsUUFBUSxBQWpGWixNQUFNLEVBdURQLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBRVAsUUFBUSxBQWhGWixNQUFNLEVBc0RQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUVYLFFBQVEsQUFqRlosTUFBTSxFQXVEUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FFWCxRQUFRLEFBaEZaLE1BQU0sRUFzREMsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFFUCxRQUFRLEFBakZaLE1BQU0sRUF1REMsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFFUCxRQUFRLEFBaEZaLE1BQU0sRUFzREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBRVgsUUFBUSxBQWpGWixNQUFNLEVBdURDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUVYLFFBQVEsQUFoRlosTUFBTSxDQUFDO1FBQUUsZ0JBQWdCLEVBdEhKLE9BQVcsR0FzSFE7TUFzRHpDLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBRVAsUUFBUSxBQTNFWixNQUFNLEVBaURQLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBRVAsUUFBUSxBQTFFWixNQUFNLEVBZ0RQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUVYLFFBQVEsQUEzRVosTUFBTSxFQWlEUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FFWCxRQUFRLEFBMUVaLE1BQU0sRUFnREMsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFFUCxRQUFRLEFBM0VaLE1BQU0sRUFpREMsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFFUCxRQUFRLEFBMUVaLE1BQU0sRUFnREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBRVgsUUFBUSxBQTNFWixNQUFNLEVBaURDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUVYLFFBQVEsQUExRVosTUFBTSxDQUFDO1FBQ04sS0FBSyxFUHVITSxPQUFPLEdPdEhuQjtNQThDRCxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUVQLFFBQVEsQUFoRVosTUFBTSxFQXNDUCxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUVQLFFBQVEsQUEvRFosTUFBTSxFQXFDUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FFWCxRQUFRLEFBaEVaLE1BQU0sRUFzQ1AsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBRVgsUUFBUSxBQS9EWixNQUFNLEVBcUNDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBRVAsUUFBUSxBQWhFWixNQUFNLEVBc0NDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBRVAsUUFBUSxBQS9EWixNQUFNLEVBcUNDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUVYLFFBQVEsQUFoRVosTUFBTSxFQXNDQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FFWCxRQUFRLEFBL0RaLE1BQU0sQ0FBQztRQUFFLGdCQUFnQixFUHFJZCxPQUFPLEdPcklnQjtJQXFDbkMsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFHUCxNQUFNLEVBM0JYLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUdYLE1BQU0sRUEzQkgsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFHUCxNQUFNLEVBM0JILEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUdYLE1BQU0sQ0FBQztNQXBGWixnQkFBZ0IsRVB3Sk4sT0FBTztNT3ZKakIsWUFBWSxFQWpIUSxPQUFXO01Bc0gvQixLQUFLLEVQMkhRLE9BQU87TU9qSHBCLFVBQVUsRUFBRSxJQUFLO01BQ2pCLE1BQU0sRVA4T2EsT0FBTztNTzdPMUIsT0FBTyxFQXBIZSxHQUFFLEdBc0x1STtNQTNCL0osQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFHUCxNQUFNLEFBbEZWLE1BQU0sRUF1RFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFHUCxNQUFNLEFBakZWLE1BQU0sRUFzRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBR1gsTUFBTSxBQWxGVixNQUFNLEVBdURQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUdYLE1BQU0sQUFqRlYsTUFBTSxFQXNEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUdQLE1BQU0sQUFsRlYsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUdQLE1BQU0sQUFqRlYsTUFBTSxFQXNEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FHWCxNQUFNLEFBbEZWLE1BQU0sRUF1REMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBR1gsTUFBTSxBQWpGVixNQUFNLENBQUM7UUFBRSxnQkFBZ0IsRUFuSE4sT0FBVyxHQW1IVTtNQXNEekMsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFHUCxNQUFNLEFBNUVWLE1BQU0sRUFpRFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFHUCxNQUFNLEFBM0VWLE1BQU0sRUFnRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBR1gsTUFBTSxBQTVFVixNQUFNLEVBaURQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUdYLE1BQU0sQUEzRVYsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUdQLE1BQU0sQUE1RVYsTUFBTSxFQWlEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUdQLE1BQU0sQUEzRVYsTUFBTSxFQWdEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FHWCxNQUFNLEFBNUVWLE1BQU0sRUFpREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBR1gsTUFBTSxBQTNFVixNQUFNLENBQUM7UUFDTixLQUFLLEVQdUhNLE9BQU8sR090SG5CO01BOENELEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBR1AsTUFBTSxBQWpFVixNQUFNLEVBc0NQLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBR1AsTUFBTSxBQWhFVixNQUFNLEVBcUNQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUdYLE1BQU0sQUFqRVYsTUFBTSxFQXNDUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FHWCxNQUFNLEFBaEVWLE1BQU0sRUFxQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFHUCxNQUFNLEFBakVWLE1BQU0sRUFzQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFHUCxNQUFNLEFBaEVWLE1BQU0sRUFxQ0MsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBR1gsTUFBTSxBQWpFVixNQUFNLEVBc0NDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUdYLE1BQU0sQUFoRVYsTUFBTSxDQUFDO1FBQUUsZ0JBQWdCLEVQb0loQixPQUFPLEdPcElrQjtJQXFDbkMsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFJUCxRQUFRLEVBNUJiLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUlYLFFBQVEsRUE1QkwsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFJUCxRQUFRLEVBNUJMLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUlYLFFBQVEsQ0FBQztNQXJGZCxnQkFBZ0IsRVAwSkosT0FBTztNT3pKbkIsWUFBWSxFQTlHVSxPQUFXO01BbUhqQyxLQUFLLEVQMkhRLE9BQU87TU9qSHBCLFVBQVUsRUFBRSxJQUFLO01BQ2pCLE1BQU0sRVA4T2EsT0FBTztNTzdPMUIsT0FBTyxFQXBIZSxHQUFFLEdBdUwrSTtNQTVCdkssQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFJUCxRQUFRLEFBbkZaLE1BQU0sRUF1RFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFJUCxRQUFRLEFBbEZaLE1BQU0sRUFzRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBSVgsUUFBUSxBQW5GWixNQUFNLEVBdURQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUlYLFFBQVEsQUFsRlosTUFBTSxFQXNEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUlQLFFBQVEsQUFuRlosTUFBTSxFQXVEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUlQLFFBQVEsQUFsRlosTUFBTSxFQXNEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FJWCxRQUFRLEFBbkZaLE1BQU0sRUF1REMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBSVgsUUFBUSxBQWxGWixNQUFNLENBQUM7UUFBRSxnQkFBZ0IsRUFoSEosT0FBVyxHQWdIUTtNQXNEekMsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFJUCxRQUFRLEFBN0VaLE1BQU0sRUFpRFAsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFJUCxRQUFRLEFBNUVaLE1BQU0sRUFnRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBSVgsUUFBUSxBQTdFWixNQUFNLEVBaURQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUlYLFFBQVEsQUE1RVosTUFBTSxFQWdEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUlQLFFBQVEsQUE3RVosTUFBTSxFQWlEQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUlQLFFBQVEsQUE1RVosTUFBTSxFQWdEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FJWCxRQUFRLEFBN0VaLE1BQU0sRUFpREMsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBSVgsUUFBUSxBQTVFWixNQUFNLENBQUM7UUFDTixLQUFLLEVQdUhNLE9BQU8sR090SG5CO01BOENELEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBSVAsUUFBUSxBQWxFWixNQUFNLEVBc0NQLEFBQUEsTUFBTSxBQXdCSCxTQUFTLEFBSVAsUUFBUSxBQWpFWixNQUFNLEVBcUNQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUlYLFFBQVEsQUFsRVosTUFBTSxFQXNDUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FJWCxRQUFRLEFBakVaLE1BQU0sRUFxQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFJUCxRQUFRLEFBbEVaLE1BQU0sRUFzQ0MsQUFBQSxPQUFPLEFBd0JaLFNBQVMsQUFJUCxRQUFRLEFBakVaLE1BQU0sRUFxQ0MsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBSVgsUUFBUSxBQWxFWixNQUFNLEVBc0NDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUlYLFFBQVEsQUFqRVosTUFBTSxDQUFDO1FBQUUsZ0JBQWdCLEVQc0lkLE9BQU8sR090SWdCO0lBcUNuQyxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUtQLEtBQUssRUE3QlYsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBS1gsS0FBSyxFQTdCRixBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUtQLEtBQUssRUE3QkYsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBS1gsS0FBSyxDQUFDO01BdEZYLGdCQUFnQixFUDJKUCxPQUFPO01PMUpoQixZQUFZLEVBM0dPLE9BQVc7TUFnSDlCLEtBQUssRVAySVEsT0FBTztNT2pJcEIsVUFBVSxFQUFFLElBQUs7TUFDakIsTUFBTSxFUDhPYSxPQUFPO01PN08xQixPQUFPLEVBcEhlLEdBQUUsR0F3TG1JO01BN0IzSixBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUtQLEtBQUssQUFwRlQsTUFBTSxFQXVEUCxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUtQLEtBQUssQUFuRlQsTUFBTSxFQXNEUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FLWCxLQUFLLEFBcEZULE1BQU0sRUF1RFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBS1gsS0FBSyxBQW5GVCxNQUFNLEVBc0RDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBS1AsS0FBSyxBQXBGVCxNQUFNLEVBdURDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBS1AsS0FBSyxBQW5GVCxNQUFNLEVBc0RDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUtYLEtBQUssQUFwRlQsTUFBTSxFQXVEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FLWCxLQUFLLEFBbkZULE1BQU0sQ0FBQztRQUFFLGdCQUFnQixFQTdHUCxPQUFXLEdBNkdXO01Bc0R6QyxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUtQLEtBQUssQUE5RVQsTUFBTSxFQWlEUCxBQUFBLE1BQU0sQUF3QkgsU0FBUyxBQUtQLEtBQUssQUE3RVQsTUFBTSxFQWdEUCxBQUFBLE1BQU0sQ0F3QlMsQUFBQSxRQUFDLEFBQUEsQ0FLWCxLQUFLLEFBOUVULE1BQU0sRUFpRFAsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBS1gsS0FBSyxBQTdFVCxNQUFNLEVBZ0RDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBS1AsS0FBSyxBQTlFVCxNQUFNLEVBaURDLEFBQUEsT0FBTyxBQXdCWixTQUFTLEFBS1AsS0FBSyxBQTdFVCxNQUFNLEVBZ0RDLEFBQUEsT0FBTyxDQXdCQSxBQUFBLFFBQUMsQUFBQSxDQUtYLEtBQUssQUE5RVQsTUFBTSxFQWlEQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FLWCxLQUFLLEFBN0VULE1BQU0sQ0FBQztRQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TUE4Q0QsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFLUCxLQUFLLEFBbkVULE1BQU0sRUFzQ1AsQUFBQSxNQUFNLEFBd0JILFNBQVMsQUFLUCxLQUFLLEFBbEVULE1BQU0sRUFxQ1AsQUFBQSxNQUFNLENBd0JTLEFBQUEsUUFBQyxBQUFBLENBS1gsS0FBSyxBQW5FVCxNQUFNLEVBc0NQLEFBQUEsTUFBTSxDQXdCUyxBQUFBLFFBQUMsQUFBQSxDQUtYLEtBQUssQUFsRVQsTUFBTSxFQXFDQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUtQLEtBQUssQUFuRVQsTUFBTSxFQXNDQyxBQUFBLE9BQU8sQUF3QlosU0FBUyxBQUtQLEtBQUssQUFsRVQsTUFBTSxFQXFDQyxBQUFBLE9BQU8sQ0F3QkEsQUFBQSxRQUFDLEFBQUEsQ0FLWCxLQUFLLEFBbkVULE1BQU0sRUFzQ0MsQUFBQSxPQUFPLENBd0JBLEFBQUEsUUFBQyxBQUFBLENBS1gsS0FBSyxBQWxFVCxNQUFNLENBQUM7UUFBRSxnQkFBZ0IsRVB1SWpCLE9BQU8sR092SW1COztBQXVFbkMsQUFBTSxNQUFBLEFBQUEsa0JBQWtCLENBQUM7RUFBQyxNQUFNLEVBQUMsQ0FBRTtFQUFFLE9BQU8sRUFBQyxDQUFFLEdBQUc7O0FBRWxELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7RUFDakMsQUFBQSxNQUFNLEVBQUUsQUFBQSxPQUFPLENBQUM7SUFwS0wsT0FBTyxFQXFLNEIsWUFBWSxHQUV6RDs7QURwR0gsQUFBQSxhQUFhLENBQUM7RUF0SWQsVUFBVSxFQUFFLElBQUs7RUFDakIsTUFBTSxFQUFFLENBQUU7RUFDVixJQUFpQixFQUFFLENBQUUsR0ErS3BCO0VBM0NELEFBQUEsYUFBYSxBTmlGZCxPQUFPLEVNakZOLEFBQUEsYUFBYSxBTmlGSixNQUFNLENBQUM7SUFBRSxPQUFPLEVBQUUsR0FBSTtJQUFFLE9BQU8sRUFBRSxLQUFNLEdBQUk7RU1qRnBELEFBQUEsYUFBYSxBTmtGZCxNQUFNLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VNbEZ4QixBQUdhLGFBSEEsQUFHUixPQUFPLENBQUMsRUFBRSxDQUFYO0lBMUVOLE9BQU8sRUF6QmtCLFlBQVk7SUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHO0lBd0Y1QixLQUFLLEVBQUUsR0FBVSxHQVUyQztJQUg1RCxBQXZIQSxhQXVIYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLEdBMUhmLE1BQU0sRUF1SE4sQUF2SFEsYUF1SEssQUFHUixPQUFPLENBQUMsRUFBRSxDQTFIUCxPQUFPLENBQUM7TUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztNQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7SUFvSEMsQUFqSEEsYUFpSGEsQUFHUixPQUFPLENBQUMsRUFBRSxBQXJIaEIsWUFBWSxDQUNYLE1BQU0sRUFpSE4sQUFqSFEsYUFpSEssQUFHUixPQUFPLENBQUMsRUFBRSxBQXJIaEIsWUFBWSxDQUNILE9BQU8sQ0FBQztNQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztJQStHRCxBQU5BLGFBTWEsQUFHUixPQUFPLENBQUMsRUFBRSxDQVRmLE1BQU0sRUFNTixBQU5RLGFBTUssQUFHUixPQUFPLENBQUMsRUFBRSxDQVRQLE9BQU8sQ0FBQztNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUFNbEMsQUFHYSxhQUhBLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0FBWDtJQTFFTixPQUFPLEVBekJrQixZQUFZO0lBMEJyQyxNQUFNLEVBekJrQixDQUFDLENBQUUsSUFBRztJQXdGNUIsS0FBSyxFQUFFLFNBQVUsR0FVMkM7SUFINUQsQUF2SEEsYUF1SGEsQUFHUixPQUFPLENBQUMsRUFBRSxHQTFIZixNQUFNLEVBdUhOLEFBdkhRLGFBdUhLLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0ExSFAsT0FBTyxDQUFDO01BQ2hCLFdBQXdCLEVBekJBLEdBQUcsQ0F5QmlDLEtBQUs7TUFDakUsWUFBWSxFQUFFLHdCQUFJLEdBQ25CO0lBb0hDLEFBakhBLGFBaUhhLEFBR1IsT0FBTyxDQUFDLEVBQUUsQUFySGhCLFlBQVksQ0FDWCxNQUFNLEVBaUhOLEFBakhRLGFBaUhLLEFBR1IsT0FBTyxDQUFDLEVBQUUsQUFySGhCLFlBQVksQ0FDSCxPQUFPLENBQUM7TUFDZCxXQUF3QixFQUFTLENBQUUsR0FDcEM7SUErR0QsQUFOQSxhQU1hLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0FUZixNQUFNLEVBTU4sQUFOUSxhQU1LLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0FUUCxPQUFPLENBQUM7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBTWxDLEFBR2EsYUFIQSxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBQVg7SUExRU4sT0FBTyxFQXpCa0IsWUFBWTtJQTBCckMsTUFBTSxFQXpCa0IsQ0FBQyxDQUFFLElBQUc7SUF3RjVCLEtBQUssRUFBRSxHQUFVLEdBVTJDO0lBSDVELEFBdkhBLGFBdUhhLEFBR1IsT0FBTyxDQUFDLEVBQUUsR0ExSGYsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBMUhQLE9BQU8sQ0FBQztNQUNoQixXQUF3QixFQXpCQSxHQUFHLENBeUJpQyxLQUFLO01BQ2pFLFlBQVksRUFBRSx3QkFBSSxHQUNuQjtJQW9IQyxBQWpIQSxhQWlIYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLEFBckhoQixZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQUdSLE9BQU8sQ0FBQyxFQUFFLEFBckhoQixZQUFZLENBQ0gsT0FBTyxDQUFDO01BQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO0lBK0dELEFBTkEsYUFNYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBVGYsTUFBTSxFQU1OLEFBTlEsYUFNSyxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBVFAsT0FBTyxDQUFDO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQU1sQyxBQUdhLGFBSEEsQUFHUixPQUFPLENBQUMsRUFBRSxDQUFYO0lBMUVOLE9BQU8sRUF6QmtCLFlBQVk7SUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHO0lBd0Y1QixLQUFLLEVBQUUsR0FBVSxHQVUyQztJQUg1RCxBQXZIQSxhQXVIYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLEdBMUhmLE1BQU0sRUF1SE4sQUF2SFEsYUF1SEssQUFHUixPQUFPLENBQUMsRUFBRSxDQTFIUCxPQUFPLENBQUM7TUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztNQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7SUFvSEMsQUFqSEEsYUFpSGEsQUFHUixPQUFPLENBQUMsRUFBRSxBQXJIaEIsWUFBWSxDQUNYLE1BQU0sRUFpSE4sQUFqSFEsYUFpSEssQUFHUixPQUFPLENBQUMsRUFBRSxBQXJIaEIsWUFBWSxDQUNILE9BQU8sQ0FBQztNQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztJQStHRCxBQU5BLGFBTWEsQUFHUixPQUFPLENBQUMsRUFBRSxDQVRmLE1BQU0sRUFNTixBQU5RLGFBTUssQUFHUixPQUFPLENBQUMsRUFBRSxDQVRQLE9BQU8sQ0FBQztNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUFNbEMsQUFHYSxhQUhBLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0FBWDtJQTFFTixPQUFPLEVBekJrQixZQUFZO0lBMEJyQyxNQUFNLEVBekJrQixDQUFDLENBQUUsSUFBRztJQXdGNUIsS0FBSyxFQUFFLFNBQVUsR0FVMkM7SUFINUQsQUF2SEEsYUF1SGEsQUFHUixPQUFPLENBQUMsRUFBRSxHQTFIZixNQUFNLEVBdUhOLEFBdkhRLGFBdUhLLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0ExSFAsT0FBTyxDQUFDO01BQ2hCLFdBQXdCLEVBekJBLEdBQUcsQ0F5QmlDLEtBQUs7TUFDakUsWUFBWSxFQUFFLHdCQUFJLEdBQ25CO0lBb0hDLEFBakhBLGFBaUhhLEFBR1IsT0FBTyxDQUFDLEVBQUUsQUFySGhCLFlBQVksQ0FDWCxNQUFNLEVBaUhOLEFBakhRLGFBaUhLLEFBR1IsT0FBTyxDQUFDLEVBQUUsQUFySGhCLFlBQVksQ0FDSCxPQUFPLENBQUM7TUFDZCxXQUF3QixFQUFTLENBQUUsR0FDcEM7SUErR0QsQUFOQSxhQU1hLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0FUZixNQUFNLEVBTU4sQUFOUSxhQU1LLEFBR1IsT0FBTyxDQUFDLEVBQUUsQ0FUUCxPQUFPLENBQUM7TUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBTWxDLEFBR2EsYUFIQSxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBQVg7SUExRU4sT0FBTyxFQXpCa0IsWUFBWTtJQTBCckMsTUFBTSxFQXpCa0IsQ0FBQyxDQUFFLElBQUc7SUF3RjVCLEtBQUssRUFBRSxTQUFVLEdBVTJDO0lBSDVELEFBdkhBLGFBdUhhLEFBR1IsT0FBTyxDQUFDLEVBQUUsR0ExSGYsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBMUhQLE9BQU8sQ0FBQztNQUNoQixXQUF3QixFQXpCQSxHQUFHLENBeUJpQyxLQUFLO01BQ2pFLFlBQVksRUFBRSx3QkFBSSxHQUNuQjtJQW9IQyxBQWpIQSxhQWlIYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLEFBckhoQixZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQUdSLE9BQU8sQ0FBQyxFQUFFLEFBckhoQixZQUFZLENBQ0gsT0FBTyxDQUFDO01BQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO0lBK0dELEFBTkEsYUFNYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBVGYsTUFBTSxFQU1OLEFBTlEsYUFNSyxBQUdSLE9BQU8sQ0FBQyxFQUFFLENBVFAsT0FBTyxDQUFDO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQU1sQyxBQUdhLGFBSEEsQUFHUixPQUFPLENBQUMsRUFBRSxDQUFYO0lBMUVOLE9BQU8sRUF6QmtCLFlBQVk7SUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHO0lBd0Y1QixLQUFLLEVBQUUsS0FBVSxHQVUyQztJQUg1RCxBQXZIQSxhQXVIYSxBQUdSLE9BQU8sQ0FBQyxFQUFFLEdBMUhmLE1BQU0sRUF1SE4sQUF2SFEsYUF1SEssQUFHUixPQUFPLENBQUMsRUFBRSxDQTFIUCxPQUFPLENBQUM7TUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztNQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7SUFvSEMsQUFqSEEsYUFpSGEsQUFHUixPQUFPLENBQUMsRUFBRSxBQXJIaEIsWUFBWSxDQUNYLE1BQU0sRUFpSE4sQUFqSFEsYUFpSEssQUFHUixPQUFPLENBQUMsRUFBRSxBQXJIaEIsWUFBWSxDQUNILE9BQU8sQ0FBQztNQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztJQStHRCxBQU5BLGFBTWEsQUFHUixPQUFPLENBQUMsRUFBRSxDQVRmLE1BQU0sRUFNTixBQU5RLGFBTUssQUFHUixPQUFPLENBQUMsRUFBRSxDQVRQLE9BQU8sQ0FBQztNQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUFNbEMsQUFNSSxhQU5TLEdBTVQsRUFBRSxDQUFDO0lBN0VULE9BQU8sRUF6QmtCLFlBQVk7SUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHLEdBcUdjO0lBTjFDLEFBdkhBLGFBdUhhLEdBTVQsRUFBRSxHQTdITixNQUFNLEVBdUhOLEFBdkhRLGFBdUhLLEdBTVQsRUFBRSxDQTdIRSxPQUFPLENBQUM7TUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztNQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7SUFvSEMsQUFqSEEsYUFpSGEsR0FNVCxFQUFFLEFBeEhQLFlBQVksQ0FDWCxNQUFNLEVBaUhOLEFBakhRLGFBaUhLLEdBTVQsRUFBRSxBQXhIUCxZQUFZLENBQ0gsT0FBTyxDQUFDO01BQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO0VBK0dELEFBU00sYUFUTyxBQVFWLE1BQU0sR0FDSCxFQUFFLENBQUM7SUFoRlgsT0FBTyxFQXBCa0IsS0FBSztJQXFCOUIsTUFBTSxFQXBCa0IsQ0FBQztJQW1Hd0MsS0FBSyxFQUFFLElBQUssR0FBSTtJQVQvRSxBQXZIQSxhQXVIYSxBQVFWLE1BQU0sR0FDSCxFQUFFLEdBaElSLE1BQU0sRUF1SE4sQUF2SFEsYUF1SEssQUFRVixNQUFNLEdBQ0gsRUFBRSxDQWhJQSxPQUFPLENBQUM7TUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztNQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7SUFvSEMsQUFqSEEsYUFpSGEsQUFRVixNQUFNLEdBQ0gsRUFBRSxBQTNIVCxZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQVFWLE1BQU0sR0FDSCxFQUFFLEFBM0hULFlBQVksQ0FDSCxPQUFPLENBQUM7TUFDZCxXQUF3QixFQUFTLENBQUUsR0FDcEM7SUErR0QsQUF6RkUsYUF5RlcsQUFRVixNQUFNLEdBQ0gsRUFBRSxHQWxHTixNQUFNLEVBeUZSLEFBekZVLGFBeUZHLEFBUVYsTUFBTSxHQUNILEVBQUUsQ0FsR0UsT0FBTyxDQUFDO01BQ2hCLFlBQVksRUFBRSx3QkFBSTtNQUNsQixpQkFBaUIsRUFBRSxDQUFFO01BQ3JCLFVBQVUsRUF6RFksR0FBRyxDQXlEYyxLQUFLO01BQzVDLE9BQU8sRUFBRSxLQUFNO01BQ2YsTUFBTSxFQUFDLENBQUUsR0FDVjtJQW1GRCxBQWxGRSxhQWtGVyxBQVFWLE1BQU0sR0FDSCxFQUFFLEdBM0ZOLE1BQU0sQ0FBQztNQUNMLEtBQUssRUFBRSxJQUFLLEdBQ2Y7SUFnRkQsQUE3RUUsYUE2RVcsQUFRVixNQUFNLEdBQ0gsRUFBRSxBQXZGUCxZQUFZLENBQ1gsTUFBTSxFQTZFUixBQTdFVSxhQTZFRyxBQVFWLE1BQU0sR0FDSCxFQUFFLEFBdkZQLFlBQVksQ0FDSCxPQUFPLENBQUM7TUFDZCxVQUFVLEVBQUUsQ0FBRSxHQUNmO0VBMkVILEFBYU0sYUFiTyxBQVlWLGdCQUFnQixHQUNiLEVBQUUsQ0FBQztJQXBGWCxPQUFPLEVBekJrQixZQUFZO0lBMEJyQyxNQUFNLEVBekJrQixDQUFDLENBQUUsSUFBRyxHQWtIdkI7SUFuQkwsQUF2SEEsYUF1SGEsQUFZVixnQkFBZ0IsR0FDYixFQUFFLEdBcElSLE1BQU0sRUF1SE4sQUF2SFEsYUF1SEssQUFZVixnQkFBZ0IsR0FDYixFQUFFLENBcElBLE9BQU8sQ0FBQztNQUNoQixXQUF3QixFQXpCQSxHQUFHLENBeUJpQyxLQUFLO01BQ2pFLFlBQVksRUFBRSx3QkFBSSxHQUNuQjtJQW9IQyxBQWpIQSxhQWlIYSxBQVlWLGdCQUFnQixHQUNiLEVBQUUsQUEvSFQsWUFBWSxDQUNYLE1BQU0sRUFpSE4sQUFqSFEsYUFpSEssQUFZVixnQkFBZ0IsR0FDYixFQUFFLEFBL0hULFlBQVksQ0FDSCxPQUFPLENBQUM7TUFDZCxXQUF3QixFQUFTLENBQUUsR0FDcEM7SUE4SEssTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtNQWZ0QyxBQWFNLGFBYk8sQUFZVixnQkFBZ0IsR0FDYixFQUFFLENBQUM7UUFwRlgsT0FBTyxFQXBCa0IsS0FBSztRQXFCOUIsTUFBTSxFQXBCa0IsQ0FBQztRQTJHZixLQUFLLEVBQUUsSUFBSyxHQUVmO1FBbkJMLEFBdkhBLGFBdUhhLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxHQXBJUixNQUFNLEVBdUhOLEFBdkhRLGFBdUhLLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxDQXBJQSxPQUFPLENBQUM7VUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztVQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7UUFvSEMsQUFqSEEsYUFpSGEsQUFZVixnQkFBZ0IsR0FDYixFQUFFLEFBL0hULFlBQVksQ0FDWCxNQUFNLEVBaUhOLEFBakhRLGFBaUhLLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxBQS9IVCxZQUFZLENBQ0gsT0FBTyxDQUFDO1VBQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO1FBK0dELEFBekZFLGFBeUZXLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxHQXRHTixNQUFNLEVBeUZSLEFBekZVLGFBeUZHLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxDQXRHRSxPQUFPLENBQUM7VUFDaEIsWUFBWSxFQUFFLHdCQUFJO1VBQ2xCLGlCQUFpQixFQUFFLENBQUU7VUFDckIsVUFBVSxFQXpEWSxHQUFHLENBeURjLEtBQUs7VUFDNUMsT0FBTyxFQUFFLEtBQU07VUFDZixNQUFNLEVBQUMsQ0FBRSxHQUNWO1FBbUZELEFBbEZFLGFBa0ZXLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxHQS9GTixNQUFNLENBQUM7VUFDTCxLQUFLLEVBQUUsSUFBSyxHQUNmO1FBZ0ZELEFBN0VFLGFBNkVXLEFBWVYsZ0JBQWdCLEdBQ2IsRUFBRSxBQTNGUCxZQUFZLENBQ1gsTUFBTSxFQTZFUixBQTdFVSxhQTZFRyxBQVlWLGdCQUFnQixHQUNiLEVBQUUsQUEzRlAsWUFBWSxDQUNILE9BQU8sQ0FBQztVQUNkLFVBQVUsRUFBRSxDQUFFLEdBQ2Y7RUEyRUgsQUFzQmEsYUF0QkEsQUFzQlYsT0FBTyxHQUFHLENBQUMsQ0FBQztJQTdGakIsT0FBTyxFQXpCa0IsWUFBWTtJQTBCckMsTUFBTSxFQXpCa0IsQ0FBQyxDQUFFLElBQUcsR0FxSHlEO0lBdEJyRixBQXZIQSxhQXVIYSxBQXNCVixPQUFPLEdBQUcsQ0FBQyxHQTdJZCxNQUFNLEVBdUhOLEFBdkhRLGFBdUhLLEFBc0JWLE9BQU8sR0FBRyxDQUFDLENBN0lOLE9BQU8sQ0FBQztNQUNoQixXQUF3QixFQXpCQSxHQUFHLENBeUJpQyxLQUFLO01BQ2pFLFlBQVksRUFBRSx3QkFBSSxHQUNuQjtJQW9IQyxBQWpIQSxhQWlIYSxBQXNCVixPQUFPLEdBQUcsQ0FBQyxBQXhJZixZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQXNCVixPQUFPLEdBQUcsQ0FBQyxBQXhJZixZQUFZLENBQ0gsT0FBTyxDQUFDO01BQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO0lBK0dELEFBc0JhLGFBdEJBLEFBc0JWLE9BQU8sR0FBRyxDQUFDO0lBdEJkLEFBcENFLGFBb0NXLEFBc0JWLE9BQU8sR0FBRyxDQUFDLEdBMURaLENBQUM7SUFvQ0gsQUFuQ0UsYUFtQ1csQUFzQlYsT0FBTyxHQUFHLENBQUMsR0F6RFosTUFBTTtJQW1DUixBQWxDRSxhQWtDVyxBQXNCVixPQUFPLEdBQUcsQ0FBQyxHQXhEWixPQUFPLENBQUM7TU56RlYsYUFBYSxFTXlGZSxDQUFDLEdBQUs7SUFrQ2xDLEFBc0JhLGFBdEJBLEFBc0JWLE9BQU8sR0FBRyxDQUFDLEFBdkRiLFlBQVk7SUFpQ2IsQUFoQ2dCLGFBZ0NILEFBc0JWLE9BQU8sR0FBRyxDQUFDLEFBdERiLFlBQVksR0FBRyxDQUFDO0lBZ0NqQixBQS9CZ0IsYUErQkgsQUFzQlYsT0FBTyxHQUFHLENBQUMsQUFyRGIsWUFBWSxHQUFHLE1BQU07SUErQnRCLEFBOUJnQixhQThCSCxBQXNCVixPQUFPLEdBQUcsQ0FBQyxBQXBEYixZQUFZLEdBQUcsT0FBTyxDQUFDO01ObkZ4QixpQ0FBcUMsRUprSHpCLEdBQUc7TUlqSGYsOEJBQWtDLEVKaUh0QixHQUFHO01JaEhmLHlCQUE2QixFSmdIakIsR0FBRztNSS9HZixzQkFBMEIsRUorR2QsR0FBRyxHVXhCZDtJQXVCRCxBQXNCYSxhQXRCQSxBQXNCVixPQUFPLEdBQUcsQ0FBQyxBQTVDYixXQUFXO0lBc0JaLEFBckJlLGFBcUJGLEFBc0JWLE9BQU8sR0FBRyxDQUFDLEFBM0NiLFdBQVcsR0FBRyxDQUFDO0lBcUJoQixBQXBCZSxhQW9CRixBQXNCVixPQUFPLEdBQUcsQ0FBQyxBQTFDYixXQUFXLEdBQUcsTUFBTTtJQW9CckIsQUFuQmUsYUFtQkYsQUFzQlYsT0FBTyxHQUFHLENBQUMsQUF6Q2IsV0FBVyxHQUFHLE9BQU8sQ0FBQztNTjlGdkIsa0NBQXFDLEVKa0h6QixHQUFHO01JakhmLCtCQUFrQyxFSmlIdEIsR0FBRztNSWhIZiwwQkFBNkIsRUpnSGpCLEdBQUc7TUkvR2YsdUJBQTBCLEVKK0dkLEdBQUcsR1ViZDtFQVlELEFBdUJtQixhQXZCTixBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsQ0FBQztJQTlGdkIsT0FBTyxFQXBCa0IsS0FBSztJQXFCOUIsTUFBTSxFQXBCa0IsQ0FBQyxHQWlIMkY7SUF2QmxILEFBdkhBLGFBdUhhLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxHQTlJcEIsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsQ0E5SVosT0FBTyxDQUFDO01BQ2hCLFdBQXdCLEVBekJBLEdBQUcsQ0F5QmlDLEtBQUs7TUFDakUsWUFBWSxFQUFFLHdCQUFJLEdBQ25CO0lBb0hDLEFBakhBLGFBaUhhLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQXpJckIsWUFBWSxDQUNYLE1BQU0sRUFpSE4sQUFqSFEsYUFpSEssQUF1QlYsT0FBTyxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBeklyQixZQUFZLENBQ0gsT0FBTyxDQUFDO01BQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO0lBK0dELEFBekZFLGFBeUZXLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxHQWhIbEIsTUFBTSxFQXlGUixBQXpGVSxhQXlGRyxBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsQ0FoSFYsT0FBTyxDQUFDO01BQ2hCLFlBQVksRUFBRSx3QkFBSTtNQUNsQixpQkFBaUIsRUFBRSxDQUFFO01BQ3JCLFVBQVUsRUF6RFksR0FBRyxDQXlEYyxLQUFLO01BQzVDLE9BQU8sRUFBRSxLQUFNO01BQ2YsTUFBTSxFQUFDLENBQUUsR0FDVjtJQW1GRCxBQWxGRSxhQWtGVyxBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsR0F6R2xCLE1BQU0sQ0FBQztNQUNMLEtBQUssRUFBRSxJQUFLLEdBQ2Y7SUFnRkQsQUE3RUUsYUE2RVcsQUF1QlYsT0FBTyxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBckduQixZQUFZLENBQ1gsTUFBTSxFQTZFUixBQTdFVSxhQTZFRyxBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsQUFyR25CLFlBQVksQ0FDSCxPQUFPLENBQUM7TUFDZCxVQUFVLEVBQUUsQ0FBRSxHQUNmO0lBMkVILEFBdUJtQixhQXZCTixBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUM7SUF2QnBCLEFBcENFLGFBb0NXLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxHQTNEbEIsQ0FBQztJQW9DSCxBQW5DRSxhQW1DVyxBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsR0ExRGxCLE1BQU07SUFtQ1IsQUFsQ0UsYUFrQ1csQUF1QlYsT0FBTyxBQUFBLE1BQU0sR0FBRyxDQUFDLEdBekRsQixPQUFPLENBQUM7TU56RlYsYUFBYSxFTXlGZSxDQUFDLEdBQUs7SUFrQ2xDLEFBdUJtQixhQXZCTixBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsQUF4RG5CLFlBQVk7SUFpQ2IsQUFoQ2dCLGFBZ0NILEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQXZEbkIsWUFBWSxHQUFHLENBQUM7SUFnQ2pCLEFBL0JnQixhQStCSCxBQXVCVixPQUFPLEFBQUEsTUFBTSxHQUFHLENBQUMsQUF0RG5CLFlBQVksR0FBRyxNQUFNO0lBK0J0QixBQTlCZ0IsYUE4QkgsQUF1QlYsT0FBTyxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBckRuQixZQUFZLEdBQUcsT0FBTyxDQUFDO01OOUV4Qix1QkFBNEIsRUo2R2hCLEdBQUc7TUk1R2Ysd0JBQTZCLEVKNEdqQixHQUFHO01JM0dmLHNCQUEyQixFSjJHZixHQUFHO01JMUdmLHVCQUE0QixFSjBHaEIsR0FBRyxHVXhCZDtJQXVCRCxBQXVCbUIsYUF2Qk4sQUF1QlYsT0FBTyxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBN0NuQixXQUFXO0lBc0JaLEFBckJlLGFBcUJGLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQTVDbkIsV0FBVyxHQUFHLENBQUM7SUFxQmhCLEFBcEJlLGFBb0JGLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQTNDbkIsV0FBVyxHQUFHLE1BQU07SUFvQnJCLEFBbkJlLGFBbUJGLEFBdUJWLE9BQU8sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQTFDbkIsV0FBVyxHQUFHLE9BQU8sQ0FBQztNTnpGdkIsMEJBQTRCLEVKNkdoQixHQUFHO01JNUdmLDJCQUE2QixFSjRHakIsR0FBRztNSTNHZix5QkFBMkIsRUoyR2YsR0FBRztNSTFHZiwwQkFBNEIsRUowR2hCLEdBQUcsR1ViZDtFQXFDRyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBekJ2QyxBQXdCNkIsYUF4QmhCLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7TUEvRmpDLE9BQU8sRUF6QmtCLFlBQVk7TUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHLEdBOEh6QjtNQS9CSCxBQXZIQSxhQXVIYSxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQS9JOUIsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQS9JdEIsT0FBTyxDQUFDO1FBQ2hCLFdBQXdCLEVBekJBLEdBQUcsQ0F5QmlDLEtBQUs7UUFDakUsWUFBWSxFQUFFLHdCQUFJLEdBQ25CO01Bb0hDLEFBakhBLGFBaUhhLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBMUkvQixZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQTFJL0IsWUFBWSxDQUNILE9BQU8sQ0FBQztRQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztNQStHRCxBQXdCNkIsYUF4QmhCLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDO01BeEI5QixBQXBDRSxhQW9DVyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQTVENUIsQ0FBQztNQW9DSCxBQW5DRSxhQW1DVyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQTNENUIsTUFBTTtNQW1DUixBQWxDRSxhQWtDVyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQTFENUIsT0FBTyxDQUFDO1FOekZWLGFBQWEsRU15RmUsQ0FBQyxHQUFLO01Ba0NsQyxBQXdCNkIsYUF4QmhCLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBekQ3QixZQUFZO01BaUNiLEFBaENnQixhQWdDSCxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXhEN0IsWUFBWSxHQUFHLENBQUM7TUFnQ2pCLEFBL0JnQixhQStCSCxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXZEN0IsWUFBWSxHQUFHLE1BQU07TUErQnRCLEFBOUJnQixhQThCSCxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXREN0IsWUFBWSxHQUFHLE9BQU8sQ0FBQztRTm5GeEIsaUNBQXFDLEVKa0h6QixHQUFHO1FJakhmLDhCQUFrQyxFSmlIdEIsR0FBRztRSWhIZix5QkFBNkIsRUpnSGpCLEdBQUc7UUkvR2Ysc0JBQTBCLEVKK0dkLEdBQUcsR1V4QmQ7TUF1QkQsQUF3QjZCLGFBeEJoQixBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQTlDN0IsV0FBVztNQXNCWixBQXJCZSxhQXFCRixBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQTdDN0IsV0FBVyxHQUFHLENBQUM7TUFxQmhCLEFBcEJlLGFBb0JGLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBNUM3QixXQUFXLEdBQUcsTUFBTTtNQW9CckIsQUFuQmUsYUFtQkYsQUF3QlYsT0FBTyxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUEzQzdCLFdBQVcsR0FBRyxPQUFPLENBQUM7UU45RnZCLGtDQUFxQyxFSmtIekIsR0FBRztRSWpIZiwrQkFBa0MsRUppSHRCLEdBQUc7UUloSGYsMEJBQTZCLEVKZ0hqQixHQUFHO1FJL0dmLHVCQUEwQixFSitHZCxHQUFHLEdVYmQ7RUF3Q0csTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJQTVCcEMsQUF3QjZCLGFBeEJoQixBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO01BL0ZqQyxPQUFPLEVBcEJrQixLQUFLO01BcUI5QixNQUFNLEVBcEJrQixDQUFDLEdBeUhwQjtNQS9CSCxBQXZIQSxhQXVIYSxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQS9JOUIsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQS9JdEIsT0FBTyxDQUFDO1FBQ2hCLFdBQXdCLEVBekJBLEdBQUcsQ0F5QmlDLEtBQUs7UUFDakUsWUFBWSxFQUFFLHdCQUFJLEdBQ25CO01Bb0hDLEFBakhBLGFBaUhhLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBMUkvQixZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQTFJL0IsWUFBWSxDQUNILE9BQU8sQ0FBQztRQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztNQStHRCxBQXpGRSxhQXlGVyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQWpINUIsTUFBTSxFQXlGUixBQXpGVSxhQXlGRyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQWpIcEIsT0FBTyxDQUFDO1FBQ2hCLFlBQVksRUFBRSx3QkFBSTtRQUNsQixpQkFBaUIsRUFBRSxDQUFFO1FBQ3JCLFVBQVUsRUF6RFksR0FBRyxDQXlEYyxLQUFLO1FBQzVDLE9BQU8sRUFBRSxLQUFNO1FBQ2YsTUFBTSxFQUFDLENBQUUsR0FDVjtNQW1GRCxBQWxGRSxhQWtGVyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQTFHNUIsTUFBTSxDQUFDO1FBQ0wsS0FBSyxFQUFFLElBQUssR0FDZjtNQWdGRCxBQTdFRSxhQTZFVyxBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXRHN0IsWUFBWSxDQUNYLE1BQU0sRUE2RVIsQUE3RVUsYUE2RUcsQUF3QlYsT0FBTyxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUF0RzdCLFlBQVksQ0FDSCxPQUFPLENBQUM7UUFDZCxVQUFVLEVBQUUsQ0FBRSxHQUNmO01BMkVILEFBd0I2QixhQXhCaEIsQUF3QlYsT0FBTyxBQUFBLGdCQUFnQixHQUFHLENBQUM7TUF4QjlCLEFBcENFLGFBb0NXLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBNUQ1QixDQUFDO01Bb0NILEFBbkNFLGFBbUNXLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBM0Q1QixNQUFNO01BbUNSLEFBbENFLGFBa0NXLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBMUQ1QixPQUFPLENBQUM7UU56RlYsYUFBYSxFTXlGZSxDQUFDLEdBQUs7TUFrQ2xDLEFBd0I2QixhQXhCaEIsQUF3QlYsT0FBTyxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUF6RDdCLFlBQVk7TUFpQ2IsQUFoQ2dCLGFBZ0NILEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBeEQ3QixZQUFZLEdBQUcsQ0FBQztNQWdDakIsQUEvQmdCLGFBK0JILEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBdkQ3QixZQUFZLEdBQUcsTUFBTTtNQStCdEIsQUE5QmdCLGFBOEJILEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBdEQ3QixZQUFZLEdBQUcsT0FBTyxDQUFDO1FOOUV4Qix1QkFBNEIsRUo2R2hCLEdBQUc7UUk1R2Ysd0JBQTZCLEVKNEdqQixHQUFHO1FJM0dmLHNCQUEyQixFSjJHZixHQUFHO1FJMUdmLHVCQUE0QixFSjBHaEIsR0FBRyxHVXhCZDtNQXVCRCxBQXdCNkIsYUF4QmhCLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBOUM3QixXQUFXO01Bc0JaLEFBckJlLGFBcUJGLEFBd0JWLE9BQU8sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBN0M3QixXQUFXLEdBQUcsQ0FBQztNQXFCaEIsQUFwQmUsYUFvQkYsQUF3QlYsT0FBTyxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUE1QzdCLFdBQVcsR0FBRyxNQUFNO01Bb0JyQixBQW5CZSxhQW1CRixBQXdCVixPQUFPLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQTNDN0IsV0FBVyxHQUFHLE9BQU8sQ0FBQztRTnpGdkIsMEJBQTRCLEVKNkdoQixHQUFHO1FJNUdmLDJCQUE2QixFSjRHakIsR0FBRztRSTNHZix5QkFBMkIsRUoyR2YsR0FBRztRSTFHZiwwQkFBNEIsRUowR2hCLEdBQUcsR1ViZDtFQVlELEFBaUNZLGFBakNDLEFBaUNWLE1BQU0sR0FBRyxDQUFDLENBQUM7SUF4R2hCLE9BQU8sRUF6QmtCLFlBQVk7SUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHLEdBZ0l1RDtJQWpDbkYsQUF2SEEsYUF1SGEsQUFpQ1YsTUFBTSxHQUFHLENBQUMsR0F4SmIsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQWlDVixNQUFNLEdBQUcsQ0FBQyxDQXhKTCxPQUFPLENBQUM7TUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztNQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7SUFvSEMsQUFqSEEsYUFpSGEsQUFpQ1YsTUFBTSxHQUFHLENBQUMsQUFuSmQsWUFBWSxDQUNYLE1BQU0sRUFpSE4sQUFqSFEsYUFpSEssQUFpQ1YsTUFBTSxHQUFHLENBQUMsQUFuSmQsWUFBWSxDQUNILE9BQU8sQ0FBQztNQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztJQStHRCxBQWlDWSxhQWpDQyxBQWlDVixNQUFNLEdBQUcsQ0FBQztJQWpDYixBQXBDRSxhQW9DVyxBQWlDVixNQUFNLEdBQUcsQ0FBQyxHQXJFWCxDQUFDO0lBb0NILEFBbkNFLGFBbUNXLEFBaUNWLE1BQU0sR0FBRyxDQUFDLEdBcEVYLE1BQU07SUFtQ1IsQUFsQ0UsYUFrQ1csQUFpQ1YsTUFBTSxHQUFHLENBQUMsR0FuRVgsT0FBTyxDQUFDO01OekZWLGFBQWEsRU15RmUsQ0FBQyxHQUFLO0lBa0NsQyxBQWlDWSxhQWpDQyxBQWlDVixNQUFNLEdBQUcsQ0FBQyxBQWxFWixZQUFZO0lBaUNiLEFBaENnQixhQWdDSCxBQWlDVixNQUFNLEdBQUcsQ0FBQyxBQWpFWixZQUFZLEdBQUcsQ0FBQztJQWdDakIsQUEvQmdCLGFBK0JILEFBaUNWLE1BQU0sR0FBRyxDQUFDLEFBaEVaLFlBQVksR0FBRyxNQUFNO0lBK0J0QixBQTlCZ0IsYUE4QkgsQUFpQ1YsTUFBTSxHQUFHLENBQUMsQUEvRFosWUFBWSxHQUFHLE9BQU8sQ0FBQztNTm5GeEIsaUNBQXFDLEVBa1R4QixNQUFNO01BalRuQiw4QkFBa0MsRUFpVHJCLE1BQU07TUFoVG5CLHlCQUE2QixFQWdUaEIsTUFBTTtNQS9TbkIsc0JBQTBCLEVBK1NiLE1BQU0sR014TmxCO0lBdUJELEFBaUNZLGFBakNDLEFBaUNWLE1BQU0sR0FBRyxDQUFDLEFBdkRaLFdBQVc7SUFzQlosQUFyQmUsYUFxQkYsQUFpQ1YsTUFBTSxHQUFHLENBQUMsQUF0RFosV0FBVyxHQUFHLENBQUM7SUFxQmhCLEFBcEJlLGFBb0JGLEFBaUNWLE1BQU0sR0FBRyxDQUFDLEFBckRaLFdBQVcsR0FBRyxNQUFNO0lBb0JyQixBQW5CZSxhQW1CRixBQWlDVixNQUFNLEdBQUcsQ0FBQyxBQXBEWixXQUFXLEdBQUcsT0FBTyxDQUFDO01OOUZ2QixrQ0FBcUMsRUFrVHhCLE1BQU07TUFqVG5CLCtCQUFrQyxFQWlUckIsTUFBTTtNQWhUbkIsMEJBQTZCLEVBZ1RoQixNQUFNO01BL1NuQix1QkFBMEIsRUErU2IsTUFBTSxHTTdNbEI7RUFZRCxBQWtDa0IsYUFsQ0wsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLENBQUM7SUF6R3RCLE9BQU8sRUFwQmtCLEtBQUs7SUFxQjlCLE1BQU0sRUFwQmtCLENBQUMsR0E0SHVGO0lBbEM5RyxBQXZIQSxhQXVIYSxBQWtDVixNQUFNLEFBQUEsTUFBTSxHQUFHLENBQUMsR0F6Sm5CLE1BQU0sRUF1SE4sQUF2SFEsYUF1SEssQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLENBekpYLE9BQU8sQ0FBQztNQUNoQixXQUF3QixFQXpCQSxHQUFHLENBeUJpQyxLQUFLO01BQ2pFLFlBQVksRUFBRSx3QkFBSSxHQUNuQjtJQW9IQyxBQWpIQSxhQWlIYSxBQWtDVixNQUFNLEFBQUEsTUFBTSxHQUFHLENBQUMsQUFwSnBCLFlBQVksQ0FDWCxNQUFNLEVBaUhOLEFBakhRLGFBaUhLLEFBa0NWLE1BQU0sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQXBKcEIsWUFBWSxDQUNILE9BQU8sQ0FBQztNQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztJQStHRCxBQXpGRSxhQXlGVyxBQWtDVixNQUFNLEFBQUEsTUFBTSxHQUFHLENBQUMsR0EzSGpCLE1BQU0sRUF5RlIsQUF6RlUsYUF5RkcsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLENBM0hULE9BQU8sQ0FBQztNQUNoQixZQUFZLEVBQUUsd0JBQUk7TUFDbEIsaUJBQWlCLEVBQUUsQ0FBRTtNQUNyQixVQUFVLEVBekRZLEdBQUcsQ0F5RGMsS0FBSztNQUM1QyxPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBQyxDQUFFLEdBQ1Y7SUFtRkQsQUFsRkUsYUFrRlcsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEdBcEhqQixNQUFNLENBQUM7TUFDTCxLQUFLLEVBQUUsSUFBSyxHQUNmO0lBZ0ZELEFBN0VFLGFBNkVXLEFBa0NWLE1BQU0sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQWhIbEIsWUFBWSxDQUNYLE1BQU0sRUE2RVIsQUE3RVUsYUE2RUcsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBaEhsQixZQUFZLENBQ0gsT0FBTyxDQUFDO01BQ2QsVUFBVSxFQUFFLENBQUUsR0FDZjtJQTJFSCxBQWtDa0IsYUFsQ0wsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDO0lBbENuQixBQXBDRSxhQW9DVyxBQWtDVixNQUFNLEFBQUEsTUFBTSxHQUFHLENBQUMsR0F0RWpCLENBQUM7SUFvQ0gsQUFuQ0UsYUFtQ1csQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEdBckVqQixNQUFNO0lBbUNSLEFBbENFLGFBa0NXLEFBa0NWLE1BQU0sQUFBQSxNQUFNLEdBQUcsQ0FBQyxHQXBFakIsT0FBTyxDQUFDO01OekZWLGFBQWEsRU15RmUsQ0FBQyxHQUFLO0lBa0NsQyxBQWtDa0IsYUFsQ0wsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBbkVsQixZQUFZO0lBaUNiLEFBaENnQixhQWdDSCxBQWtDVixNQUFNLEFBQUEsTUFBTSxHQUFHLENBQUMsQUFsRWxCLFlBQVksR0FBRyxDQUFDO0lBZ0NqQixBQS9CZ0IsYUErQkgsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBakVsQixZQUFZLEdBQUcsTUFBTTtJQStCdEIsQUE5QmdCLGFBOEJILEFBa0NWLE1BQU0sQUFBQSxNQUFNLEdBQUcsQ0FBQyxBQWhFbEIsWUFBWSxHQUFHLE9BQU8sQ0FBQztNTjlFeEIsdUJBQTRCLEVDMkN0QixJQUFVO01EMUNoQix3QkFBNkIsRUMwQ3ZCLElBQVU7TUR6Q2hCLHNCQUEyQixFQ3lDckIsSUFBVTtNRHhDaEIsdUJBQTRCLEVDd0N0QixJQUFVLEdLMENmO0lBdUJELEFBa0NrQixhQWxDTCxBQWtDVixNQUFNLEFBQUEsTUFBTSxHQUFHLENBQUMsQUF4RGxCLFdBQVc7SUFzQlosQUFyQmUsYUFxQkYsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBdkRsQixXQUFXLEdBQUcsQ0FBQztJQXFCaEIsQUFwQmUsYUFvQkYsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBdERsQixXQUFXLEdBQUcsTUFBTTtJQW9CckIsQUFuQmUsYUFtQkYsQUFrQ1YsTUFBTSxBQUFBLE1BQU0sR0FBRyxDQUFDLEFBckRsQixXQUFXLEdBQUcsT0FBTyxDQUFDO01OekZ2QiwwQkFBNEIsRUMyQ3RCLElBQVU7TUQxQ2hCLDJCQUE2QixFQzBDdkIsSUFBVTtNRHpDaEIseUJBQTJCLEVDeUNyQixJQUFVO01EeENoQiwwQkFBNEIsRUN3Q3RCLElBQVUsR0txRGY7RUFnREcsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQXBDdkMsQUFtQzRCLGFBbkNmLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7TUExR2hDLE9BQU8sRUF6QmtCLFlBQVk7TUEwQnJDLE1BQU0sRUF6QmtCLENBQUMsQ0FBRSxJQUFHLEdBeUl6QjtNQTFDSCxBQXZIQSxhQXVIYSxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQTFKN0IsTUFBTSxFQXVITixBQXZIUSxhQXVISyxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQTFKckIsT0FBTyxDQUFDO1FBQ2hCLFdBQXdCLEVBekJBLEdBQUcsQ0F5QmlDLEtBQUs7UUFDakUsWUFBWSxFQUFFLHdCQUFJLEdBQ25CO01Bb0hDLEFBakhBLGFBaUhhLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBcko5QixZQUFZLENBQ1gsTUFBTSxFQWlITixBQWpIUSxhQWlISyxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXJKOUIsWUFBWSxDQUNILE9BQU8sQ0FBQztRQUNkLFdBQXdCLEVBQVMsQ0FBRSxHQUNwQztNQStHRCxBQW1DNEIsYUFuQ2YsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUM7TUFuQzdCLEFBcENFLGFBb0NXLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBdkUzQixDQUFDO01Bb0NILEFBbkNFLGFBbUNXLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBdEUzQixNQUFNO01BbUNSLEFBbENFLGFBa0NXLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBckUzQixPQUFPLENBQUM7UU56RlYsYUFBYSxFTXlGZSxDQUFDLEdBQUs7TUFrQ2xDLEFBbUM0QixhQW5DZixBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXBFNUIsWUFBWTtNQWlDYixBQWhDZ0IsYUFnQ0gsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUFuRTVCLFlBQVksR0FBRyxDQUFDO01BZ0NqQixBQS9CZ0IsYUErQkgsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUFsRTVCLFlBQVksR0FBRyxNQUFNO01BK0J0QixBQTlCZ0IsYUE4QkgsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUFqRTVCLFlBQVksR0FBRyxPQUFPLENBQUM7UU5uRnhCLGlDQUFxQyxFQWtUeEIsTUFBTTtRQWpUbkIsOEJBQWtDLEVBaVRyQixNQUFNO1FBaFRuQix5QkFBNkIsRUFnVGhCLE1BQU07UUEvU25CLHNCQUEwQixFQStTYixNQUFNLEdNeE5sQjtNQXVCRCxBQW1DNEIsYUFuQ2YsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUF6RDVCLFdBQVc7TUFzQlosQUFyQmUsYUFxQkYsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUF4RDVCLFdBQVcsR0FBRyxDQUFDO01BcUJoQixBQXBCZSxhQW9CRixBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXZENUIsV0FBVyxHQUFHLE1BQU07TUFvQnJCLEFBbkJlLGFBbUJGLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBdEQ1QixXQUFXLEdBQUcsT0FBTyxDQUFDO1FOOUZ2QixrQ0FBcUMsRUFrVHhCLE1BQU07UUFqVG5CLCtCQUFrQyxFQWlUckIsTUFBTTtRQWhUbkIsMEJBQTZCLEVBZ1RoQixNQUFNO1FBL1NuQix1QkFBMEIsRUErU2IsTUFBTSxHTTdNbEI7RUFtREcsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJQXZDcEMsQUFtQzRCLGFBbkNmLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7TUExR2hDLE9BQU8sRUFwQmtCLEtBQUs7TUFxQjlCLE1BQU0sRUFwQmtCLENBQUMsR0FvSXBCO01BMUNILEFBdkhBLGFBdUhhLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBMUo3QixNQUFNLEVBdUhOLEFBdkhRLGFBdUhLLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBMUpyQixPQUFPLENBQUM7UUFDaEIsV0FBd0IsRUF6QkEsR0FBRyxDQXlCaUMsS0FBSztRQUNqRSxZQUFZLEVBQUUsd0JBQUksR0FDbkI7TUFvSEMsQUFqSEEsYUFpSGEsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUFySjlCLFlBQVksQ0FDWCxNQUFNLEVBaUhOLEFBakhRLGFBaUhLLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBcko5QixZQUFZLENBQ0gsT0FBTyxDQUFDO1FBQ2QsV0FBd0IsRUFBUyxDQUFFLEdBQ3BDO01BK0dELEFBekZFLGFBeUZXLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBNUgzQixNQUFNLEVBeUZSLEFBekZVLGFBeUZHLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBNUhuQixPQUFPLENBQUM7UUFDaEIsWUFBWSxFQUFFLHdCQUFJO1FBQ2xCLGlCQUFpQixFQUFFLENBQUU7UUFDckIsVUFBVSxFQXpEWSxHQUFHLENBeURjLEtBQUs7UUFDNUMsT0FBTyxFQUFFLEtBQU07UUFDZixNQUFNLEVBQUMsQ0FBRSxHQUNWO01BbUZELEFBbEZFLGFBa0ZXLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBckgzQixNQUFNLENBQUM7UUFDTCxLQUFLLEVBQUUsSUFBSyxHQUNmO01BZ0ZELEFBN0VFLGFBNkVXLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBakg1QixZQUFZLENBQ1gsTUFBTSxFQTZFUixBQTdFVSxhQTZFRyxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQWpINUIsWUFBWSxDQUNILE9BQU8sQ0FBQztRQUNkLFVBQVUsRUFBRSxDQUFFLEdBQ2Y7TUEyRUgsQUFtQzRCLGFBbkNmLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDO01BbkM3QixBQXBDRSxhQW9DVyxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQXZFM0IsQ0FBQztNQW9DSCxBQW5DRSxhQW1DVyxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQXRFM0IsTUFBTTtNQW1DUixBQWxDRSxhQWtDVyxBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQXJFM0IsT0FBTyxDQUFDO1FOekZWLGFBQWEsRU15RmUsQ0FBQyxHQUFLO01Ba0NsQyxBQW1DNEIsYUFuQ2YsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUFwRTVCLFlBQVk7TUFpQ2IsQUFoQ2dCLGFBZ0NILEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBbkU1QixZQUFZLEdBQUcsQ0FBQztNQWdDakIsQUEvQmdCLGFBK0JILEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBbEU1QixZQUFZLEdBQUcsTUFBTTtNQStCdEIsQUE5QmdCLGFBOEJILEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBakU1QixZQUFZLEdBQUcsT0FBTyxDQUFDO1FOOUV4Qix1QkFBNEIsRUMyQ3RCLElBQVU7UUQxQ2hCLHdCQUE2QixFQzBDdkIsSUFBVTtRRHpDaEIsc0JBQTJCLEVDeUNyQixJQUFVO1FEeENoQix1QkFBNEIsRUN3Q3RCLElBQVUsR0swQ2Y7TUF1QkQsQUFtQzRCLGFBbkNmLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBekQ1QixXQUFXO01Bc0JaLEFBckJlLGFBcUJGLEFBbUNWLE1BQU0sQUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEFBeEQ1QixXQUFXLEdBQUcsQ0FBQztNQXFCaEIsQUFwQmUsYUFvQkYsQUFtQ1YsTUFBTSxBQUFBLGdCQUFnQixHQUFHLENBQUMsQUF2RDVCLFdBQVcsR0FBRyxNQUFNO01Bb0JyQixBQW5CZSxhQW1CRixBQW1DVixNQUFNLEFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxBQXRENUIsV0FBVyxHQUFHLE9BQU8sQ0FBQztRTnpGdkIsMEJBQTRCLEVDMkN0QixJQUFVO1FEMUNoQiwyQkFBNkIsRUMwQ3ZCLElBQVU7UUR6Q2hCLHlCQUEyQixFQ3lDckIsSUFBVTtRRHhDaEIsMEJBQTRCLEVDd0N0QixJQUFVLEdLcURmOztBQXlERCxBQUFBLFdBQVcsQU5vQ1osT0FBTyxFTXBDTixBQUFBLFdBQVcsQU5vQ0YsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLEdBQUk7RUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJOztBTXBDcEQsQUFBQSxXQUFXLEFOcUNaLE1BQU0sQ0FBQztFQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7O0FNckN4QixBQUVFLFdBRlMsQ0FFVCxhQUFhLENBQUM7RUEvS2hCLEtBQUssRUFBQyxJQUFDO0VBQ1AsWUFBNkIsRUw4RHZCLFFBQVUsR0tnSGlFO0VBRmpGLEFBM0tFLFdBMktTLENBRVQsYUFBYSxDQTdLYixHQUFHLENBQUM7SUFBRSxRQUFRLEVBQUUsTUFBTyxHQUFJOztBRVc3QixxQkFBcUI7QUFDckIsQUFBQSxnQkFBZ0IsR0FBRSxBQUFBLEFBQWMsYUFBYixBQUFBLEVBQW5CO0VBRUUsVUFBVSxFQUFFLElBQUs7RUFDakIsV0FBd0IsRUFBUyxDQUFFO0VBQ25DLGFBQWEsRUFBRSxDQUFFLEdBVWxCO0VBZEQsQUFBQSxnQkFBZ0IsQVJtTWpCLE9BQU8sRVFuTU4sQUFBQSxnQkFBZ0IsQVJtTVAsTUFBTSxHUW5NRyxBQUFBLEFBQWMsYUFBYixBQUFBLENSbU1wQixPQUFPLEdRbk1ZLEFBQUEsQUFBYyxhQUFiLEFBQUEsQ1JtTVYsTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLEdBQUk7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO0VRbk1wRCxBQUFBLGdCQUFnQixBUm9NakIsTUFBTSxHUXBNYSxBQUFBLEFBQWMsYUFBYixBQUFBLENSb01wQixNQUFNLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VRcE14QixBQU1FLGdCQU5jLENBTWQsRUFBRSxHQU5jLEFBQUEsQUFNaEIsYUFOaUIsQUFBQSxFQU1qQixFQUFFLENBQUM7SUFDRCxLQUFLLEVSbVNLLElBQUk7SVFsU2QsWUFBNkIsRUFBUyxJQUFLLEdBQzVDO0VBVEgsQUFXMEIsZ0JBWFYsQ0FXYixBQUFBLEtBQUMsRUFBTyxhQUFhLEFBQXBCLEVBQXNCLEVBQUUsR0FYVixBQUFBLEFBV1EsYUFYUCxBQUFBLEVBV2hCLEFBQUEsS0FBQyxFQUFPLGFBQWEsQUFBcEIsRUFBc0IsRUFBRSxDQUFDO0lBQ3pCLFlBQTZCLEVBQVMsQ0FBRSxHQUN6Qzs7QUFHSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLFVBQVUsRVJxUEMsT0FBTztFUXBQbEIsTUFBTSxFQUFFLElBQUs7RUFDYixRQUFRLEVBQUUsS0FBTTtFQUNoQixHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRUFBRSxJQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUk7RUFDYixJQUFpQixFQUFFLENBQUUsR0FHdEI7RUFWRCxBQVNFLGtCQVRnQixDQVNoQixlQUFlLENBQUM7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJOztBQUd2QyxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLE1BQU0sRUFBRSxJQUFLO0VBQ2IsTUFBTSxFQUFFLENBQUU7RUFDVixRQUFRLEVBQUUsTUFBTztFQUNqQixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsR0FBSSxHQUNkOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFUjBOTSxPQUFPO0VRek5sQixTQUFTLEVBQUUsSUFBSztFQUNoQixJQUFJLEVBQUUsR0FBSTtFQUNWLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxHQUFJLEdBQ1Y7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUNaLFFBQVEsRUFBRSxRQUFTLEdBdUJwQjtFQXpCRCxBQUlFLFlBSlUsQ0FJVixHQUFHLENBQUM7SUFDRixRQUFRLEVBQUUsUUFBUztJQUNuQixJQUFpQixFQUFFLEdBQUk7SUFDdkIsR0FBRyxFQUFFLEdBQUk7SUFFUCxpQkFBaUIsRUFBRSxnQkFBVSxDQUFPLGdCQUFVO0lBQzlDLGNBQWMsRUFBRSxnQkFBVSxDQUFPLGdCQUFVO0lBQzNDLGFBQWEsRUFBRSxnQkFBVSxDQUFPLGdCQUFVO0lBQzFDLFlBQVksRUFBRSxnQkFBVSxDQUFPLGdCQUFVO0lBQ3pDLFNBQVMsRUFBRSxnQkFBVSxDQUFPLGdCQUFVO0lBU3hDLFVBQVUsRUFBRSxJQUFLO0lBQ2pCLFNBQVMsRUFBRSxJQUFLLEdBQ2pCOztBQUdILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsVUFBVSxFUjhMQyxPQUFPO0VRN0xsQixNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRVJvTE0sT0FBTztFUW5MbEIsU0FBUyxFQTNGYyxPQUFNO0VBNEY3QixXQUFXLEVBQUUsR0FBSTtFQUNqQixhQUFhLEVBQUUsQ0FBRTtFQUNqQixPQUFPLEVBN0ZjLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtFQThGbkMsUUFBUSxFQUFFLFFBQVM7RUFDbkIsVUFBVSxFQUFFLE1BQU87RUFDbkIsS0FBSyxFQUFFLElBQUs7RUFDWixJQUFpQixFQUFFLENBQUUsR0FDdEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxLQUFLLEVSd0tNLE9BQU87RVF2S2xCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsU0FBUyxFQWhITyxJQUFJO0VBaUhwQixXQUFXLEVBQUUsQ0FBRTtFQUNmLFlBQXlCLEVBQVUsSUFBSztFQUN4QyxXQUFXLEVBQUUsSUFBSztFQUNsQixPQUFPLEVBQUUsR0FBSSxHQUlkO0VBWEQsQUFBQSxlQUFlLEFBU1osTUFBTSxFQVRULEFBQUEsZUFBZSxBQVVaLE1BQU0sQ0FBQztJQUFFLEtBQUssRVIrSkosT0FBTyxHUS9KUTs7QUFHNUIsQUFBb0IsbUJBQUQsQ0FBQyxtQkFBbUIsQ0FBQztFQUFFLE1BQU0sRUFBRSxJQUFLLEdBRXREO0VBRkQsQUFDYyxtQkFESyxDQUFDLG1CQUFtQixDQUNyQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQUUsT0FBTyxFQUFFLElBQUssR0FBSTs7QUFJckMsQUFBa0IsaUJBQUQsQ0FBQyxFQUFFLENBQUM7RUFDbkIsT0FBTyxFQUFFLElBQUssR0FJZjtFQUxELEFBQWtCLGlCQUFELENBQUMsRUFBRSxBQUVqQixzQkFBc0IsQ0FBQztJQUN0QixPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUFJSCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0VBQ2pDLEFBQUEsbUJBQW1CO0VBQ25CLEFBQUEsbUJBQW1CLENBQUM7SUFDbEIsTUFBTSxFQUFFLElBQUs7SUFDYixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUUsQ0FBRTtJQUNQLEtBQUssRUFBRSxJQUFLLEdBVWI7SUFmRCxBQU1JLG1CQU5lLEdBTWYsSUFBSTtJQUxSLEFBS0ksbUJBTGUsR0FLZixJQUFJLENBQUM7TUFDTCxNQUFNLEVBQUUsS0FBSyxDQTVJRCxJQUFJO01BNkloQixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxDQUFFO01BQ1YsUUFBUSxFQUFFLFFBQVM7TUFDbkIsR0FBRyxFQUFFLEdBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBRSxHQUVWO01BZEgsQUFNSSxtQkFOZSxHQU1mLElBQUksQUFPSCxNQUFNO01BWlgsQUFLSSxtQkFMZSxHQUtmLElBQUksQUFPSCxNQUFNLENBQUM7UUFBRSxPQUFPLEVBQUUsRUFBRyxHQUFJO0VBRzlCLEFBQUEsbUJBQW1CLENBQUM7SUFDbEIsSUFBaUIsRUFBRSxDQUFFLEdBTXRCO0lBUEQsQUFFSSxtQkFGZSxHQUVmLElBQUksQ0FBQztNQUNMLElBQWlCLEVBQUUsR0FBSTtNQUN2QixZQUFZLEVBQUUsV0FBWTtNQUMxQixrQkFBbUMsRVJ5SDVCLE9BQU8sR1F4SGY7RUFFSCxBQUFBLG1CQUFtQixDQUFDO0lBQ2xCLEtBQXNCLEVBQUUsQ0FBRSxHQUszQjtJQU5ELEFBRUksbUJBRmUsR0FFZixJQUFJLENBQUM7TUFDTCxZQUFZLEVBQUUsV0FBWTtNQUMxQixpQkFBOEIsRVJrSHZCLE9BQU8sR1FqSGY7RUFHSCxBQUFtQixtQkFBQSxBQUFBLFNBQVM7RUFDNUIsQUFBbUIsbUJBQUEsQUFBQSxTQUFTLENBQUM7SUFBRSxPQUFPLEVBQUUsRUFBRyxHQUFJO0VBRS9DLEFBRUUsbUJBRmlCLENBQUMsbUJBQW1CLENBRXJDLFNBQVMsQ0FBQztJQUNSLFVBQVUsRUFuTEcscUJBQUk7SUFvTGpCLE1BQU0sRUFsS1csS0FBSztJQW1LdEIsVUFBVSxFQUFFLElBQUs7SUFDakIsVUFBVSxFQUFFLE1BQU8sR0E0Q3BCO0lBbERILEFBUU0sbUJBUmEsQ0FBQyxtQkFBbUIsQ0FFckMsU0FBUyxHQU1MLEVBQUUsQ0FBQztNQUNILE9BQU8sRUFBRSxZQUFhO01BQ3RCLE9BQU8sRUFBRSxHQUFJO01BQ2IsTUFBTSxFQUFFLElBQUs7TUFDYixRQUFRLEVBQUUsUUFBUztNQUNuQixLQUFLLEVBQUUsSUFBSyxHQW9DYjtNQWpETCxBQWVNLG1CQWZhLENBQUMsbUJBQW1CLENBRXJDLFNBQVMsR0FNTCxFQUFFLENBT0YsRUFBRSxDQUFDO1FBQ0QsS0FBSyxFQUFFLElBQUs7UUFDWixNQUFNLEVSa05HLE9BQU87UVFqTmhCLE9BQU8sRUFBRSxLQUFNO1FBQ2YsS0FBSyxFUm9JRCxJQUFJO1FRbklSLFlBQTZCLEVBQVMsQ0FBRTtRQUN4QyxVQUFVLEVBQUUsT0FBUTtRQUNwQixPQUFPLEVBQUUsRUFBRztRQUNaLFFBQVEsRUFBRSxNQUFPO1FBQ2pCLE9BQU8sRUFBRSxDQUFFO1FBQ1gsUUFBUSxFQUFFLFFBQVM7UUFDbkIsS0FBSyxFQXZMYSxLQUFLLEdBNk14QjtRQWhEUCxBQTZCVSxtQkE3QlMsQ0FBQyxtQkFBbUIsQ0FFckMsU0FBUyxHQU1MLEVBQUUsQ0FPRixFQUFFLEFBYUMsV0FBVyxDQUNWLEdBQUcsQ0FBQztVQUNGLE1BQU0sRUFBRSxJQUFLO1VBQ2IsU0FBUyxFQUFFLElBQUssR0FDakI7UUFoQ1gsQUFtQ1MsbUJBbkNVLENBQUMsbUJBQW1CLENBRXJDLFNBQVMsR0FNTCxFQUFFLENBT0YsRUFBRSxDQW9CQSxDQUFDLEFBQUEsR0FBRyxDQUFDO1VBQ0gsTUFBTSxFQUFFLElBQUs7VUFDYixVQUFVLEVBQUUsSUFBSztVQUNqQixPQUFPLEVBQUUsS0FBTSxHQUNoQjtRQXZDVCxBQXlDUSxtQkF6Q1csQ0FBQyxtQkFBbUIsQ0FFckMsU0FBUyxHQU1MLEVBQUUsQ0FPRixFQUFFLENBMEJBLEdBQUcsQ0FBQztVQUNGLE1BQU0sRVJ5TEMsT0FBTyxDUXpMZ0IsVUFBVTtVQUN4QyxLQUFLLEVBQUUsZUFBZ0IsR0FDeEI7UUE1Q1QsQUFlTSxtQkFmYSxDQUFDLG1CQUFtQixDQUVyQyxTQUFTLEdBTUwsRUFBRSxDQU9GLEVBQUUsQUErQkMsUUFBUSxDQUFDO1VBQUUsT0FBTyxFQUFFLENBQUUsR0FBSTtRQTlDbkMsQUFlTSxtQkFmYSxDQUFDLG1CQUFtQixDQUVyQyxTQUFTLEdBTUwsRUFBRSxDQU9GLEVBQUUsQUFnQ0MsTUFBTSxDQUFDO1VBQUUsT0FBTyxFQUFFLEVBQUcsR0FBSTtFQS9DbEMsQUFvREUsbUJBcERpQixDQUFDLG1CQUFtQixDQW9EckMsWUFBWSxDQUFDO0lBQ1gsVUFBVSxFUjhESCxPQUFPO0lRN0RkLE1BQU0sRUFyTmEsR0FBRztJQXNOdEIsUUFBUSxFQUFFLE1BQU8sR0FDbEI7RUFHSCxBQUFBLGVBQWUsQ0FBQztJQUNkLFlBQXlCLEVBQVUsQ0FBRTtJQUNyQyxXQUFXLEVBQUUsQ0FBRTtJQUNmLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEdBQUcsRUFBRSxJQUFLO0lBQ1YsS0FBc0IsRUFBRSxJQUFLLEdBQzlCOztBQzVCSCwwQkFBMEI7QUFDMUIsQUFBQSxXQUFXLENBQUM7RUFsS2QsT0FBTyxFQUFFLElBQUs7RUFDZCxJQUFJLEVBQUUsT0FBUTtFQUNkLFVBQVUsRUExQlksSUFBSTtFQTJCMUIsV0FBd0IsRUFBUyxDQUFFO0VBQ25DLFFBQVEsRUFBRSxRQUFTO0VBVWpCLFVBQVUsRVRpTkcsT0FBTztFU2hOcEIsTUFBTSxFQWpEZ0IsS0FBSyxDQUNMLEdBQUcsQ0FDSCxPQUFXO0VBZ0RqQyxTQUFTLEVSVUgsUUFBVTtFUVRoQixNQUFNLEVBdEVVLElBQUk7RUF1RXBCLFVBQVUsRUF0RVUsSUFBSTtFQXVFeEIsS0FBSyxFQUFFLElBQUs7RUFDWixPQUFPLEVBQUUsRUFBRztFQWNaLFVBQVUsRUFuRlUsR0FBRztFQXNMUixTQUFTLEVBM0xMLEtBQUssR0E2UHZCO0VBckNELEFBQUEsV0FBVyxBQTVKWixLQUFLLENBQUM7SUFDTCxPQUFPLEVBQUUsS0FBTSxHQUNoQjtFQTBKQyxBQXhKQyxXQXdKVSxHQXhKWCxDQUFDLEFBQUEsWUFBWSxDQUFDO0lBQUUsVUFBVSxFQUFFLENBQUUsR0FBSTtFQXdKbEMsQUF2SkMsV0F1SlUsR0F2SlgsQ0FBQyxBQUFBLFdBQVcsQ0FBQztJQUFFLGFBQWEsRUFBRSxDQUFFLEdBQUk7RUF1SnBDLEFBQUEsV0FBVyxBQTVIUixPQUFPLENBQUM7SVR3RGIsTUFBTSxFQUFFLEtBQUssQ1MzSFksR0FBRztJVDRINUIsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLE1BQU0sRUFBRSxDQUFFO0lBQ1YsS0FBSyxFQUFFLENBQUU7SUFNUCxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0F1SHhCLE9BQU8sQ0F2SGtDLFdBQVc7SUFDakUsbUJBQW1CLEVBQUUsS0FBTTtJU2pFdkIsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFJLEtBQXlCO0lBQ2hDLElBQWlCLEVBckVTLElBQUk7SUFzRTlCLE9BQU8sRUFBRSxFQUFHLEdBQ2I7RUFzSEgsQUFBQSxXQUFXLEFBckhSLE1BQU0sQ0FBQztJVGlEWixNQUFNLEVBQUUsS0FBSyxDU2hEZSxHQUF5QjtJVGlEckQsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLE1BQU0sRUFBRSxDQUFFO0lBQ1YsS0FBSyxFQUFFLENBQUU7SUFNUCxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ1N4SWYsT0FBVyxDVHdJcUIsV0FBVztJQUNqRSxtQkFBbUIsRUFBRSxLQUFNO0lTMUR2QixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUssS0FBeUI7SUFDakMsSUFBaUIsRUFBRSxHQUFnQztJQUNuRCxPQUFPLEVBQUUsRUFBRyxHQUNiO0VBK0dILEFBQUEsV0FBVyxBQTdHUixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQ2IsSUFBaUIsRUFBRSxJQUFLO0lBQ3hCLEtBQXNCLEVBbEZJLElBQUksR0FtRi9CO0VBMEdILEFBQUEsV0FBVyxBQXpHUixNQUFNLEFBQUEsTUFBTSxDQUFDO0lBQ1osSUFBaUIsRUFBRSxJQUFLO0lBQ3hCLEtBQXNCLEVBQUUsR0FBZ0MsR0FDekQ7RUFzR0gsQUFBQSxXQUFXLEFBR1IsV0FBVyxDQUFaO0lBcktKLE9BQU8sRUFBRSxJQUFLO0lBQ2QsSUFBSSxFQUFFLE9BQVE7SUFDZCxVQUFVLEVBMUJZLElBQUk7SUEyQjFCLFdBQXdCLEVBQVMsQ0FBRTtJQUNuQyxRQUFRLEVBQUUsUUFBUztJQVVqQixVQUFVLEVUaU5HLE9BQU87SVNoTnBCLE1BQU0sRUFqRGdCLEtBQUssQ0FDTCxHQUFHLENBQ0gsT0FBVztJQWdEakMsU0FBUyxFUlVILFFBQVU7SVFUaEIsTUFBTSxFQXRFVSxJQUFJO0lBdUVwQixVQUFVLEVBdEVVLElBQUk7SUF1RXhCLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUE2Q1osVUFBVSxFQUFFLENBQUU7SUFDZCxXQUF3QixFQW5ISixHQUFHO0lBc0xSLFNBQVMsRUEzTEwsS0FBSyxHQTZOckI7SUFMSCxBQUFBLFdBQVcsQUFHUixXQUFXLEFBL0pmLEtBQUssQ0FBQztNQUNMLE9BQU8sRUFBRSxLQUFNLEdBQ2hCO0lBMEpDLEFBeEpDLFdBd0pVLEFBR1IsV0FBVyxHQTNKZCxDQUFDLEFBQUEsWUFBWSxDQUFDO01BQUUsVUFBVSxFQUFFLENBQUUsR0FBSTtJQXdKbEMsQUF2SkMsV0F1SlUsQUFHUixXQUFXLEdBMUpkLENBQUMsQUFBQSxXQUFXLENBQUM7TUFBRSxhQUFhLEVBQUUsQ0FBRSxHQUFJO0lBdUpwQyxBQUFBLFdBQVcsQUFHUixXQUFXLEFBakdiLE9BQU8sQ0FBQztNVDBCWCxNQUFNLEVBQUUsS0FBSyxDUzNIWSxHQUFHO01UNEg1QixPQUFPLEVBQUUsRUFBRztNQUNaLE9BQU8sRUFBRSxLQUFNO01BQ2YsTUFBTSxFQUFFLENBQUU7TUFDVixLQUFLLEVBQUUsQ0FBRTtNQWNQLFlBQVksRUFBRSxXQUFXLENBK0daLE9BQU8sQ0EvR3NCLFdBQVcsQ0FBQyxXQUFXO01BQ2pFLGtCQUFrQixFQUFFLEtBQU07TVMzQ3hCLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFsR3lCLElBQUk7TUFtR2hDLElBQWlCLEVBQUksS0FBeUI7TUFDOUMsT0FBTyxFQUFFLEVBQUcsR0FDYjtJQXdGRCxBQUFBLFdBQVcsQUFHUixXQUFXLEFBMUZiLE1BQU0sQ0FBQztNVG1CVixNQUFNLEVBQUUsS0FBSyxDU2xCYSxHQUF5QjtNVG1CbkQsT0FBTyxFQUFFLEVBQUc7TUFDWixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxDQUFFO01BQ1YsS0FBSyxFQUFFLENBQUU7TUFjUCxZQUFZLEVBQUUsV0FBVyxDU2hKSCxPQUFXLENUZ0pTLFdBQVcsQ0FBQyxXQUFXO01BQ2pFLGtCQUFrQixFQUFFLEtBQU07TVNwQ3hCLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBRSxHQUFnQztNQUNyQyxJQUFpQixFQUFFLEtBQUM7TUFDcEIsT0FBTyxFQUFFLEVBQUcsR0FDYjtFQWlGRCxBQUFBLFdBQVcsQUFPUixVQUFVLENBQVg7SUF6S0osT0FBTyxFQUFFLElBQUs7SUFDZCxJQUFJLEVBQUUsT0FBUTtJQUNkLFVBQVUsRUExQlksSUFBSTtJQTJCMUIsV0FBd0IsRUFBUyxDQUFFO0lBQ25DLFFBQVEsRUFBRSxRQUFTO0lBVWpCLFVBQVUsRVRpTkcsT0FBTztJU2hOcEIsTUFBTSxFQWpEZ0IsS0FBSyxDQUNMLEdBQUcsQ0FDSCxPQUFXO0lBZ0RqQyxTQUFTLEVSVUgsUUFBVTtJUVRoQixNQUFNLEVBdEVVLElBQUk7SUF1RXBCLFVBQVUsRUF0RVUsSUFBSTtJQXVFeEIsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQWtFWixVQUFVLEVBQUUsQ0FBRTtJQUNkLFdBQXdCLEVBeElKLElBQUc7SUFzTFIsU0FBUyxFQTNMTCxLQUFLLEdBaU9yQjtJQVRILEFBQUEsV0FBVyxBQU9SLFVBQVUsQUFuS2QsS0FBSyxDQUFDO01BQ0wsT0FBTyxFQUFFLEtBQU0sR0FDaEI7SUEwSkMsQUF4SkMsV0F3SlUsQUFPUixVQUFVLEdBL0piLENBQUMsQUFBQSxZQUFZLENBQUM7TUFBRSxVQUFVLEVBQUUsQ0FBRSxHQUFJO0lBd0psQyxBQXZKQyxXQXVKVSxBQU9SLFVBQVUsR0E5SmIsQ0FBQyxBQUFBLFdBQVcsQ0FBQztNQUFFLGFBQWEsRUFBRSxDQUFFLEdBQUk7SUF1SnBDLEFBQUEsV0FBVyxBQU9SLFVBQVUsQUFoRlosT0FBTyxDQUFDO01US1gsTUFBTSxFQUFFLEtBQUssQ1MzSFksR0FBRztNVDRINUIsT0FBTyxFQUFFLEVBQUc7TUFDWixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxDQUFFO01BQ1YsS0FBSyxFQUFFLENBQUU7TUFVUCxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBbUhwQyxPQUFPO01BbEhwQixpQkFBaUIsRUFBRSxLQUFNO01TbEJ2QixRQUFRLEVBQUUsUUFBUztNQUNuQixHQUFHLEVBdkh5QixJQUFJO01Bd0hoQyxLQUFzQixFQUFJLEtBQXlCO01BQ25ELElBQWlCLEVBQUUsSUFBSztNQUN4QixPQUFPLEVBQUUsRUFBRyxHQUNiO0lBa0VELEFBQUEsV0FBVyxBQU9SLFVBQVUsQUF4RVosTUFBTSxDQUFDO01USFYsTUFBTSxFQUFFLEtBQUssQ1NJYSxHQUF5QjtNVEhuRCxPQUFPLEVBQUUsRUFBRztNQUNaLE9BQU8sRUFBRSxLQUFNO01BQ2YsTUFBTSxFQUFFLENBQUU7TUFDVixLQUFLLEVBQUUsQ0FBRTtNQVVQLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ1M1STNCLE9BQVc7TVQ2SWpDLGlCQUFpQixFQUFFLEtBQU07TVNWdkIsUUFBUSxFQUFFLFFBQVM7TUFDbkIsR0FBRyxFQUFFLEdBQWdDO01BQ3JDLEtBQXNCLEVBQUUsS0FBQztNQUN6QixJQUFpQixFQUFFLElBQUs7TUFDeEIsT0FBTyxFQUFFLEVBQUcsR0FDYjtFQTBERCxBQUFBLFdBQVcsQUFXUixTQUFTLENBQUM7SUE3S2YsT0FBTyxFQUFFLElBQUs7SUFDZCxJQUFJLEVBQUUsT0FBUTtJQUNkLFVBQVUsRUExQlksSUFBSTtJQTJCMUIsV0FBd0IsRUFBUyxDQUFFO0lBQ25DLFFBQVEsRUFBRSxRQUFTO0lBVWpCLFVBQVUsRVRpTkcsT0FBTztJU2hOcEIsTUFBTSxFQWpEZ0IsS0FBSyxDQUNMLEdBQUcsQ0FDSCxPQUFXO0lBZ0RqQyxTQUFTLEVSVUgsUUFBVTtJUVRoQixNQUFNLEVBdEVVLElBQUk7SUF1RXBCLFVBQVUsRUF0RVUsSUFBSTtJQXVFeEIsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQXlGWixXQUFXLEVBQUUsQ0FBRTtJQUNmLFVBQVUsRUEvSlUsSUFBRztJQXNMUixTQUFTLEVBM0xMLEtBQUssR0FxT3JCO0lBYkgsQUFBQSxXQUFXLEFBV1IsU0FBUyxBQXZLYixLQUFLLENBQUM7TUFDTCxPQUFPLEVBQUUsS0FBTSxHQUNoQjtJQTBKQyxBQXhKQyxXQXdKVSxBQVdSLFNBQVMsR0FuS1osQ0FBQyxBQUFBLFlBQVksQ0FBQztNQUFFLFVBQVUsRUFBRSxDQUFFLEdBQUk7SUF3SmxDLEFBdkpDLFdBdUpVLEFBV1IsU0FBUyxHQWxLWixDQUFDLEFBQUEsV0FBVyxDQUFDO01BQUUsYUFBYSxFQUFFLENBQUUsR0FBSTtJQXVKcEMsQUFBQSxXQUFXLEFBV1IsU0FBUyxBQTdEWCxPQUFPLENBQUM7TVRsQlgsTUFBTSxFQUFFLEtBQUssQ1MzSFksR0FBRztNVDRINUIsT0FBTyxFQUFFLEVBQUc7TUFDWixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxDQUFFO01BQ1YsS0FBSyxFQUFFLENBQUU7TUFFUCxZQUFZLEVBMkhDLE9BQU8sQ0EzSFUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXO01BQ2pFLGdCQUFnQixFQUFFLEtBQU07TVNhdEIsTUFBTSxFQUFJLEtBQXlCO01BQ25DLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBRSxJQUFLO01BQ1YsSUFBaUIsRUFoSlcsSUFBSTtNQWlKaEMsS0FBc0IsRUFBRSxJQUFLO01BQzdCLE9BQU8sRUFBRSxFQUFHLEdBQ2I7SUEwQ0QsQUFBQSxXQUFXLEFBV1IsU0FBUyxBQXBEWCxNQUFNLENBQUM7TVQzQlYsTUFBTSxFQUFFLEtBQUssQ1M0QmEsR0FBeUI7TVQzQm5ELE9BQU8sRUFBRSxFQUFHO01BQ1osT0FBTyxFQUFFLEtBQU07TUFDZixNQUFNLEVBQUUsQ0FBRTtNQUNWLEtBQUssRUFBRSxDQUFFO01BRVAsWUFBWSxFU3BJVSxPQUFXLENUb0lILFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVztNQUNqRSxnQkFBZ0IsRUFBRSxLQUFNO01Tc0J0QixNQUFNLEVBQUUsS0FBQztNQUNULFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBRSxJQUFLO01BQ1YsSUFBaUIsRUFBRSxHQUFnQztNQUNuRCxLQUFzQixFQUFFLElBQUs7TUFDN0IsT0FBTyxFQUFFLEVBQUcsR0FDYjtFQWlDRCxBQWdCRSxXQWhCUyxDQWdCVCxFQUFFLENBQUM7SUFuQ1AsTUFBTSxFVGdOZSxPQUFPO0lTL001QixTQUFTLEVSdEhELFFBQVU7SVF1SGxCLFdBQVcsRVJ2SEgsUUFBVTtJUXdIbEIsTUFBTSxFQUFFLENBQUUsR0FnQzBCO0lBaEJsQyxBQWdCRSxXQWhCUyxDQWdCVCxFQUFFLEFBOUJMLE1BQU0sRUFjTCxBQWdCRSxXQWhCUyxDQWdCVCxFQUFFLEFBN0JMLE1BQU0sQ0FBQztNQUFFLFVBQVUsRVRnRkwsT0FBTyxHU2hGNkI7SUFhakQsQUFYRixXQVdhLENBZ0JULEVBQUUsQ0EzQk4sQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLEtBQU07TUFDZixPQUFPLEVSL0hELE1BQVU7TVFnSWhCLEtBQUssRVRtRlEsT0FBTyxHU2xGckI7RUFPQyxBQUFBLFdBQVcsQUFtQlIsUUFBUSxDQUFDO0lBckxkLE9BQU8sRUFBRSxJQUFLO0lBQ2QsSUFBSSxFQUFFLE9BQVE7SUFDZCxVQUFVLEVBMUJZLElBQUk7SUEyQjFCLFdBQXdCLEVBQVMsQ0FBRTtJQUNuQyxRQUFRLEVBQUUsUUFBUztJQW1CakIsVUFBVSxFVHdNRyxPQUFPO0lTdk1wQixNQUFNLEVBMURnQixLQUFLLENBQ0wsR0FBRyxDQUNILE9BQVc7SUF5RGpDLFNBQVMsRVJDSCxRQUFVO0lRQWhCLE1BQU0sRUEvRVUsSUFBSTtJQWdGcEIsVUFBVSxFQS9FVSxJQUFJO0lBZ0Z4QixPQUFPLEVSRkQsT0FBVTtJUUdoQixLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBdUdHLFNBQVMsRUEzTEwsS0FBSyxHQTJPK0M7SUFuQnZFLEFBQUEsV0FBVyxBQW1CUixRQUFRLEFBL0taLEtBQUssQ0FBQztNQUNMLE9BQU8sRUFBRSxLQUFNLEdBQ2hCO0lBMEpDLEFBeEpDLFdBd0pVLEFBbUJSLFFBQVEsR0EzS1gsQ0FBQyxBQUFBLFlBQVksQ0FBQztNQUFFLFVBQVUsRUFBRSxDQUFFLEdBQUk7SUF3SmxDLEFBdkpDLFdBdUpVLEFBbUJSLFFBQVEsR0ExS1gsQ0FBQyxBQUFBLFdBQVcsQ0FBQztNQUFFLGFBQWEsRUFBRSxDQUFFLEdBQUk7RUF1SnBDLEFBQUEsV0FBVyxBQXNCUixPQUFPLENBQUM7SVR4TlgsYUFBYSxFSjRIRCxHQUFHLEdhNEZxQztFQXRCcEQsQUFBQSxXQUFXLEFBeUJSLEtBQUssQ0FBSTtJQUFFLFNBQVMsRUFBRSxLQUFNLEdBQUk7RUF6Qm5DLEFBQUEsV0FBVyxBQTBCUixNQUFNLENBQUc7SUFBRSxTQUFTLEVBQUUsS0FBTSxHQUFJO0VBMUJuQyxBQUFBLFdBQVcsQUEyQlIsT0FBTyxDQUFFO0lBQUUsU0FBUyxFQUFFLEtBQU0sR0FBSTtFQTNCbkMsQUFBQSxXQUFXLEFBNEJSLE1BQU0sQ0FBRztJQUFFLFNBQVMsRUFBRSxLQUFNLEdBQUk7RUE1Qm5DLEFBQUEsV0FBVyxBQTZCUixLQUFLLENBQUk7SUFDUixLQUFLLEVBQUMsSUFBSSxDQUFBLFVBQVU7SUFDcEIsU0FBUyxFQUFDLElBQUksQ0FBQSxVQUFVLEdBS3pCO0lBcENILEFBQUEsV0FBVyxBQTZCUixLQUFLLEFBSUgsS0FBSyxDQUFBO01BQ0osSUFBSSxFQUFDLENBQUMsQ0FBQSxVQUFVLEdBQ2pCOztBQzdJTCxBQUFTLFNBQUEsQUFBQSxPQUFPLEVBQUUsQUFBTSxNQUFBLEFBQUEsU0FBUyxDQUFDO0VBL0RsQyxRQUFRLEVBQUUsUUFBUztFQXFDbkIsYUFBOEIsRUE5REosU0FBZSxHQTZGeEM7RUFMRCxBQUFTLFNBQUEsQUFBQSxPQUFPLEFBNURmLE9BQU8sRUE0RFUsQUFBTSxNQUFBLEFBQUEsU0FBUyxBQTVEaEMsT0FBTyxDQUFDO0lBQ1AsWUFBWSxFVmtPRCxPQUFPLENVbE91QixXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVc7SUFDNUUsWUFBWSxFQUFFLEtBQU07SUFDcEIsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLE1BQU0sRUFBRSxDQUFFO0lBQ1YsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLEdBQUk7SUFDVCxLQUFLLEVBQUUsQ0FBRSxHQUNWO0VBbURELEFBQVMsU0FBQSxBQUFBLE9BQU8sQUF6QmYsT0FBTyxFQXlCVSxBQUFNLE1BQUEsQUFBQSxTQUFTLEFBekJoQyxPQUFPLENBQUM7SUFDUCxZQUFZLEVBL0RhLFFBQWU7SUFnRXhDLEtBQXNCLEVBL0RPLFVBQWU7SUFnRTVDLFVBQVUsRUEvRGUsV0FBQyxHQWdFM0I7RUFxQkQsQUFBUyxTQUFBLEFBQUEsT0FBTyxBQU5mLE9BQU8sRUFNVSxBQUFNLE1BQUEsQUFBQSxTQUFTLEFBTmhDLE9BQU8sQ0FBQztJQUFFLFlBQVksRVY2S1YsT0FBTyxDVTdLZ0IsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEdBQUk7RUFNM0UsQUFBUyxTQUFBLEFBQUEsT0FBTyxBQUNiLEtBQUssRUFEVSxBQUFNLE1BQUEsQUFBQSxTQUFTLEFBQzlCLEtBQUssQ0FBQztJQS9DVCxhQUE4QixFQXRESixRQUFlLEdBcUd1QjtJQURoRSxBQUFTLFNBQUEsQUFBQSxPQUFPLEFBQ2IsS0FBSyxBQTlDUCxNQUFNLEVBNkNXLEFBQU0sTUFBQSxBQUFBLFNBQVMsQUFDOUIsS0FBSyxBQTlDUCxNQUFNLENBQUM7TUFDTixZQUFZLEVUY1IsUUFBVTtNU2JkLEtBQXNCLEVBdkRPLFFBQWU7TUF3RDVDLFVBQVUsRUF2RGUsU0FBQyxHQXdEM0I7SUF5Q0QsQUFBUyxTQUFBLEFBQUEsT0FBTyxBQUNiLEtBQUssQUFQUCxPQUFPLEVBTVUsQUFBTSxNQUFBLEFBQUEsU0FBUyxBQUM5QixLQUFLLEFBUFAsT0FBTyxDQUFDO01BQUUsWUFBWSxFVjZLVixPQUFPLENVN0tnQixXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBSTtFQU0zRSxBQUFTLFNBQUEsQUFBQSxPQUFPLEFBRWIsTUFBTSxFQUZTLEFBQU0sTUFBQSxBQUFBLFNBQVMsQUFFOUIsTUFBTSxDQUFDO0lBdENWLGFBQThCLEVBMURKLFNBQWUsR0FnR3lCO0lBRmxFLEFBQVMsU0FBQSxBQUFBLE9BQU8sQUFFYixNQUFNLEFBckNSLE9BQU8sRUFtQ1UsQUFBTSxNQUFBLEFBQUEsU0FBUyxBQUU5QixNQUFNLEFBckNSLE9BQU8sQ0FBQztNQUNQLFlBQVksRVRJUixTQUFVO01TSGQsS0FBc0IsRUEzRE8sU0FBZTtNQTRENUMsVUFBVSxFQTNEZSxXQUFDLEdBNEQzQjtJQStCRCxBQUFTLFNBQUEsQUFBQSxPQUFPLEFBRWIsTUFBTSxBQVJSLE9BQU8sRUFNVSxBQUFNLE1BQUEsQUFBQSxTQUFTLEFBRTlCLE1BQU0sQUFSUixPQUFPLENBQUM7TUFBRSxZQUFZLEVWNktWLE9BQU8sQ1U3S2dCLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFJO0VBTTNFLEFBQVMsU0FBQSxBQUFBLE9BQU8sQUFHYixNQUFNLEVBSFMsQUFBTSxNQUFBLEFBQUEsU0FBUyxBQUc5QixNQUFNLENBQUM7SUFuQlYsYUFBOEIsRUFsRUosUUFBZSxHQXFGeUI7SUFIbEUsQUFBUyxTQUFBLEFBQUEsT0FBTyxBQUdiLE1BQU0sQUFsQlIsT0FBTyxFQWVVLEFBQU0sTUFBQSxBQUFBLFNBQVMsQUFHOUIsTUFBTSxBQWxCUixPQUFPLENBQUM7TUFDUCxZQUFZLEVBbkVhLFNBQWU7TUFvRXhDLEtBQXNCLEVBbkVPLFVBQWU7TUFvRTVDLFVBQVUsRUFuRWUsV0FBQyxHQW9FM0I7SUFXRCxBQUFTLFNBQUEsQUFBQSxPQUFPLEFBR2IsTUFBTSxBQVRSLE9BQU8sRUFNVSxBQUFNLE1BQUEsQUFBQSxTQUFTLEFBRzlCLE1BQU0sQUFUUixPQUFPLENBQUM7TUFBRSxZQUFZLEVWNktWLE9BQU8sQ1U3S2dCLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFJO0VBTTNFLEFBQVMsU0FBQSxBQUFBLE9BQU8sQUFJYixVQUFVLEFBQUEsTUFBTSxFQUpELEFBQU0sTUFBQSxBQUFBLFNBQVMsQUFJOUIsVUFBVSxBQUFBLE1BQU0sQ0FBQztJQUFFLFlBQVksRVZtTHJCLE9BQU8sQ1VuTCtDLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFJOztBQzlFMUcsQUFBQSxXQUFXLENBQUM7RUF4QmQsTUFBTSxFQUFFLENBQUU7RUFDVixhQUFhLEVWbUVMLElBQVU7RVVsRWxCLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLGNBQWMsRUFkWSxLQUFLO0VBZS9CLFdBQVcsRVZnRUgsU0FBVTtFVS9EbEIsUUFBUSxFQUFFLFFBQVMsR0FtQjhCO0VBQS9DLEFBQUEsV0FBVyxBQWpCWixXQUFXLENBQUM7SUFBRSxjQUFjLEVBZFEsTUFBTSxHQWM2QjtFQWlCdEUsQUFBQSxXQUFXLEFBaEJaLE1BQU0sQ0FBQztJQUFFLFdBQVcsRUFBRSxDQUFFLEdBQUk7RUFnQjNCLEFBZEYsV0FjYSxDQWRiLE1BQU07RUFjSixBQWJGLFdBYWEsQ0FiYixNQUFNO0VBYUosQUFaRixXQVlhLENBWmIsS0FBSztFQVlILEFBWEYsV0FXYSxDQVhiLEtBQUssQ0FBQztJQUNKLE1BQU0sRUFBRSxJQUFLO0lBQ2IsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLENBQUU7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLElBQWlCLEVBQUUsQ0FBRSxHQUN0Qjs7QUNvVkMsb0JBQW9CO0FBQ3BCLEFBQUEsSUFBSSxDQUFDO0VBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENYcFNaLElBQVUsR1dvU29COztBQUVwQywyREFBMkQ7QUFDM0QsQUF6U0YsSUF5U00sQ0FBQyxJQUFJLENBelNYLElBQUksRUF5U0YsQUF6U0YsSUF5U00sQ3FDbllSLGFBQWEsQ3JDMEZYLElBQUksRUF5U0YsQUF6U0YsSUF5U00sQ0FBQyxJQUFJLENxQ25ZYixhQUFhLEVyQ21ZVCxBQXpTRixJQXlTTSxDcUNuWVIsYUFBYSxDQUFiLGFBQWEsQ3JDMEZOO0VBQUUsTUFBTSxFQUFFLENBQUMsQ0FBRyxPQUFDLEdBZW5CO0VBMFJDLEFBdlNBLElBdVNJLENBQUMsSUFBSSxDQXpTWCxJQUFJLENBRUYsT0FBTyxFQXVTUCxBQXZTQSxJQXVTSSxDcUNuWVIsYUFBYSxDckMwRlgsSUFBSSxDQUVGLE9BQU8sRUF1U1AsQUF2U0EsSUF1U0ksQ0FBQyxJQUFJLENxQ25ZYixhQUFhLENyQzRGVCxPQUFPLEVBdVNQLEFBdlNBLElBdVNJLENxQ25ZUixhQUFhLENBQWIsYUFBYSxDckM0RlQsT0FBTztFQXVTUCxBQXRTQSxJQXNTSSxDQUFDLElBQUksQ0F6U1gsSUFBSSxDQUdGLFFBQVE7RUFzU1IsQUF0U0EsSUFzU0ksQ3FDbllSLGFBQWEsQ3JDMEZYLElBQUksQ0FHRixRQUFRO0VBc1NSLEFBdFNBLElBc1NJLENBQUMsSUFBSSxDcUNuWWIsYUFBYSxDckM2RlQsUUFBUTtFQXNTUixBQXRTQSxJQXNTSSxDcUNuWVIsYUFBYSxDQUFiLGFBQWEsQ3JDNkZULFFBQVEsQ0FBQztJQUFFLE9BQU8sRUFBRSxDQUFDLENBQUUsTUFBYSxHQUFTO0VBc1M3QyxBQXpTRixJQXlTTSxDQUFDLElBQUksQ0F6U1gsSUFBSSxBQU1ELFNBQVMsRUFtU1YsQUF6U0YsSUF5U00sQ3FDbllSLGFBQWEsQ3JDMEZYLElBQUksQUFNRCxTQUFTLEVBbVNWLEFBelNGLElBeVNNLENBQUMsSUFBSSxDQW5TUixTQUFTLEFxQ2hHZCxhQUFhLEVyQ21ZVCxBQXpTRixJQXlTTSxDcUNuWVIsYUFBYSxDckNnR1IsU0FBUyxBcUNoR2QsYUFBYSxDckNnR0U7SUFBRSxNQUFNLEVBQUUsQ0FBRSxHQVF0QjtJQTJSRCxBQWpTRSxJQWlTRSxDQUFDLElBQUksQ0F6U1gsSUFBSSxBQU1ELFNBQVMsQ0FFUixPQUFPLEVBaVNULEFBalNFLElBaVNFLENxQ25ZUixhQUFhLENyQzBGWCxJQUFJLEFBTUQsU0FBUyxDQUVSLE9BQU8sRUFpU1QsQUFqU0UsSUFpU0UsQ0FBQyxJQUFJLENBblNSLFNBQVMsQXFDaEdkLGFBQWEsQ3JDa0dQLE9BQU8sRUFpU1QsQUFqU0UsSUFpU0UsQ3FDbllSLGFBQWEsQ3JDZ0dSLFNBQVMsQXFDaEdkLGFBQWEsQ3JDa0dQLE9BQU87SUFpU1QsQUFoU0UsSUFnU0UsQ0FBQyxJQUFJLENBelNYLElBQUksQUFNRCxTQUFTLENBR1IsUUFBUTtJQWdTVixBQWhTRSxJQWdTRSxDcUNuWVIsYUFBYSxDckMwRlgsSUFBSSxBQU1ELFNBQVMsQ0FHUixRQUFRO0lBZ1NWLEFBaFNFLElBZ1NFLENBQUMsSUFBSSxDQW5TUixTQUFTLEFxQ2hHZCxhQUFhLENyQ21HUCxRQUFRO0lBZ1NWLEFBaFNFLElBZ1NFLENxQ25ZUixhQUFhLENyQ2dHUixTQUFTLEFxQ2hHZCxhQUFhLENyQ21HUCxRQUFRLENBQUM7TUFBRSxPQUFPLEVBQUUsQ0FBRSxHQUFJO0lBZ1M1QixBQS9SRSxJQStSRSxDQUFDLElBQUksQ0F6U1gsSUFBSSxBQU1ELFNBQVMsQ0FJUixLQUFLLEVBK1JQLEFBL1JFLElBK1JFLENxQ25ZUixhQUFhLENyQzBGWCxJQUFJLEFBTUQsU0FBUyxDQUlSLEtBQUssRUErUlAsQUEvUkUsSUErUkUsQ0FBQyxJQUFJLENBblNSLFNBQVMsQXFDaEdkLGFBQWEsQ3JDb0dQLEtBQUssRUErUlAsQUEvUkUsSUErUkUsQ3FDbllSLGFBQWEsQ3JDZ0dSLFNBQVMsQXFDaEdkLGFBQWEsQ3JDb0dQLEtBQUssQ0FBQztNWnhEUixrQ0FBcUMsRVl5RFMsQ0FBQztNWnhEL0MsK0JBQWtDLEVZd0RZLENBQUM7TVp2RC9DLDBCQUE2QixFWXVEaUIsQ0FBQztNWnREL0MsdUJBQTBCLEVZc0RvQixDQUFDLEdBQzVDOztBQTZSSCxBQXpSRyxJQXlSQyxDQUFDLElBQUksQ0F6UlgsS0FBSyxBQUFBLE9BQU8sRUF5UlYsQUF6UkcsSUF5UkMsQ3FDbllSLGFBQWEsQ3JDMEdYLEtBQUssQUFBQSxPQUFPO0FBeVJWLEFBeFJHLElBd1JDLENBQUMsSUFBSSxDQXhSWCxLQUFLLEFBQUEsUUFBUTtBQXdSWCxBQXhSRyxJQXdSQyxDcUNuWVIsYUFBYSxDckMyR1gsS0FBSyxBQUFBLFFBQVE7QUF3UlgsQUF2Uk0sSUF1UkYsQ0FBQyxJQUFJLENBdlJYLFFBQVEsQUFBQSxPQUFPO0FBdVJiLEFBdlJNLElBdVJGLENxQ25ZUixhQUFhLENyQzRHWCxRQUFRLEFBQUEsT0FBTztBQXVSYixBQXRSTSxJQXNSRixDQUFDLElBQUksQ0F0UlgsUUFBUSxBQUFBLFFBQVE7QUFzUmQsQUF0Uk0sSUFzUkYsQ3FDbllSLGFBQWEsQ3JDNkdYLFFBQVEsQUFBQSxRQUFRLENBQUM7RUFBRSxZQUF5QixFQUFXLE1BQWEsR0FBUzs7QUF3UjNFLGtCQUFrQjtBQUNsQixBQUFBLEtBQUssQ0FBQztFQWhPTixLQUFLLEVBbEplLE9BQVc7RUFtSi9CLE1BQU0sRUF2SlcsT0FBTztFQXdKeEIsT0FBTyxFQUFFLEtBQU07RUFDZixTQUFTLEVYN0VILFFBQVU7RVc4RWhCLFdBQVcsRWhCakZNLE1BQU07RWdCa0Z2QixXQUFXLEVBeEpVLEdBQUc7RUF5SnhCLGFBQWEsRUF0SlUsQ0FBQztFQW1YdEIsZ0NBQWdDLEVBS2pDO0VBUkQsQUFBQSxLQUFLLEFBQ0YsTUFBTSxDQUFDO0lBdE5WLEtBQUssRUFBRSxlQUFnQjtJQUN2QixVQUFVLEVBQUUsS0FBTSxHQXFOK0I7RUFEakQsQUFBQSxLQUFLLEFBRUYsT0FBTyxDQUFDO0lBbk5YLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDWHpGTCxJQUFVLENXeUZVLENBQUM7SUFDM0IsT0FBTyxFQUFFLFNBQWEsQ0FBcUMsQ0FBQyxHQWtOVDtFQUZuRCxBQUlFLEtBSkcsQ0FJSCxLQUFLLENBQUM7SUFDSixjQUFjLEVBdFhPLFVBQVU7SUF1WC9CLEtBQUssRUFBRSxPQUFXLEdBQ25COztBQUdILHlEQUF5RDtBQUN6RCxBQUFBLE9BQU87QUFDUCxBQUFBLFFBQVEsQ0FBQztFQXROWCxZQUFZLEVBdElhLEtBQUs7RUF1STlCLFlBQVksRUF4SWEsR0FBRztFQXlJNUIsT0FBTyxFQUFFLEtBQU07RUFDZixTQUFTLEVYbkdELFFBQVU7RVdvR2xCLE1BQU0sRUFBRyxTQUFnQjtFQUN6QixXQUFXLEVBQUcsU0FBZ0I7RUFDOUIsUUFBUSxFQTNJYyxPQUFPO0VBNEk3QixjQUFjLEVBQUUsQ0FBRTtFQUNsQixXQUFXLEVBQUUsQ0FBRTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSxNQUFPO0VBQ25CLEtBQUssRUFBRSxJQUFLO0VBQ1osT0FBTyxFQUFFLENBQUUsR0EwTWtDOztBQUUzQywwRUFBMEU7QUFDMUUsQUFBUSxRQUFBLEFBQUEsT0FBTyxDQUFDO0VBakpoQixNQUFNLEVBQUUsSUFBSztFQUNiLFlBQXlCLEVBQVUsQ0FBRTtFQUNyQyxhQUE4QixFQUFVLENBQUU7RUFDMUMsY0FBYyxFQUFFLENBQUU7RUFDbEIsV0FBVyxFQUFFLENBQUU7RUFDZixVQUFVLEVBQUUsTUFBTyxHQTRJa0Y7O0FBQ3JHLEFBQU8sT0FBQSxBQUFBLE9BQU8sQ0FBQztFQXBMZixNQUFNLEVBQUUsSUFBSztFQUNiLFlBQXlCLEVBQVUsQ0FBRTtFQUNyQyxhQUE4QixFQUFVLENBQUU7RUFDMUMsY0FBYyxFQUFFLENBQUU7RUFDbEIsV0FBVyxFQUFFLENBQUU7RUFDZixVQUFVLEVBQUUsTUFBTyxHQStLeUU7O0FBRTVGLEFBQWMsT0FBUCxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RVp0WHRCLGFBQWEsRVlzWDJCLENBQUM7RVo1V3pDLGlDQUFxQyxFSmtIekIsR0FBRztFSWpIZiw4QkFBa0MsRUppSHRCLEdBQUc7RUloSGYseUJBQTZCLEVKZ0hqQixHQUFHO0VJL0dmLHNCQUEwQixFSitHZCxHQUFHLEdnQjBQcUY7O0FBQ3BHLEFBQWUsUUFBUCxBQUFBLE9BQU8sQUFBQSxPQUFPLENBQUM7RVp2WHZCLGFBQWEsRVl1WDRCLENBQUM7RVo3VzFDLGtDQUFxQyxFSmtIekIsR0FBRztFSWpIZiwrQkFBa0MsRUppSHRCLEdBQUc7RUloSGYsMEJBQTZCLEVKZ0hqQixHQUFHO0VJL0dmLHVCQUEwQixFSitHZCxHQUFHLEdnQjJQMkY7O0FBQzFHLEFBQWMsT0FBUCxBQUFBLE9BQU8sQUFBQSxNQUFNLENBQUM7RVp4WHJCLGFBQWEsRVl3WDBCLENBQUM7RVo5V3hDLGlDQUFxQyxFQWtUeEIsTUFBTTtFQWpUbkIsOEJBQWtDLEVBaVRyQixNQUFNO0VBaFRuQix5QkFBNkIsRUFnVGhCLE1BQU07RUEvU25CLHNCQUEwQixFQStTYixNQUFNLEdZNEQrRTs7QUFDbEcsQUFBZSxRQUFQLEFBQUEsT0FBTyxBQUFBLE1BQU0sQ0FBQztFWnpYdEIsYUFBYSxFWXlYMkIsQ0FBQztFWi9XekMsa0NBQXFDLEVBa1R4QixNQUFNO0VBalRuQiwrQkFBa0MsRUFpVHJCLE1BQU07RUFoVG5CLDBCQUE2QixFQWdUaEIsTUFBTTtFQS9TbkIsdUJBQTBCLEVBK1NiLE1BQU0sR1k2RHFGOztBQUV4Ryx3RkFBd0Y7QUFDeEYsQUFBSSxJQUFBLEFBQUEsT0FBTyxFQUFFLEFBQUssS0FBQSxBQUFBLE9BQU8sQ0FBQztFQXpNMUIsVUFBVSxFQWxLSSxPQUFXO0VBbUt6QixZQUE2QixFQUFTLElBQUs7RUFHQSxLQUFLLEVad0ZuQyxPQUFPO0VZbkZwQixZQUFZLEVBMUtZLE9BQVcsR0EwV2M7O0FBQ2pELEFBQUksSUFBQSxBQUFBLFFBQVEsRUFBRSxBQUFLLEtBQUEsQUFBQSxRQUFRLENBQUM7RUExSzVCLFVBQVUsRUFsTUksT0FBVztFQW9NdkIsV0FBd0IsRUFBUyxJQUFLO0VBSUksS0FBSyxFWnNEcEMsT0FBTztFWWpEcEIsWUFBWSxFQTVNWSxPQUFXLEdBMldpQjs7QUFFcEQsaUVBQWlFO0FBQ2pFLEFBQWdCLEtBQVgsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFLLElBQUosQUFBQSxJQUFRLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FBYyxBQUFxQixLQUFoQixDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixHQUFrQixBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEdBQWMsQUFBcUIsS0FBaEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsR0FBa0IsQUFBMkIsS0FBdEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxnQkFBZ0IsQUFBckIsR0FBd0IsQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixHQUFlLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FBYyxBQUFrQixLQUFiLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEdBQWUsQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixHQUFnQixBQUFtQixLQUFkLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdBQWdCLEFBQWdCLEtBQVgsQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsR0FBYSxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEdBQWMsQUFBZ0IsS0FBWCxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixHQUFhLEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosR0FBZSxBQUFBLFFBQVEsQ0FBMVU7RUFDRSxrQkFBa0IsRUFBRSxJQUFLO0VBQ3pCLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLGFBQWEsRUFBRSxDQUFFO0VBalRyQixnQkFBZ0IsRVo2S0QsT0FBTztFWTVLdEIsTUFBTSxBQUFDLENBQUMsQUFDTixLQUFLLEVBdkZZLEtBQUs7RUFzRnhCLE1BQU0sQUFBQyxDQUFDLEFBRU4sS0FBSyxFQXZGWSxHQUFHO0VBcUZ0QixNQUFNLEFBQUMsQ0FBQyxBQUdOLEtBQUssRUEzRlksT0FBVztFQTZGOUIsVUFBVSxFaEJnaUJPLElBQUk7RWdCL2hCckIsS0FBSyxFQW5HWSxtQkFBSTtFQW9HckIsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEVBdEdPLE9BQU87RUF1R3pCLFNBQVMsRVhsQ0QsUUFBVTtFV21DbEIsTUFBTSxFQUFHLFNBQWdCO0VBQ3pCLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDWHBDSCxJQUFVLENXb0NRLENBQUM7RUFDM0IsT0FBTyxFQUFFLE1BQWE7RUFDdEIsS0FBSyxFQUFFLElBQUs7RVprQlosa0JBQWtCLEVZakJFLFVBQVU7RVprQjNCLGVBQWUsRVlsQkUsVUFBVTtFWm1CdEIsVUFBVSxFWW5CRSxVQUFVO0VBcVN4QixrQkFBa0IsRUFBRSxZQUFZLENBM1ZYLEtBQUssQ0FDTSxNQUFNLEVBMFYrRCxVQUFVLENBM1YxRixLQUFLLENBQ00sTUFBTTtFQTJWdEMsZUFBZSxFQUFFLFlBQVksQ0E1VlIsS0FBSyxDQUNNLE1BQU0sRUEyVjRELFVBQVUsQ0E1VnZGLEtBQUssQ0FDTSxNQUFNO0VBNFZ0QyxjQUFjLEVBQUUsWUFBWSxDQTdWUCxLQUFLLENBQ00sTUFBTSxFQTRWMkQsVUFBVSxDQTdWdEYsS0FBSyxDQUNNLE1BQU07RUE2VnRDLGFBQWEsRUFBRSxZQUFZLENBOVZOLEtBQUssQ0FDTSxNQUFNLEVBNlYwRCxVQUFVLENBOVZyRixLQUFLLENBQ00sTUFBTTtFQThWdEMsVUFBVSxFQUFFLFlBQVksQ0EvVkgsS0FBSyxDQUNNLE1BQU0sRUE4VnVELFVBQVUsQ0EvVmxGLEtBQUssQ0FDTSxNQUFNLEdBbVd6QztFQWZELEFBQWdCLEtBQVgsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFLLElBQUosQUFBQSxFQTFSWixNQUFNLEVBMFJjLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0ExUjFCLE1BQU0sRUEwUmtDLEFBQXFCLEtBQWhCLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBMVI5QyxNQUFNLEVBMFIwRCxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBMVJ0RSxNQUFNLEVBMFI4RSxBQUFxQixLQUFoQixDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQTFSMUYsTUFBTSxFQTBSc0csQUFBMkIsS0FBdEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxnQkFBZ0IsQUFBckIsQ0ExUmxILE1BQU0sRUEwUm9JLEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0ExUmhKLE1BQU0sRUEwUnlKLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0ExUnJLLE1BQU0sRUEwUjZLLEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0ExUnpMLE1BQU0sRUEwUmtNLEFBQW1CLEtBQWQsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0ExUjlNLE1BQU0sRUEwUndOLEFBQW1CLEtBQWQsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0ExUnBPLE1BQU0sRUEwUjhPLEFBQWdCLEtBQVgsQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsQ0ExUjFQLE1BQU0sRUEwUmlRLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0ExUjdRLE1BQU0sRUEwUnFSLEFBQWdCLEtBQVgsQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsQ0ExUmpTLE1BQU0sRUEwUndTLEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0ExUnBULE1BQU0sRUEwUjZULEFBQUEsUUFBUSxBQTFSM1UsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQTdHUyxPQUFXO0lBOEc5QixZQUFZLEVBNUdXLE9BQVc7SUE2R2xDLE9BQU8sRUFBRSxJQUFLLEdBQ2Y7RUFzUkMsQUFBZ0IsS0FBWCxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUssSUFBSixBQUFBLEVBcFJaLFNBQVMsRUFvUlcsQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQXBSMUIsU0FBUyxFQW9SK0IsQUFBcUIsS0FBaEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FwUjlDLFNBQVMsRUFvUnVELEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FwUnRFLFNBQVMsRUFvUjJFLEFBQXFCLEtBQWhCLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBcFIxRixTQUFTLEVBb1JtRyxBQUEyQixLQUF0QixDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixDQXBSbEgsU0FBUyxFQW9SaUksQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQXBSaEosU0FBUyxFQW9Sc0osQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQXBSckssU0FBUyxFQW9SMEssQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQXBSekwsU0FBUyxFQW9SK0wsQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQXBSOU0sU0FBUyxFQW9ScU4sQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQXBScE8sU0FBUyxFQW9SMk8sQUFBZ0IsS0FBWCxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixDQXBSMVAsU0FBUyxFQW9SOFAsQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQXBSN1EsU0FBUyxFQW9Sa1IsQUFBZ0IsS0FBWCxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixDQXBSalMsU0FBUyxFQW9ScVMsQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQXBScFQsU0FBUyxFQW9SMFQsQUFBQSxRQUFRLEFBcFIzVSxTQUFTLENBQUM7SUFDVCxnQkFBZ0IsRVp5SkgsT0FBTztJWXhKcEIsTUFBTSxFWitRYSxPQUFPLEdZOVEzQjtFQWlSQyxBQUFnQixLQUFYLEFBQUEsSUFBSyxFQUFBLEFBQUEsQUFBSyxJQUFKLEFBQUEsR0E5UVosQUFBQSxRQUFDLEFBQUEsR0E4UUEsQUFBZ0IsS0FBWCxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUssSUFBSixBQUFBLEdBN1FaLEFBQUEsUUFBQyxBQUFBO0VBQ0YsQUE0UWtCLFFBNVFWLENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UVAsS0FBSyxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUssSUFBSixBQUFBLElBQVEsQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQTlRMUIsQUFBQSxRQUFDLEFBQUEsR0E4UW1CLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUE3UTFCLEFBQUEsUUFBQyxBQUFBO0VBQ0YsQUE0UXNDLFFBNVE5QixDQUFBLEFBQUEsUUFBQyxBQUFBLEVBNFFZLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FBYyxBQUFxQixLQUFoQixDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQTlROUMsQUFBQSxRQUFDLEFBQUEsR0E4UXVDLEFBQXFCLEtBQWhCLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBN1E5QyxBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFE4RCxRQTVRdEQsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRZ0MsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixHQUFrQixBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBOVF0RSxBQUFBLFFBQUMsQUFBQSxHQThRK0QsQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQTdRdEUsQUFBQSxRQUFDLEFBQUE7RUFDRixBQTRRa0YsUUE1UTFFLENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UXdELEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FBYyxBQUFxQixLQUFoQixDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQTlRMUYsQUFBQSxRQUFDLEFBQUEsR0E4UW1GLEFBQXFCLEtBQWhCLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBN1ExRixBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFEwRyxRQTVRbEcsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRNEUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixHQUFrQixBQUEyQixLQUF0QixDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixFQTlRbEgsQUFBQSxRQUFDLEFBQUEsR0E4UTJHLEFBQTJCLEtBQXRCLENBQUEsQUFBQSxJQUFDLENBQUssZ0JBQWdCLEFBQXJCLEVBN1FsSCxBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFF3SSxRQTVRaEksQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRb0csS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixHQUF3QixBQUFrQixLQUFiLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBOVFoSixBQUFBLFFBQUMsQUFBQSxHQThReUksQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQTdRaEosQUFBQSxRQUFDLEFBQUE7RUFDRixBQTRRNkosUUE1UXJKLENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UWtJLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosR0FBZSxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBOVFySyxBQUFBLFFBQUMsQUFBQSxHQThROEosQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQTdRckssQUFBQSxRQUFDLEFBQUE7RUFDRixBQTRRaUwsUUE1UXpLLENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UXVKLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FBYyxBQUFrQixLQUFiLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBOVF6TCxBQUFBLFFBQUMsQUFBQSxHQThRa0wsQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQTdRekwsQUFBQSxRQUFDLEFBQUE7RUFDRixBQTRRc00sUUE1UTlMLENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UTJLLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosR0FBZSxBQUFtQixLQUFkLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBOVE5TSxBQUFBLFFBQUMsQUFBQSxHQThRdU0sQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQTdROU0sQUFBQSxRQUFDLEFBQUE7RUFDRixBQTRRNE4sUUE1UXBOLENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UWdNLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsR0FBZ0IsQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQTlRcE8sQUFBQSxRQUFDLEFBQUEsR0E4UTZOLEFBQW1CLEtBQWQsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUE3UXBPLEFBQUEsUUFBQyxBQUFBO0VBQ0YsQUE0UWtQLFFBNVExTyxDQUFBLEFBQUEsUUFBQyxBQUFBLEVBNFFzTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdBQWdCLEFBQWdCLEtBQVgsQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsRUE5UTFQLEFBQUEsUUFBQyxBQUFBLEdBOFFtUCxBQUFnQixLQUFYLENBQUEsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLEVBN1ExUCxBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFFxUSxRQTVRN1AsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRNE8sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixHQUFhLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUE5UTdRLEFBQUEsUUFBQyxBQUFBLEdBOFFzUSxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBN1E3USxBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFF5UixRQTVRalIsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRK1AsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQUFjLEFBQWdCLEtBQVgsQ0FBQSxBQUFBLElBQUMsQ0FBSyxLQUFLLEFBQVYsRUE5UWpTLEFBQUEsUUFBQyxBQUFBLEdBOFEwUixBQUFnQixLQUFYLENBQUEsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLEVBN1FqUyxBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFE0UyxRQTVRcFMsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRbVIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixHQUFhLEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUE5UXBULEFBQUEsUUFBQyxBQUFBLEdBOFE2UyxBQUFrQixLQUFiLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBN1FwVCxBQUFBLFFBQUMsQUFBQTtFQUNGLEFBNFFpVSxRQTVRelQsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQTRRc1MsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixHQUFlLEFBQUEsUUFBUSxDQTlRM1UsQUFBQSxRQUFDLEFBQUEsR0E4UWtVLEFBQUEsUUFBUSxDQTdRM1UsQUFBQSxRQUFDLEFBQUE7RUFDRixBQTRRb1UsUUE1UTVULENBQUEsQUFBQSxRQUFDLEFBQUEsRUE0UTJULFFBQVEsQ0E1UXZUO0lBQ25CLGdCQUFnQixFWmlKSCxPQUFPO0lZaEpwQixNQUFNLEVadVFhLE9BQU8sR1l0UTNCO0VBeVFDLEFBQWdCLEtBQVgsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFLLElBQUosQUFBQSxFQVlSLE9BQU8sRUFaUyxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBWXRCLE9BQU8sRUFaNkIsQUFBcUIsS0FBaEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FZMUMsT0FBTyxFQVpxRCxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBWWxFLE9BQU8sRUFaeUUsQUFBcUIsS0FBaEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FZdEYsT0FBTyxFQVppRyxBQUEyQixLQUF0QixDQUFBLEFBQUEsSUFBQyxDQUFLLGdCQUFnQixBQUFyQixDQVk5RyxPQUFPLEVBWitILEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FZNUksT0FBTyxFQVpvSixBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBWWpLLE9BQU8sRUFad0ssQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQVlyTCxPQUFPLEVBWjZMLEFBQW1CLEtBQWQsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FZMU0sT0FBTyxFQVptTixBQUFtQixLQUFkLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBWWhPLE9BQU8sRUFaeU8sQUFBZ0IsS0FBWCxDQUFBLEFBQUEsSUFBQyxDQUFLLEtBQUssQUFBVixDQVl0UCxPQUFPLEVBWjRQLEFBQWlCLEtBQVosQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsQ0FZelEsT0FBTyxFQVpnUixBQUFnQixLQUFYLENBQUEsQUFBQSxJQUFDLENBQUssS0FBSyxBQUFWLENBWTdSLE9BQU8sRUFabVMsQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQVloVCxPQUFPLEVBWndULEFBQUEsUUFBUSxBQVl2VSxPQUFPLENBQUM7SVo1WVgsYUFBYSxFSjRIRCxHQUFHLEdnQmtSWjs7QUFHSCxBQUdNLElBSEYsQ0FDRixJQUFJLENBQ0YsY0FBYyxBQUFBLElBQUksQUFBQSxTQUFTLENBQ3pCLEtBQUssRUFIWCxBQUdNLElBSEYsQ3FDbmJSLGFBQWEsQ3JDcWJMLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUN6QixLQUFLLEVBSFgsQUFHTSxJQUhGLENBQ0YsSUFBSSxDQUNGLGNBQWMsQUFBSSxTQUFTLEFxQ3JibkMsYUFBYSxDckNzYkgsS0FBSyxFQUhYLEFBR00sSUFIRixDcUNuYlIsYUFBYSxDckNxYkwsY0FBYyxBQUFJLFNBQVMsQXFDcmJuQyxhQUFhLENyQ3NiSCxLQUFLO0FBSFgsQUFJTSxJQUpGLENBQ0YsSUFBSSxDQUNGLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUV6QixRQUFRO0FBSmQsQUFJTSxJQUpGLENxQ25iUixhQUFhLENyQ3FiTCxjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FFekIsUUFBUTtBQUpkLEFBSU0sSUFKRixDQUNGLElBQUksQ0FDRixjQUFjLEFBQUksU0FBUyxBcUNyYm5DLGFBQWEsQ3JDdWJILFFBQVE7QUFKZCxBQUlNLElBSkYsQ3FDbmJSLGFBQWEsQ3JDcWJMLGNBQWMsQUFBSSxTQUFTLEFxQ3JibkMsYUFBYSxDckN1YkgsUUFBUTtBQUpkLEFBS00sSUFMRixDQUNGLElBQUksQ0FDRixjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FHekIsTUFBTTtBQUxaLEFBS00sSUFMRixDcUNuYlIsYUFBYSxDckNxYkwsY0FBYyxBQUFBLElBQUksQUFBQSxTQUFTLENBR3pCLE1BQU07QUFMWixBQUtNLElBTEYsQ0FDRixJQUFJLENBQ0YsY0FBYyxBQUFJLFNBQVMsQXFDcmJuQyxhQUFhLENyQ3diSCxNQUFNO0FBTFosQUFLTSxJQUxGLENxQ25iUixhQUFhLENyQ3FiTCxjQUFjLEFBQUksU0FBUyxBcUNyYm5DLGFBQWEsQ3JDd2JILE1BQU07QUFMWixBQU1NLElBTkYsQ0FDRixJQUFJLENBQ0YsY0FBYyxBQUFBLElBQUksQUFBQSxTQUFTLENBSXpCLE1BQU07QUFOWixBQU1NLElBTkYsQ3FDbmJSLGFBQWEsQ3JDcWJMLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUl6QixNQUFNO0FBTlosQUFNTSxJQU5GLENBQ0YsSUFBSSxDQUNGLGNBQWMsQUFBSSxTQUFTLEFxQ3JibkMsYUFBYSxDckN5YkgsTUFBTTtBQU5aLEFBTU0sSUFORixDcUNuYlIsYUFBYSxDckNxYkwsY0FBYyxBQUFJLFNBQVMsQXFDcmJuQyxhQUFhLENyQ3liSCxNQUFNLENBQUM7RVp2WmIsYUFBYSxFWXVaa0IsQ0FBQztFWjdZaEMsa0NBQXFDLEVKa0h6QixHQUFHO0VJakhmLCtCQUFrQyxFSmlIdEIsR0FBRztFSWhIZiwwQkFBNkIsRUpnSGpCLEdBQUc7RUkvR2YsdUJBQTBCLEVKK0dkLEdBQUcsR2dCMlJpRjs7QUFOaEcsQUFPTSxJQVBGLENBQ0YsSUFBSSxDQUNGLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUt6QixPQUFPLEVBUGIsQUFPTSxJQVBGLENxQ25iUixhQUFhLENyQ3FiTCxjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FLekIsT0FBTyxFQVBiLEFBT00sSUFQRixDQUNGLElBQUksQ0FDRixjQUFjLEFBQUksU0FBUyxBcUNyYm5DLGFBQWEsQ3JDMGJILE9BQU8sRUFQYixBQU9NLElBUEYsQ3FDbmJSLGFBQWEsQ3JDcWJMLGNBQWMsQUFBSSxTQUFTLEFxQ3JibkMsYUFBYSxDckMwYkgsT0FBTyxDQUFDO0VaeFpkLGFBQWEsRVl3Wm1CLENBQUM7RVo5WWpDLGlDQUFxQyxFSmtIekIsR0FBRztFSWpIZiw4QkFBa0MsRUppSHRCLEdBQUc7RUloSGYseUJBQTZCLEVKZ0hqQixHQUFHO0VJL0dmLHNCQUEwQixFSitHZCxHQUFHLEdnQjRSNkU7O0FBUDVGLEFBVU0sSUFWRixDQUNGLElBQUksQ0FRRixlQUFlLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FDMUIsS0FBSyxFQVZYLEFBVU0sSUFWRixDcUNuYlIsYUFBYSxDckM0YkwsZUFBZSxBQUFBLElBQUksQUFBQSxTQUFTLENBQzFCLEtBQUssRUFWWCxBQVVNLElBVkYsQ0FDRixJQUFJLENBUUYsZUFBZSxBQUFJLFNBQVMsQXFDNWJwQyxhQUFhLENyQzZiSCxLQUFLLEVBVlgsQUFVTSxJQVZGLENxQ25iUixhQUFhLENyQzRiTCxlQUFlLEFBQUksU0FBUyxBcUM1YnBDLGFBQWEsQ3JDNmJILEtBQUs7QUFWWCxBQVdNLElBWEYsQ0FDRixJQUFJLENBUUYsZUFBZSxBQUFBLElBQUksQUFBQSxTQUFTLENBRTFCLFFBQVE7QUFYZCxBQVdNLElBWEYsQ3FDbmJSLGFBQWEsQ3JDNGJMLGVBQWUsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUUxQixRQUFRO0FBWGQsQUFXTSxJQVhGLENBQ0YsSUFBSSxDQVFGLGVBQWUsQUFBSSxTQUFTLEFxQzVicEMsYUFBYSxDckM4YkgsUUFBUTtBQVhkLEFBV00sSUFYRixDcUNuYlIsYUFBYSxDckM0YkwsZUFBZSxBQUFJLFNBQVMsQXFDNWJwQyxhQUFhLENyQzhiSCxRQUFRO0FBWGQsQUFZTSxJQVpGLENBQ0YsSUFBSSxDQVFGLGVBQWUsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUcxQixNQUFNO0FBWlosQUFZTSxJQVpGLENxQ25iUixhQUFhLENyQzRiTCxlQUFlLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FHMUIsTUFBTTtBQVpaLEFBWU0sSUFaRixDQUNGLElBQUksQ0FRRixlQUFlLEFBQUksU0FBUyxBcUM1YnBDLGFBQWEsQ3JDK2JILE1BQU07QUFaWixBQVlNLElBWkYsQ3FDbmJSLGFBQWEsQ3JDNGJMLGVBQWUsQUFBSSxTQUFTLEFxQzVicEMsYUFBYSxDckMrYkgsTUFBTTtBQVpaLEFBYU0sSUFiRixDQUNGLElBQUksQ0FRRixlQUFlLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FJMUIsTUFBTTtBQWJaLEFBYU0sSUFiRixDcUNuYlIsYUFBYSxDckM0YkwsZUFBZSxBQUFBLElBQUksQUFBQSxTQUFTLENBSTFCLE1BQU07QUFiWixBQWFNLElBYkYsQ0FDRixJQUFJLENBUUYsZUFBZSxBQUFJLFNBQVMsQXFDNWJwQyxhQUFhLENyQ2djSCxNQUFNO0FBYlosQUFhTSxJQWJGLENxQ25iUixhQUFhLENyQzRiTCxlQUFlLEFBQUksU0FBUyxBcUM1YnBDLGFBQWEsQ3JDZ2NILE1BQU0sQ0FBQztFWjlaYixhQUFhLEVZOFprQixDQUFDO0VacFpoQyxpQ0FBcUMsRUprSHpCLEdBQUc7RUlqSGYsOEJBQWtDLEVKaUh0QixHQUFHO0VJaEhmLHlCQUE2QixFSmdIakIsR0FBRztFSS9HZixzQkFBMEIsRUorR2QsR0FBRyxHZ0JrUzRFOztBQWIzRixBQWNNLElBZEYsQ0FDRixJQUFJLENBUUYsZUFBZSxBQUFBLElBQUksQUFBQSxTQUFTLENBSzFCLFFBQVEsRUFkZCxBQWNNLElBZEYsQ3FDbmJSLGFBQWEsQ3JDNGJMLGVBQWUsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUsxQixRQUFRLEVBZGQsQUFjTSxJQWRGLENBQ0YsSUFBSSxDQVFGLGVBQWUsQUFBSSxTQUFTLEFxQzVicEMsYUFBYSxDckNpY0gsUUFBUSxFQWRkLEFBY00sSUFkRixDcUNuYlIsYUFBYSxDckM0YkwsZUFBZSxBQUFJLFNBQVMsQXFDNWJwQyxhQUFhLENyQ2ljSCxRQUFRLENBQUM7RVovWmYsYUFBYSxFWStab0IsQ0FBQztFWnJabEMsa0NBQXFDLEVKa0h6QixHQUFHO0VJakhmLCtCQUFrQyxFSmlIdEIsR0FBRztFSWhIZiwwQkFBNkIsRUpnSGpCLEdBQUc7RUkvR2YsdUJBQTBCLEVKK0dkLEdBQUcsR2dCbVNtRjs7QUFkbEcsQUFpQk0sSUFqQkYsQ0FDRixJQUFJLENBZUYsYUFBYSxBQUFBLElBQUksQUFBQSxTQUFTLENBQ3hCLEtBQUssRUFqQlgsQUFpQk0sSUFqQkYsQ3FDbmJSLGFBQWEsQ3JDbWNMLGFBQWEsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUN4QixLQUFLLEVBakJYLEFBaUJNLElBakJGLENBQ0YsSUFBSSxDQWVGLGFBQWEsQUFBSSxTQUFTLEFxQ25jbEMsYUFBYSxDckNvY0gsS0FBSyxFQWpCWCxBQWlCTSxJQWpCRixDcUNuYlIsYUFBYSxDckNtY0wsYUFBYSxBQUFJLFNBQVMsQXFDbmNsQyxhQUFhLENyQ29jSCxLQUFLO0FBakJYLEFBa0JNLElBbEJGLENBQ0YsSUFBSSxDQWVGLGFBQWEsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUV4QixRQUFRO0FBbEJkLEFBa0JNLElBbEJGLENxQ25iUixhQUFhLENyQ21jTCxhQUFhLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FFeEIsUUFBUTtBQWxCZCxBQWtCTSxJQWxCRixDQUNGLElBQUksQ0FlRixhQUFhLEFBQUksU0FBUyxBcUNuY2xDLGFBQWEsQ3JDcWNILFFBQVE7QUFsQmQsQUFrQk0sSUFsQkYsQ3FDbmJSLGFBQWEsQ3JDbWNMLGFBQWEsQUFBSSxTQUFTLEFxQ25jbEMsYUFBYSxDckNxY0gsUUFBUTtBQWxCZCxBQW1CTSxJQW5CRixDQUNGLElBQUksQ0FlRixhQUFhLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FHeEIsTUFBTTtBQW5CWixBQW1CTSxJQW5CRixDcUNuYlIsYUFBYSxDckNtY0wsYUFBYSxBQUFBLElBQUksQUFBQSxTQUFTLENBR3hCLE1BQU07QUFuQlosQUFtQk0sSUFuQkYsQ0FDRixJQUFJLENBZUYsYUFBYSxBQUFJLFNBQVMsQXFDbmNsQyxhQUFhLENyQ3NjSCxNQUFNO0FBbkJaLEFBbUJNLElBbkJGLENxQ25iUixhQUFhLENyQ21jTCxhQUFhLEFBQUksU0FBUyxBcUNuY2xDLGFBQWEsQ3JDc2NILE1BQU07QUFuQlosQUFvQk0sSUFwQkYsQ0FDRixJQUFJLENBZUYsYUFBYSxBQUFBLElBQUksQUFBQSxTQUFTLENBSXhCLE1BQU07QUFwQlosQUFvQk0sSUFwQkYsQ3FDbmJSLGFBQWEsQ3JDbWNMLGFBQWEsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUl4QixNQUFNO0FBcEJaLEFBb0JNLElBcEJGLENBQ0YsSUFBSSxDQWVGLGFBQWEsQUFBSSxTQUFTLEFxQ25jbEMsYUFBYSxDckN1Y0gsTUFBTTtBQXBCWixBQW9CTSxJQXBCRixDcUNuYlIsYUFBYSxDckNtY0wsYUFBYSxBQUFJLFNBQVMsQXFDbmNsQyxhQUFhLENyQ3VjSCxNQUFNLENBQUM7RVpyYWIsYUFBYSxFWXFha0IsQ0FBQztFWjNaaEMsa0NBQXFDLEVBa1R4QixNQUFNO0VBalRuQiwrQkFBa0MsRUFpVHJCLE1BQU07RUFoVG5CLDBCQUE2QixFQWdUaEIsTUFBTTtFQS9TbkIsdUJBQTBCLEVBK1NiLE1BQU0sR1l5RzRFOztBQXBCL0YsQUFxQk0sSUFyQkYsQ0FDRixJQUFJLENBZUYsYUFBYSxBQUFBLElBQUksQUFBQSxTQUFTLENBS3hCLE9BQU8sRUFyQmIsQUFxQk0sSUFyQkYsQ3FDbmJSLGFBQWEsQ3JDbWNMLGFBQWEsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUt4QixPQUFPLEVBckJiLEFBcUJNLElBckJGLENBQ0YsSUFBSSxDQWVGLGFBQWEsQUFBSSxTQUFTLEFxQ25jbEMsYUFBYSxDckN3Y0gsT0FBTyxFQXJCYixBQXFCTSxJQXJCRixDcUNuYlIsYUFBYSxDckNtY0wsYUFBYSxBQUFJLFNBQVMsQXFDbmNsQyxhQUFhLENyQ3djSCxPQUFPLENBQUM7RVp0YWQsYUFBYSxFWXNhbUIsQ0FBQztFWjVaakMsaUNBQXFDLEVBa1R4QixNQUFNO0VBalRuQiw4QkFBa0MsRUFpVHJCLE1BQU07RUFoVG5CLHlCQUE2QixFQWdUaEIsTUFBTTtFQS9TbkIsc0JBQTBCLEVBK1NiLE1BQU0sR1kwR3dFOztBQXJCM0YsQUF3Qk0sSUF4QkYsQ0FDRixJQUFJLENBc0JGLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUN6QixLQUFLLEVBeEJYLEFBd0JNLElBeEJGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FDekIsS0FBSyxFQXhCWCxBQXdCTSxJQXhCRixDQUNGLElBQUksQ0FzQkYsY0FBYyxBQUFJLFNBQVMsQXFDMWNuQyxhQUFhLENyQzJjSCxLQUFLLEVBeEJYLEFBd0JNLElBeEJGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUksU0FBUyxBcUMxY25DLGFBQWEsQ3JDMmNILEtBQUs7QUF4QlgsQUF5Qk0sSUF6QkYsQ0FDRixJQUFJLENBc0JGLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUV6QixRQUFRO0FBekJkLEFBeUJNLElBekJGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FFekIsUUFBUTtBQXpCZCxBQXlCTSxJQXpCRixDQUNGLElBQUksQ0FzQkYsY0FBYyxBQUFJLFNBQVMsQXFDMWNuQyxhQUFhLENyQzRjSCxRQUFRO0FBekJkLEFBeUJNLElBekJGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUksU0FBUyxBcUMxY25DLGFBQWEsQ3JDNGNILFFBQVE7QUF6QmQsQUEwQk0sSUExQkYsQ0FDRixJQUFJLENBc0JGLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUd6QixNQUFNO0FBMUJaLEFBMEJNLElBMUJGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FHekIsTUFBTTtBQTFCWixBQTBCTSxJQTFCRixDQUNGLElBQUksQ0FzQkYsY0FBYyxBQUFJLFNBQVMsQXFDMWNuQyxhQUFhLENyQzZjSCxNQUFNO0FBMUJaLEFBMEJNLElBMUJGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUksU0FBUyxBcUMxY25DLGFBQWEsQ3JDNmNILE1BQU07QUExQlosQUEyQk0sSUEzQkYsQ0FDRixJQUFJLENBc0JGLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUl6QixNQUFNO0FBM0JaLEFBMkJNLElBM0JGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FJekIsTUFBTTtBQTNCWixBQTJCTSxJQTNCRixDQUNGLElBQUksQ0FzQkYsY0FBYyxBQUFJLFNBQVMsQXFDMWNuQyxhQUFhLENyQzhjSCxNQUFNO0FBM0JaLEFBMkJNLElBM0JGLENxQ25iUixhQUFhLENyQzBjTCxjQUFjLEFBQUksU0FBUyxBcUMxY25DLGFBQWEsQ3JDOGNILE1BQU0sQ0FBQztFWjVhYixhQUFhLEVZNGFrQixDQUFDO0VabGFoQyxpQ0FBcUMsRUFrVHhCLE1BQU07RUFqVG5CLDhCQUFrQyxFQWlUckIsTUFBTTtFQWhUbkIseUJBQTZCLEVBZ1RoQixNQUFNO0VBL1NuQixzQkFBMEIsRUErU2IsTUFBTSxHWWdIdUU7O0FBM0IxRixBQTRCTSxJQTVCRixDQUNGLElBQUksQ0FzQkYsY0FBYyxBQUFBLElBQUksQUFBQSxTQUFTLENBS3pCLFFBQVEsRUE1QmQsQUE0Qk0sSUE1QkYsQ3FDbmJSLGFBQWEsQ3JDMGNMLGNBQWMsQUFBQSxJQUFJLEFBQUEsU0FBUyxDQUt6QixRQUFRLEVBNUJkLEFBNEJNLElBNUJGLENBQ0YsSUFBSSxDQXNCRixjQUFjLEFBQUksU0FBUyxBcUMxY25DLGFBQWEsQ3JDK2NILFFBQVEsRUE1QmQsQUE0Qk0sSUE1QkYsQ3FDbmJSLGFBQWEsQ3JDMGNMLGNBQWMsQUFBSSxTQUFTLEFxQzFjbkMsYUFBYSxDckMrY0gsUUFBUSxDQUFDO0VaN2FmLGFBQWEsRVk2YW9CLENBQUM7RVpuYWxDLGtDQUFxQyxFQWtUeEIsTUFBTTtFQWpUbkIsK0JBQWtDLEVBaVRyQixNQUFNO0VBaFRuQiwwQkFBNkIsRUFnVGhCLE1BQU07RUEvU25CLHVCQUEwQixFQStTYixNQUFNLEdZaUg4RTs7QUFLakcsQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ25CLGtCQUFrQixFQUFFLElBQUs7RUFDekIsZUFBZSxFQUFFLElBQUs7RUFDdEIsYUFBYSxFQUFFLENBQUUsR0FDbEI7O0FBRUQsa0RBQWtEO0FBQ2xELEFBQWEsUUFBTCxDQUFBLEFBQUEsSUFBQyxBQUFBLEVBQU07RUFDYixNQUFNLEVBQUUsSUFBSyxHQUNkOztBQUVELG9DQUFvQztBQUNwQyxBQUFBLFFBQVEsQ0FBQztFQUNQLFNBQVMsRUFBRSxJQUFLLEdBQ2pCOztBQUdELEFBQUEsMkJBQTJCLENBQUM7RUFDMUIsS0FBSyxFWnhMTSxPQUFPLEdZeUxuQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQUUsaUJBQWlCO0VBQ2xDLEtBQUssRVo1TEssT0FBTyxHWTZMbkI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUFHLGlCQUFpQjtFQUNwQyxLQUFLLEVaaE1LLE9BQU8sR1lpTW5COztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDcEIsS0FBSyxFWnBNSyxPQUFPLEdZcU1uQjs7QUFHRCxxRUFBcUU7QUFDckUsQUFBQSxNQUFNLENBQUM7RUEvS1Qsa0JBQWtCLEVBQUUsZUFBZ0I7RUFDcEMsZUFBZSxFQUFFLGVBQWdCO0VBQ2pDLGdCQUFnQixFWnhDRCxPQUFPO0VZeUN0QixhQUFhLEVBQUUsQ0FBRTtFQVNqQixnQkFBZ0IsRUFBRSxxVUFBRztFQUdyQixtQkFBbUIsRUFBbUMsSUFBSSxDQUFFLE1BQU07RUFFbEUsaUJBQWlCLEVBQUUsU0FBVTtFQUM3QixNQUFNLEFBQUMsQ0FBQyxBQUNOLEtBQUssRUE1VFksS0FBSztFQTJUeEIsTUFBTSxBQUFDLENBQUMsQUFFTixLQUFLLEVBNVRZLEdBQUc7RUEwVHRCLE1BQU0sQUFBQyxDQUFDLEFBR04sS0FBSyxFQWhVWSxPQUFXO0VBa1U5QixLQUFLLEVBdlVZLG1CQUFJO0VBd1VyQixXQUFXLEVBelVPLE9BQU87RUEwVXpCLFNBQVMsRVhyUUQsUUFBVTtFV3NRbEIsV0FBVyxFQUFFLE1BQU87RUFDcEIsT0FBTyxFQUFHLE1BQWE7RVpqVXJCLGFBQWEsRVlrVUMsQ0FBQztFQXFKYixNQUFNLEVBQUcsU0FBZ0IsR0FJMUI7RUFORCxBQUFBLE1BQU0sQUF6S1AsWUFBWSxDQUFDO0lBQ1osT0FBTyxFQUFFLElBQUssR0FDZjtFQXVLQyxBQUFBLE1BQU0sQUFsSlAsT0FBTyxDQUFDO0lablVQLGFBQWEsRUo0SEQsR0FBRyxHZ0J1TTZCO0VBa0o1QyxBQUFBLE1BQU0sQUFqSlAsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVBclJJLE9BQVc7SUFzUi9CLFlBQVksRUExVVcsT0FBVyxHQTJVbkM7RUE4SUMsQUFBQSxNQUFNLEFBNUlQLFNBQVMsQ0FBQztJQUNULGdCQUFnQixFWnBFSCxPQUFPO0lZcUVwQixNQUFNLEVaa0RhLE9BQU8sR1lqRDNCO0VBeUlDLEFBQUEsTUFBTSxDQUdILEFBQUEsUUFBQyxBQUFBLEVBQVU7SUFDVixNQUFNLEVBQUUsSUFBSyxHQUNkOztBQUdILDJDQUEyQztBQUMzQyxBQUFpQixLQUFaLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYO0FBQ04sQUFBcUIsS0FBaEIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7QUFDTixBQUFrQixLQUFiLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBQ04sQUFBQSxNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ1h4YVAsSUFBVSxDV3dhWSxDQUFDLEdBQzVCOztBQUVELEFBQXlCLEtBQXBCLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQW1CLEtBQUs7QUFDOUIsQUFBc0IsS0FBakIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFBZ0IsS0FBSyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFdBQXdCLEVBQVMsTUFBYTtFQUM5QyxZQUE2QixFWC9hekIsSUFBVTtFV2diZCxhQUFhLEVBQUUsQ0FBRTtFQUNqQixjQUFjLEVBQUUsUUFBUyxHQUMxQjs7QUFFRCxnQ0FBZ0M7QUFDaEMsQUFBaUIsS0FBWixDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO0VBQ2pCLEtBQUssRUFBQyxJQUFLLEdBQ1o7O0FBRUQsb0NBQW9DO0FBU3BDLG1DQUFtQztBQUNuQyxBQUFBLFFBQVEsQ0FBQztFQS9RWCxNQUFNLEVBdk9nQixHQUFHLENBREgsS0FBSyxDWmdRWixPQUFPO0VZdkJ0QixNQUFNLEVYckxFLFFBQVUsQ0FDYSxDQUFDO0VXcUxoQyxPQUFPLEVYdExDLE9BQVUsR1dxY2Y7RUFGRCxBQTFRRixRQTBRVSxDQTFRVixNQUFNLENBQUM7SUFDTCxXQUFXLEVoQjVMSSxJQUFJO0lnQjZMbkIsTUFBTSxFQUFFLENBQUU7SUFDVixXQUF3QixFWDVMbEIsVUFBVTtJVzZMaEIsT0FBTyxFWDVMc0IsQ0FBQyxDQUR4QixTQUFVLEdXOExqQjs7QUF5UUMsb0JBQW9CO0NBRXBCLEFBQUEsQUFDYyxVQURiLEFBQUEsRUFDQyxNQUFNLENBQUMsS0FBSyxBQUFBLE1BQU0sR0FEcEIsQUFBQSxBQUNpQyxVQURoQyxBQUFBLEVBQ3FCLE1BQU0sQ0FBQyxJQUFJLEFBQUEsTUFBTSxHQUR2QyxBQUFBLEFBQzZDLFVBRDVDLEFBQUEsRUFDd0MsSUFBSSxBQUFBLE1BQU0sR0FEbkQsQUFBQSxBQUMwRCxVQUR6RCxBQUFBLEVBQ29ELEtBQUssQUFBQSxNQUFNLENBQUM7RUEvT25FLE9BQU8sRUFBRSxLQUFNO0VBQ2YsU0FBUyxFWDVORCxPQUFVO0VXNk5sQixVQUFVLEVBdFBxQixNQUFNO0VBdVByQyxXQUFXLEVoQmpPUSxNQUFNO0VnQmtPekIsYUFBYSxFWC9OTCxJQUFVO0VXZ09sQixVQUFVLEVBNVBlLElBQUc7RUE2UDVCLE9BQU8sRVhqT0MsUUFBVSxDQUFWLFNBQVUsQ0FBVixTQUFVO0VXcU9sQixVQUFVLEVaVEUsT0FBTztFWVV3QixLQUFLLEVaakNqQyxPQUFPLEdZdVFqQjs7Q0FISCxBQUFBLEFBSU0sVUFKTCxBQUFBLEVBSUMsSUFBSSxBQUFBLE1BQU0sR0FKWixBQUFBLEFBSW1CLFVBSmxCLEFBQUEsRUFJYSxLQUFLLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUssR0FBSTs7QUFHOUMsQUFBSSxJQUFBLEFBQUEsTUFBTSxFQUFFLEFBQUssS0FBQSxBQUFBLE1BQU0sQ0FBQztFQXJQMUIsT0FBTyxFQUFFLEtBQU07RUFDZixTQUFTLEVYNU5ELE9BQVU7RVc2TmxCLFVBQVUsRUF0UHFCLE1BQU07RUF1UHJDLFdBQVcsRWhCak9RLE1BQU07RWdCa096QixhQUFhLEVYL05MLElBQVU7RVdnT2xCLFVBQVUsRUE1UGUsSUFBRztFQTZQNUIsT0FBTyxFWGpPQyxRQUFVLENBQVYsU0FBVSxDQUFWLFNBQVU7RVdxT2xCLFVBQVUsRVpURSxPQUFPO0VZVXdCLEtBQUssRVpqQ2pDLE9BQU8sR1k2UW5COztBQUVELEFBQ0UsTUFESSxDQUNKLEtBQUs7QUFEUCxBQUVFLE1BRkksQ0FFSixRQUFRO0FBRlYsQUFHRSxNQUhJLENBR0osTUFBTSxDQUFDO0VBQ0wsYUFBYSxFQUFFLENBQUUsR0FDbEI7O0FBTEgsQUFPdUIsTUFQakIsQ0FPSixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmO0FBUFIsQUFRb0IsTUFSZCxDQVFKLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYztFQUNsQixhQUFhLEVYN2RYLElBQVUsR1c4ZGI7O0FBVkgsQUFZRSxNQVpJLENBWUosS0FBSztBQVpQLEFBYU8sTUFiRCxDQWFKLEtBQUssQUFBQSxNQUFNLENBQUM7RUE3UW1DLEtBQUssRVpRNUMsT0FBTyxHWXVRZDs7QUFmSCxBQWlCTyxNQWpCRCxDQWlCSixLQUFLLEFBQUEsTUFBTSxDQUFDO0VBMVFoQixPQUFPLEVBQUUsS0FBTTtFQUNmLFNBQVMsRVg1TkQsT0FBVTtFVzZObEIsVUFBVSxFQXRQcUIsTUFBTTtFQXVQckMsV0FBVyxFaEJqT1EsTUFBTTtFZ0JrT3pCLGFBQWEsRVgvTkwsSUFBVTtFV2dPbEIsVUFBVSxFQTVQZSxJQUFHO0VBNlA1QixPQUFPLEVYak9DLFFBQVUsQ0FBVixTQUFVLENBQVYsU0FBVTtFV3FPbEIsVUFBVSxFWlRFLE9BQU87RVlVd0IsS0FBSyxFWmpDakMsT0FBTyxHWWtTakI7O0FBbkJILEFBc0JNLE1BdEJBLEdBcUJGLEtBQUssR0FDSCxLQUFLLENBQUM7RUFDTixVQUFVLEVBQUUsV0FBWTtFQUN4QixLQUFLLEVBQUUsT0FBVztFQUNsQixPQUFPLEVBQUUsTUFBTztFQUNoQixTQUFTLEVBQUUsR0FBSTtFQUNmLFVBQVUsRUFBRSxNQUFPO0VBQ25CLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLENBQUU7RUFDWCxjQUFjLEVBempCSyxVQUFVLEdBMGpCOUI7O0FBL0JMLEFBa0NNLE1BbENBLENBa0NKLElBQUksQUFBQSxjQUFjLENBQUM7RUFDakIsT0FBTyxFQUFFLEtBQU0sR0FDaEI7O0FBR0gsQUFBSyxLQUFBLEFBQUEsTUFBTTtBQUNYLEFBQVEsUUFBQSxBQUFBLE1BQU07QUFDZCxBQUFNLE1BQUEsQUFBQSxNQUFNLENBQUM7RUFDWCxhQUFhLEVBQUUsQ0FBRSxHQUNsQjs7QUFDRCxBQUFLLEtBQUEsQUFBQSxNQUFNLENBQUM7RUE1U3FDLEtBQUssRVpRNUMsT0FBTyxHWW9TZ0M7O0FDbFFqRCxBQUFBLFNBQVMsQ0FBQztFQWxUWixPQUFPLEVBQUUsWUFBYTtFQUN0QixTQUFTLEVBQUUsQ0FBRTtFQUNiLEtBQUssRUFBRSxJQUFLO0VBbUlWLFVBQVUsRWJvSUcsT0FBTyxHYTJDbkI7RUFGRCxBQTlTQSxTQThTUyxHQTlTVCxDQUFDLENBQUM7SUFDRixPQUFPLEVBQUUsS0FBTTtJQUNmLEtBQUssRUFBRSxJQUFLO0lBQ1osU0FBUyxFQTdCUSxJQUFJO0lBOEJyQixNQUFNLEVBQUUsTUFBTztJQUNmLE9BQU8sRUF2QmEsT0FBTztJQXdCM0IsVUFBVSxFQUFFLE1BQU87SUFDbkIsS0FBSyxFQUFFLEdBQUksR0FvQlo7SUFtUkMsQUFyU0EsU0FxU1MsR0E5U1QsQ0FBQyxDQVNELENBQUMsRUFxU0QsQUFyU0csU0FxU00sR0E5U1QsQ0FBQyxDQVNFLEdBQUcsQ0FBQztNQUNMLE9BQU8sRUFBRSxLQUFNO01BQ2YsTUFBTSxFQUFFLE1BQU8sR0FLaEI7TUE4UkQsQUFqU00sU0FpU0csR0E5U1QsQ0FBQyxDQVNELENBQUMsR0FJSyxLQUFLLEVBaVNYLEFBalNNLFNBaVNHLEdBOVNULENBQUMsQ0FTRSxHQUFHLEdBSUEsS0FBSyxDQUFDO1FBQ1IsVUFBVSxFQUFFLFFBQVMsR0FDdEI7SUErUkgsQUE1UkEsU0E0UlMsR0E5U1QsQ0FBQyxDQWtCRCxDQUFDLENBQUM7TUFDQSxTQUFTLEVBekNNLFFBQVE7TUEwQ3ZCLGNBQWMsRUFBRSxNQUFPLEdBQ3hCO0lBeVJELEFBdlJBLFNBdVJTLEdBOVNULENBQUMsQ0F1QkQsR0FBRyxDQUFDO01BQ0YsTUFBTSxFQTVDWSxRQUFRO01BNkMxQixLQUFLLEVBOUNZLFFBQVEsR0ErQzFCO0VBb1JELEFBL1FBLFNBK1FTLEFBalJWLFlBQVksR0FBRyxDQUFDLENBRWYsQ0FBQyxFQStRRCxBQS9RRyxTQStRTSxBQWpSVixZQUFZLEdBQUcsQ0FBQyxDQUVaLEdBQUcsQ0FBQztJQUNMLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLE1BQU0sRUFBRSxjQUFlLEdBS3hCO0lBd1FELEFBM1FNLFNBMlFHLEFBalJWLFlBQVksR0FBRyxDQUFDLENBRWYsQ0FBQyxHQUlLLEtBQUssRUEyUVgsQUEzUU0sU0EyUUcsQUFqUlYsWUFBWSxHQUFHLENBQUMsQ0FFWixHQUFHLEdBSUEsS0FBSyxDQUFDO01BQ1IsVUFBVSxFQUFFLENBQUUsR0FDZjtFQXlRSCxBQXRRQSxTQXNRUyxBQWpSVixZQUFZLEdBQUcsQ0FBQyxDQVdmLEtBQUssQ0FBQztJQUFFLE9BQU8sRUFBRSxZQUFhLEdBQUk7RUFzUWxDLEFBblF1QixTQW1RZCxBQW5RVixTQUFTLEFBQUEsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUN6QixVQUFVLEVBQUUsSUFBSyxHQUNsQjtFQWlRQyxBQUFBLFNBQVMsQUEvUFYsU0FBUyxFQStQUixBQUFBLFNBQVMsQUEvUEUsZUFBZSxDQUFBO0lBQzFCLE1BQU0sRUFBRSxJQUFLO0lBQ2IsS0FBSyxFQUFFLElBQUssR0FPYjtJQXNQQyxBQTNQQSxTQTJQUyxBQS9QVixTQUFTLENBSVIsS0FBSyxFQTJQTCxBQTNQQSxTQTJQUyxBQS9QRSxlQUFlLENBSTFCLEtBQUssQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFLO01BQ1osTUFBTSxFQUFFLElBQUs7TUFDYixLQUFLLEVBQUUsSUFBSyxHQUNiO0VBSUQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQW1QbkMsQUFBQSxTQUFTLEFBcFBWLGdCQUFnQixDQUFDO01BRWQsTUFBTSxFQUFFLElBQUs7TUFDYixLQUFLLEVBQUUsSUFBSyxHQVFmO01BeU9DLEFBL09FLFNBK09PLEFBcFBWLGdCQUFnQixDQUtiLEtBQUssQ0FBQztRQUNKLEtBQUssRUFBRSxJQUFLO1FBQ1osTUFBTSxFQUFFLElBQUs7UUFDYixLQUFLLEVBQUUsSUFBSyxHQUNiO0VBSUgsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUztJQXVPcEMsQUFBQSxTQUFTLEFBeE9WLGVBQWUsQ0FBQztNQUViLE1BQU0sRUFBRSxJQUFLO01BQ2IsS0FBSyxFQUFFLElBQUssR0FRZjtNQTZOQyxBQW5PRSxTQW1PTyxBQXhPVixlQUFlLENBS1osS0FBSyxDQUFDO1FBQ0osS0FBSyxFQUFFLElBQUs7UUFDWixNQUFNLEVBQUUsSUFBSztRQUNiLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUErTkgsQUFsTkEsU0FrTlMsR0FsTlQsQ0FBQyxDQUFDO0lBQ0YsU0FBUyxFQXZIUSxJQUFJO0lBd0hyQixPQUFPLEVBaEhhLE9BQU8sR0FrSTVCO0lBOExDLEFBNU1NLFNBNE1HLEdBbE5ULENBQUMsQ0FJRCxDQUFDLEdBRUssS0FBSyxFQTRNWCxBQTVNTSxTQTRNRyxHQWxOVCxDQUFDLENBSUUsR0FBRyxHQUVBLEtBQUssQ0FBQztNQUNSLFVBQVUsRUFBRSxRQUFTO01BQ3JCLFNBQVMsRUE5SEksSUFBSSxHQStIbEI7SUF5TUgsQUF0TUEsU0FzTVMsR0FsTlQsQ0FBQyxDQVlELENBQUMsQ0FBQztNQUNBLFNBQVMsRUEvSE0sUUFBUSxHQWdJeEI7SUFvTUQsQUFsTUEsU0FrTVMsR0FsTlQsQ0FBQyxDQWdCRCxHQUFHLENBQUM7TUFDRixNQUFNLEVBaklZLFFBQVE7TUFrSTFCLEtBQUssRUFuSVksUUFBUSxHQW9JMUI7RUErTEQsQUExS0UsU0EwS08sR0EzS1AsQ0FBQyxDQUNELEtBQUssQ0FBQztJQUFFLEtBQUssRWJpSEYsT0FBTyxHYWpIZ0I7RUEwS3BDLEFBeEtFLFNBd0tPLEdBM0tQLENBQUMsQ0FHRCxDQUFDLENBQUM7SUFBRSxLQUFLLEViK0dFLE9BQU8sR2EvR1k7RUF3S2hDLEFBcktHLFNBcUtNLEdBcktQLENBQUMsQUFBQSxNQUFNLENBQUM7SUFFUixVQUFVLEVqQmpGQSxPQUFPLEdpQnNGbEI7SUE4SkQsQUFqS0UsU0FpS08sR0FyS1AsQ0FBQyxBQUFBLE1BQU0sQ0FJUCxLQUFLLENBQUM7TUFBRSxLQUFLLEVid0dGLE9BQU8sR2F4R3NCO0lBaUsxQyxBQS9KRSxTQStKTyxHQXJLUCxDQUFDLEFBQUEsTUFBTSxDQU1QLENBQUMsQ0FBQztNQUFFLEtBQUssRWJzR0UsT0FBTyxHYXRHa0I7RUErSnRDLEFBNUpPLFNBNEpFLEdBNUpILENBQUMsQUFBQSxPQUFPLENBQUM7SUFFYixVQUFVLEVqQjFGQSxPQUFPLEdpQitGbEI7SUFxSkQsQUF4SkUsU0F3Sk8sR0E1SkgsQ0FBQyxBQUFBLE9BQU8sQ0FJWixLQUFLLENBQUM7TUFBRSxLQUFLLEViK0ZGLE9BQU8sR2EvRnNCO0lBd0oxQyxBQXRKRSxTQXNKTyxHQTVKSCxDQUFDLEFBQUEsT0FBTyxDQU1aLENBQUMsQ0FBQztNQUFFLEtBQUssRWI2RkUsT0FBTyxHYTdGa0I7RUFzSnRDLEFBbEpLLFNBa0pJLENBbEpULEtBQUssQUFBQSxTQUFTLENBQUM7SUFDYixNQUFNLEVidU5ZLFdBQVc7SWF0TjdCLE9BQU8sRUE3S2UsR0FBRTtJQThLeEIsY0FBYyxFQUFFLElBQUssR0FLdEI7SUEwSUQsQUE5SUcsU0E4SU0sQ0FsSlQsS0FBSyxBQUFBLFNBQVMsR0FJWCxDQUFDLENBQUM7TUFDRCxPQUFPLEVBaExhLEdBQUU7TUFpTHRCLE1BQU0sRWJrTlUsV0FBVyxHYWpONUI7RUEySUgsQUFyR0EsU0FxR1MsQUF0R1YsT0FBTyxDQUNOLEtBQUssQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFJLEdBQUk7RUFxR3ZCLEFBcEdXLFNBb0dGLEFBdEdWLE9BQU8sQUFFTCxTQUFTLENBQUMsS0FBSyxFQW9HaEIsQUFwR21DLFNBb0cxQixBQXRHVixPQUFPLEFBRWEsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUFFekQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQWtHckMsQUFuR2tCLFNBbUdULEFBdEdWLE9BQU8sQUFHTCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFFcEIsS0FBSyxFQUFFLElBQUssR0FFZjtFQUVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7SUE2RnRDLEFBOUZpQixTQThGUixBQXRHVixPQUFPLEFBUUwsZUFBZSxDQUFDLEtBQUssQ0FBQztNQUVuQixLQUFLLEVBQUUsSUFBSyxHQUVmO0VBMEZELEFBdkZBLFNBdUZTLEFBeEZWLFNBQVMsQ0FDUixLQUFLLENBQUM7SUFBRSxLQUFLLEVBQUUsUUFBUyxHQUFJO0VBdUY1QixBQXRGVyxTQXNGRixBQXhGVixTQUFTLEFBRVAsU0FBUyxDQUFDLEtBQUssRUFzRmhCLEFBdEZtQyxTQXNGMUIsQUF4RlYsU0FBUyxBQUVXLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBRXpELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUFvRnJDLEFBckZrQixTQXFGVCxBQXhGVixTQUFTLEFBR1AsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BRXBCLEtBQUssRUFBRSxJQUFLLEdBRWY7RUFFQyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxTQUFTO0lBK0V0QyxBQWhGaUIsU0FnRlIsQUF4RlYsU0FBUyxBQVFQLGVBQWUsQ0FBQyxLQUFLLENBQUM7TUFFbkIsS0FBSyxFQUFFLElBQUssR0FFZjtFQTRFRCxBQXpFQSxTQXlFUyxBQTFFVixRQUFRLENBQ1AsS0FBSyxDQUFDO0lBQUUsS0FBSyxFQUFFLEdBQUksR0FBSTtFQXlFdkIsQUF4RVcsU0F3RUYsQUExRVYsUUFBUSxBQUVOLFNBQVMsQ0FBQyxLQUFLLEVBd0VoQixBQXhFbUMsU0F3RTFCLEFBMUVWLFFBQVEsQUFFWSxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQUV6RCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBc0VyQyxBQXZFa0IsU0F1RVQsQUExRVYsUUFBUSxBQUdOLGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUVwQixLQUFLLEVBQUUsSUFBSyxHQUVmO0VBRUMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUztJQWlFdEMsQUFsRWlCLFNBa0VSLEFBMUVWLFFBQVEsQUFRTixlQUFlLENBQUMsS0FBSyxDQUFDO01BRW5CLEtBQUssRUFBRSxJQUFLLEdBRWY7RUE4REQsQUEzREEsU0EyRFMsQUE1RFYsUUFBUSxDQUNQLEtBQUssQ0FBQztJQUFFLEtBQUssRUFBRSxHQUFJLEdBQUk7RUEyRHZCLEFBMURXLFNBMERGLEFBNURWLFFBQVEsQUFFTixTQUFTLENBQUMsS0FBSyxFQTBEaEIsQUExRG1DLFNBMEQxQixBQTVEVixRQUFRLEFBRVksZUFBZSxDQUFDLEtBQUssQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUFFekQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQXdEckMsQUF6RGtCLFNBeURULEFBNURWLFFBQVEsQUFHTixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFFcEIsS0FBSyxFQUFFLElBQUssR0FFZjtFQUVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7SUFtRHRDLEFBcERpQixTQW9EUixBQTVEVixRQUFRLEFBUU4sZUFBZSxDQUFDLEtBQUssQ0FBQztNQUVuQixLQUFLLEVBQUUsSUFBSyxHQUVmO0VBZ0RELEFBN0NBLFNBNkNTLEFBOUNWLE9BQU8sQ0FDTixLQUFLLENBQUM7SUFBRSxLQUFLLEVBQUUsU0FBVSxHQUFJO0VBNkM3QixBQTVDVyxTQTRDRixBQTlDVixPQUFPLEFBRUwsU0FBUyxDQUFDLEtBQUssRUE0Q2hCLEFBNUNtQyxTQTRDMUIsQUE5Q1YsT0FBTyxBQUVhLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0VBRXpELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUEwQ3JDLEFBM0NrQixTQTJDVCxBQTlDVixPQUFPLEFBR0wsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BRXBCLEtBQUssRUFBRSxJQUFLLEdBRWY7RUFFQyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxTQUFTO0lBcUN0QyxBQXRDaUIsU0FzQ1IsQUE5Q1YsT0FBTyxBQVFMLGVBQWUsQ0FBQyxLQUFLLENBQUM7TUFFbkIsS0FBSyxFQUFFLElBQUssR0FFZjtFQWtDRCxBQS9CQSxTQStCUyxBQWhDVixTQUFTLENBQ1IsS0FBSyxDQUFDO0lBQUUsS0FBSyxFQUFFLFNBQVUsR0FBSTtFQStCN0IsQUE5QlcsU0E4QkYsQUFoQ1YsU0FBUyxBQUVQLFNBQVMsQ0FBQyxLQUFLLEVBOEJoQixBQTlCbUMsU0E4QjFCLEFBaENWLFNBQVMsQUFFVyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQUV6RCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBNEJyQyxBQTdCa0IsU0E2QlQsQUFoQ1YsU0FBUyxBQUdQLGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUVoQixLQUFLLEVBQUUsSUFBSyxHQUVuQjtFQUVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7SUF1QnRDLEFBeEJpQixTQXdCUixBQWhDVixTQUFTLEFBUVAsZUFBZSxDQUFDLEtBQUssQ0FBQztNQUVsQixLQUFLLEVBQUUsSUFBSyxHQUVoQjtFQW9CRCxBQWpCQSxTQWlCUyxBQWxCVixTQUFTLENBQ1IsS0FBSyxDQUFDO0lBQUUsS0FBSyxFQUFFLEtBQU0sR0FBSTtFQWlCekIsQUFoQlcsU0FnQkYsQUFsQlYsU0FBUyxBQUVQLFNBQVMsQ0FBQyxLQUFLLEVBZ0JoQixBQWhCbUMsU0FnQjFCLEFBbEJWLFNBQVMsQUFFVyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFQUV6RCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBY3JDLEFBZmtCLFNBZVQsQUFsQlYsU0FBUyxBQUdQLGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUVoQixLQUFLLEVBQUUsSUFBSyxHQUVuQjtFQUVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7SUFTdEMsQUFWaUIsU0FVUixBQWxCVixTQUFTLEFBUVAsZUFBZSxDQUFDLEtBQUssQ0FBQztNQUVsQixLQUFLLEVBQUUsSUFBSyxHQUVoQjs7QUFnQkgsQUFLSSxTQUxLLEFBSU4sT0FBTyxDQUNOLEtBQUssQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFJLEdBQUk7O0FBTDNCLEFBTWUsU0FOTixBQUlOLE9BQU8sQUFFTCxTQUFTLENBQUMsS0FBSyxFQU5wQixBQU11QyxTQU45QixBQUlOLE9BQU8sQUFFYSxlQUFlLENBQUMsS0FBSyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUssR0FBSTs7QUFFekQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtFQVJ6QyxBQU9zQixTQVBiLEFBSU4sT0FBTyxBQUdMLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUVwQixLQUFLLEVBQUUsSUFBSyxHQUVmOztBQUVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7RUFiMUMsQUFZcUIsU0FaWixBQUlOLE9BQU8sQUFRTCxlQUFlLENBQUMsS0FBSyxDQUFDO0lBRW5CLEtBQUssRUFBRSxJQUFLLEdBRWY7O0FBaEJMLEFBbUJJLFNBbkJLLEFBa0JOLFNBQVMsQ0FDUixLQUFLLENBQUM7RUFBRSxLQUFLLEVBQUUsUUFBUyxHQUFJOztBQW5CaEMsQUFvQmUsU0FwQk4sQUFrQk4sU0FBUyxBQUVQLFNBQVMsQ0FBQyxLQUFLLEVBcEJwQixBQW9CdUMsU0FwQjlCLEFBa0JOLFNBQVMsQUFFVyxlQUFlLENBQUMsS0FBSyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUssR0FBSTs7QUFFekQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtFQXRCekMsQUFxQnNCLFNBckJiLEFBa0JOLFNBQVMsQUFHUCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFFcEIsS0FBSyxFQUFFLElBQUssR0FFZjs7QUFFQyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxTQUFTO0VBM0IxQyxBQTBCcUIsU0ExQlosQUFrQk4sU0FBUyxBQVFQLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFFbkIsS0FBSyxFQUFFLElBQUssR0FFZjs7QUE5QkwsQUFpQ0ksU0FqQ0ssQUFnQ04sUUFBUSxDQUNQLEtBQUssQ0FBQztFQUFFLEtBQUssRUFBRSxHQUFJLEdBQUk7O0FBakMzQixBQWtDZSxTQWxDTixBQWdDTixRQUFRLEFBRU4sU0FBUyxDQUFDLEtBQUssRUFsQ3BCLEFBa0N1QyxTQWxDOUIsQUFnQ04sUUFBUSxBQUVZLGVBQWUsQ0FBQyxLQUFLLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJOztBQUV6RCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0VBcEN6QyxBQW1Dc0IsU0FuQ2IsQUFnQ04sUUFBUSxBQUdOLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUVwQixLQUFLLEVBQUUsSUFBSyxHQUVmOztBQUVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7RUF6QzFDLEFBd0NxQixTQXhDWixBQWdDTixRQUFRLEFBUU4sZUFBZSxDQUFDLEtBQUssQ0FBQztJQUVuQixLQUFLLEVBQUUsSUFBSyxHQUVmOztBQTVDTCxBQStDSSxTQS9DSyxBQThDTixRQUFRLENBQ1AsS0FBSyxDQUFDO0VBQUUsS0FBSyxFQUFFLEdBQUksR0FBSTs7QUEvQzNCLEFBZ0RlLFNBaEROLEFBOENOLFFBQVEsQUFFTixTQUFTLENBQUMsS0FBSyxFQWhEcEIsQUFnRHVDLFNBaEQ5QixBQThDTixRQUFRLEFBRVksZUFBZSxDQUFDLEtBQUssQ0FBQztFQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7O0FBRXpELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7RUFsRHpDLEFBaURzQixTQWpEYixBQThDTixRQUFRLEFBR04sZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBRXBCLEtBQUssRUFBRSxJQUFLLEdBRWY7O0FBRUMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUztFQXZEMUMsQUFzRHFCLFNBdERaLEFBOENOLFFBQVEsQUFRTixlQUFlLENBQUMsS0FBSyxDQUFDO0lBRW5CLEtBQUssRUFBRSxJQUFLLEdBRWY7O0FBMURMLEFBNkRJLFNBN0RLLEFBNEROLE9BQU8sQ0FDTixLQUFLLENBQUM7RUFBRSxLQUFLLEVBQUUsU0FBVSxHQUFJOztBQTdEakMsQUE4RGUsU0E5RE4sQUE0RE4sT0FBTyxBQUVMLFNBQVMsQ0FBQyxLQUFLLEVBOURwQixBQThEdUMsU0E5RDlCLEFBNEROLE9BQU8sQUFFYSxlQUFlLENBQUMsS0FBSyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUssR0FBSTs7QUFFekQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtFQWhFekMsQUErRHNCLFNBL0RiLEFBNEROLE9BQU8sQUFHTCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFFcEIsS0FBSyxFQUFFLElBQUssR0FFZjs7QUFFQyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxTQUFTO0VBckUxQyxBQW9FcUIsU0FwRVosQUE0RE4sT0FBTyxBQVFMLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFFbkIsS0FBSyxFQUFFLElBQUssR0FFZjs7QUF4RUwsQUEyRUksU0EzRUssQUEwRU4sU0FBUyxDQUNSLEtBQUssQ0FBQztFQUFFLEtBQUssRUFBRSxTQUFVLEdBQUk7O0FBM0VqQyxBQTRFZSxTQTVFTixBQTBFTixTQUFTLEFBRVAsU0FBUyxDQUFDLEtBQUssRUE1RXBCLEFBNEV1QyxTQTVFOUIsQUEwRU4sU0FBUyxBQUVXLGVBQWUsQ0FBQyxLQUFLLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJOztBQUV6RCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0VBOUV6QyxBQTZFc0IsU0E3RWIsQUEwRU4sU0FBUyxBQUdQLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUVoQixLQUFLLEVBQUUsSUFBSyxHQUVuQjs7QUFFQyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxTQUFTO0VBbkYxQyxBQWtGcUIsU0FsRlosQUEwRU4sU0FBUyxBQVFQLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFFbEIsS0FBSyxFQUFFLElBQUssR0FFaEI7O0FBdEZMLEFBeUZJLFNBekZLLEFBd0ZOLFNBQVMsQ0FDUixLQUFLLENBQUM7RUFBRSxLQUFLLEVBQUUsS0FBTSxHQUFJOztBQXpGN0IsQUEwRmUsU0ExRk4sQUF3Rk4sU0FBUyxBQUVQLFNBQVMsQ0FBQyxLQUFLLEVBMUZwQixBQTBGdUMsU0ExRjlCLEFBd0ZOLFNBQVMsQUFFVyxlQUFlLENBQUMsS0FBSyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUssR0FBSTs7QUFFekQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtFQTVGekMsQUEyRnNCLFNBM0ZiLEFBd0ZOLFNBQVMsQUFHUCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFFaEIsS0FBSyxFQUFFLElBQUssR0FFbkI7O0FBRUMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUztFQWpHMUMsQUFnR3FCLFNBaEdaLEFBd0ZOLFNBQVMsQUFRUCxlQUFlLENBQUMsS0FBSyxDQUFDO0lBRWxCLEtBQUssRUFBRSxJQUFLLEdBRWhCOztBQ25aSCxBQUFBLFlBQVksQ0FBQztFQW5CZixVQUFVLEVBQUUsSUFBSztFQUNqQixVQUFVLEVBdkJhLENBQUM7RUF3QnhCLGFBQWEsRWJ3REwsU0FBVTtFYXZEbEIsV0FBd0IsRWJ1RGhCLFNBQVU7RWF0RGxCLFlBQTZCLEVBekJELENBQUM7RUEwQjdCLFFBQVEsRUFsQmEsTUFBTTtFQW1CM0IsT0FBTyxFQXRCYSxDQUFDLEdBcUNsQjtFQUZELEFBWEEsWUFXWSxHQVhaLEVBQUUsQ0FBQztJQUNILE9BQU8sRUFuQlcsS0FBSztJQW9CdkIsS0FBSyxFZHlTUyxJQUFJO0ljeFNsQixVQUFVLEVBQUUsSUFBSztJQUNqQixXQUF3QixFYjhDbEIsUUFBVSxHYTVDakI7SUFLQyxBQU5FLFlBTVUsR0FYWixFQUFFLEdBS0EsQ0FBQyxDQUFDO01BQUUsT0FBTyxFQXBCYyxLQUFLLEdBb0JnQjs7QUNEaEQsd0JBQXdCO0FBQ3hCLEFBQUEsYUFBYSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUssR0FBSTs7QUFFbEMsc0NBQXNDO0FBQ3RDLEFBQUEsa0JBQWtCLENBQUM7RUFDakIsVUFBVSxFZjhQQyxPQUFPO0VlN1BsQixLQUFLLEVmNk9NLE9BQU87RWU1T2xCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsV0FBVyxFQUFFLE9BQVE7RUFDckIsV0FBVyxFbkJrQ0ksTUFBTTtFbUJqQ3JCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFQUFFLEdBQUk7RUFDWCxPQUFPLEVBQUUsR0FBSTtFQUNiLElBQWlCLEVBQUUsSUFBSyxHQUN6Qjs7QUFFRCxBQUFRLE9BQUQsQ0FBQyxrQkFBa0IsQ0FBQztFQUN6QixXQUF3QixFQUFTLE1BQU87RUFDeEMsU0FBUyxFQUFFLEtBQU07RUFDakIsSUFBaUIsRUFBRSxHQUFJLEdBQ3hCOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsT0FBTyxFZHNCSCxRQUFVLENBQVYsT0FBVSxDQUFWLE1BQVU7RWNyQmQsS0FBSyxFQUFFLElBQUssR0FLYjtFQVBELEFBSUUsd0JBSnNCLENBSXRCLE9BQU8sQ0FBQztJQUFFLGFBQWEsRUFBRSxZQUFhLEdBQUk7RUFKNUMsQUFNRSx3QkFOc0IsQ0FNdEIsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsSUFBSyxHQUFJOztBQUc3Qyx1RkFBdUY7QUFDdkYsQUFDRSxrQkFEZ0IsQ0FDaEIsWUFBWSxDQUFDO0VBQ1gsTUFBTSxFQXhEUyxJQUFJLENBd0RXLEtBQUssQ2ZnTzFCLE9BQU87RWUvTmhCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsTUFBTSxFQUFFLENBQUU7RUFDVixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRTtFQUNULElBQWlCLEVBckVLLElBQUksR0EwRjNCO0VBNUJILEFBQ0Usa0JBRGdCLENBQ2hCLFlBQVksQUFRVCxJQUFJLENBQUM7SUFDSixZQUFZLEVmd05MLE9BQU87SWV2TmQsZ0JBQWdCLEVBQUUsc0JBQXVCO0lBQ3pDLGdCQUFnQixFQUFFLEtBQU07SUFDeEIsaUJBQThCLEVBQWUsc0JBQXVCO0lBQ3BFLGtCQUFtQyxFQUFlLHNCQUF1QjtJQUN6RSxHQUFHLEVBQUksS0FBcUIsR0FDN0I7RUFoQkwsQUFDRSxrQkFEZ0IsQ0FDaEIsWUFBWSxBQWdCVCxPQUFPLENBQUM7SUFDUCxZQUFZLEVmZ05MLE9BQU8sQ2VoTmdCLFVBQVU7SUFDeEMsbUJBQW1CLEVBQUUsc0JBQXVCO0lBQzVDLG1CQUFtQixFQUFFLEtBQU07SUFDM0IsaUJBQThCLEVBQWUsc0JBQXVCO0lBQ3BFLGtCQUFtQyxFQUFlLHNCQUF1QjtJQUN6RSxNQUFNLEVBQUksS0FBcUIsR0FDaEM7RUF4QkwsQUFDRSxrQkFEZ0IsQ0FDaEIsWUFBWSxBQXlCVCxNQUFNLENBQUM7SUFBRSxLQUFLLEVBQUksS0FBcUIsR0FBTztFQTFCbkQsQUFDRSxrQkFEZ0IsQ0FDaEIsWUFBWSxBQTBCVCxLQUFLLENBQUM7SUFBRSxJQUFJLEVBQUksS0FBcUIsR0FBTzs7QUFJakQsZ0JBQWdCO0FBQ2hCLEFBQW1CLGtCQUFELENBQUMsRUFBRTtBQUNyQixBQUFtQixrQkFBRCxDQUFDLEVBQUU7QUFDckIsQUFBbUIsa0JBQUQsQ0FBQyxFQUFFO0FBQ3JCLEFBQW1CLGtCQUFELENBQUMsRUFBRTtBQUNyQixBQUFtQixrQkFBRCxDQUFDLEVBQUU7QUFDckIsQUFBbUIsa0JBQUQsQ0FBQyxFQUFFLENBQUM7RUFDcEIsS0FBSyxFZjRLTSxPQUFPO0VlM0tsQixXQUFXLEVuQjVCRSxJQUFJO0VtQjZCakIsV0FBVyxFQUFFLElBQUs7RUFDbEIsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFDRCxBQUFtQixrQkFBRCxDQUFDLENBQUMsQ0FBQztFQUNuQixTQUFTLEVkL0JMLFFBQVU7RWNnQ2QsV0FBVyxFQUFFLEdBQUk7RUFDakIsTUFBTSxFZGhDcUIsQ0FBQyxDQUFELENBQUMsQ0FEeEIsUUFBVSxDQUNhLENBQUMsR2NpQzdCOztBQUVELEFBQUEsNkJBQTZCLENBQUM7RUFDNUIsTUFBTSxFQWxIUyxLQUFLLENBQUMsR0FBRyxDZmdTYixPQUFPO0VlN0tsQixNQUFNLEVkdENGLElBQVU7RWN1Q2QsTUFBTSxFQXRHZSxHQUFHO0VBdUd4QixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBekdlLElBQUk7RUEwR3hCLEtBQXNCLEVkMUNsQixTQUFVLEdjMkNmOztBQUNELEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsVUFBVSxFZnFLQyxPQUFPO0VlcEtsQixPQUFPLEVBQUUsS0FBTTtFQUNmLE1BQU0sRUFBRSxPQUFRO0VBQ2hCLEtBQUssRUFBRSxDQUFFLEdBQ1Y7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEVmNkpNLE9BQU8sQ2U3SmMsVUFBVTtFQUMxQyxTQUFTLEVBL0dVLElBQUk7RUFnSHZCLFdBQVcsRW5CekRJLE1BQU07RW1CMERyQixXQUFXLEVBQUUsYUFBYztFQUMzQixRQUFRLEVBQUUsUUFBUztFQUNuQixlQUFlLEVBQUUsSUFBSztFQUN0QixHQUFHLEVBQUUsSUFBSztFQUNWLEtBQXNCLEVBQUUsSUFBSyxHQUk5QjtFQVpELEFBQUEsa0JBQWtCLEFBVWYsTUFBTSxFQVZULEFBQUEsa0JBQWtCLEFBV2YsTUFBTSxDQUFDO0lBQUUsS0FBSyxFZjZJSixPQUFPLENlN0lNLFVBQVUsR0FBSTs7QUFHeEMsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixVQUFVLEVBeEhLLGtCQUFJO0VBeUhuQixNQUFNLEVma1FXLE9BQU87RWVqUXhCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUs7RUFDYixRQUFRLEVBQUUsS0FBTTtFQUNoQixHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRUFBRSxJQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUk7RUFDYixJQUFpQixFQUFFLENBQUUsR0FDdEI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixnQkFBZ0IsRWZ1SEwsT0FBTztFZXRIbEIsYUFBYSxFQUFFLEdBQUk7RUFDbkIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDZnFIVCxPQUFPO0VlcEhsQixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsR0FBSSxHQUNkOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsVUFBVSxFQUFFLFdBQVk7RUFDeEIsYUFBYSxFQUFFLEdBQUk7RUFDbkIsSUFBSSxFQUFFLENBQUU7RUFDUixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLE9BQU8sRUFBRSxJQUFLLEdBQ2Y7O0FBR0QsaURBQWlEO0FBQ2pELE1BQU0sTUFBRCxNQUFNO0VBQ1QsQUFBQSxrQkFBa0IsQ0FBQztJQUFFLEtBQUssRUFoTEosS0FBSztJQWdMNkIsSUFBaUIsRUFBRSxPQUFRLEdBMkJsRjtJQTNCRCxBQUNFLGtCQURnQixDQUNoQixZQUFZLEFBQ1QsT0FBTyxDQUFDO01BQ1AsWUFBWSxFZmlIUCxPQUFPLENlakhrQixVQUFVO01BQ3hDLG1CQUFtQixFQUFFLHNCQUF1QjtNQUM1QyxpQkFBOEIsRUFBZSxzQkFBdUI7TUFDcEUsa0JBQW1DLEVBQWUsc0JBQXVCO01BQ3pFLE1BQU0sRUFBSSxLQUFxQixHQUNoQztJQVJMLEFBQ0Usa0JBRGdCLENBQ2hCLFlBQVksQUFRVCxNQUFNLENBQUM7TUFDTixZQUFZLEVmMEdQLE9BQU8sQ2UxR2tCLFVBQVU7TUFDeEMsa0JBQWtCLEVBQUUsc0JBQXVCO01BQUUsbUJBQW1CLEVBQUUsc0JBQXVCO01BQ3pGLGdCQUFnQixFQUFFLHNCQUF1QjtNQUN6QyxJQUFJLEVBQUUsSUFBSztNQUNYLEtBQUssRUFBSSxLQUFxQjtNQUM5QixHQUFHLEVBM0xlLElBQUksR0E0THZCO0lBaEJMLEFBQ0Usa0JBRGdCLENBQ2hCLFlBQVksQUFnQlQsS0FBSyxDQUFDO01BQ0wsWUFBWSxFZmtHUCxPQUFPLENlbEdrQixVQUFVO01BQ3hDLG1CQUFtQixFQUFFLHNCQUF1QjtNQUM1QyxpQkFBaUIsRUFBRSxzQkFBdUI7TUFDMUMsZ0JBQWdCLEVBQUUsc0JBQXVCO01BQ3pDLElBQUksRUFBSSxLQUFxQjtNQUM3QixLQUFLLEVBQUUsSUFBSztNQUNaLEdBQUcsRUFwTWUsSUFBSSxHQXFNdkI7O0FDaktQLEFBQUEsVUFBVTtBQUNWLEFBQUEsR0FBRyxDQUFDO0VBbEJOLGdCQUFnQixFQWRILE9BQVc7RUFleEIsWUFBWSxFQUFFLE9BQVc7RUFHQyxLQUFLLEVoQjBRaEIsT0FBTztFZ0J2UXRCLFlBQVksRUFwQlcsS0FBSztFQXFCNUIsWUFBWSxFQXBCVyxHQUFHO0VBcUIxQixXQUFXLEVBakNJLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUFrQ3hELFNBQVMsRUFqQ1csT0FBTztFQWtDM0IsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVmNENDLFFBQVUsQ0FBVixPQUFVLENBQ2EsQ0FBQztFRDNEOUIsYUFBYSxFSjRIRCxHQUFHLEdvQnJHZDs7QUNpQ0QsQUFBQSxNQUFNLENBQUM7RUEvRFQsT0FBTyxFQUFFLFlBQWE7RUFDdEIsV0FBVyxFakJrU1ksZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtFaUJqUzdFLFdBQVcsRXJCNERRLE1BQU07RXFCM0R6QixXQUFXLEVBQUUsQ0FBRTtFQUNmLGFBQWEsRUFBRSxJQUFLO0VBQ3BCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSxNQUFPO0VBQ25CLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLFdBQVcsRUFBRSxNQUFPO0VBU0wsT0FBTyxFaEJnRGQsT0FBVSxDQUFWLE1BQVUsQ0FBVixPQUFVO0VnQi9DRCxTQUFTLEVoQitDbEIsU0FBVTtFZ0IvQmhCLGdCQUFnQixFckJ5Q0osT0FBTztFcUJ0Q08sS0FBSyxFakJpT2xCLE9BQU8sR2lCMUxuQjtFQWJELEFBQUEsTUFBTSxBQUtILE9BQU8sQ0FBQztJakI3RFgsYUFBYSxFSjRIRCxHQUFHLEdxQi9EbUM7RUFMbEQsQUFBQSxNQUFNLEFBTUgsTUFBTSxDQUFDO0lqQjlEVixhQUFhLEVpQjhEbUMsTUFBTSxHQUFLO0VBTjNELEFBQUEsTUFBTSxBQVFILE1BQU0sQ0FBSztJQXJDZCxnQkFBZ0IsRWpCMlBOLE9BQU87SWlCeFBTLEtBQUssRWpCaU9sQixPQUFPLEdpQi9Ma0M7RUFSdEQsQUFBQSxNQUFNLEFBU0gsUUFBUSxDQUFHO0lBdENkLGdCQUFnQixFakI2UEosT0FBTztJaUIxUE8sS0FBSyxFakJpT2xCLE9BQU8sR2lCOUxvQztFQVR4RCxBQUFBLE1BQU0sQUFVSCxRQUFRLENBQUc7SUF2Q2QsZ0JBQWdCLEVqQjRQSixPQUFPO0lpQnpQTyxLQUFLLEVqQmlPbEIsT0FBTyxHaUI3TG9DO0VBVnhELEFBQUEsTUFBTSxBQVdILFVBQVUsQ0FBQztJQXhDZCxnQkFBZ0IsRXJCMENGLE9BQU87SXFCdENiLEtBQUssRWpCZ1BBLE9BQU8sR2lCNU1zQztFQVgxRCxBQUFBLE1BQU0sQUFZSCxLQUFLLENBQU07SUF6Q2QsZ0JBQWdCLEVqQjhQUCxPQUFPO0lpQjFQUixLQUFLLEVqQmdQQSxPQUFPLEdpQjNNaUM7O0NDckZyRCxBQUFBLEFBQXlCLHdCQUF4QixBQUFBLElBQTJCLEFBQUEsQUFBK0IsOEJBQTlCLEFBQUEsRUFBN0I7RUFDRSxVQUFVLEVsQitRQyxPQUFPO0VrQjlRbEIsU0FBUyxFQUFFLElBQUs7RUFDaEIsT0FBTyxFQVJNLElBQUk7RUFTakIsT0FBTyxFQUFFLEVBQUcsR0FTYjtHQWJELEFBQUEsQUFNRSx3QkFORCxBQUFBLEVBTUMsUUFBUSxHQU5rQixBQUFBLEFBTTFCLDhCQU4yQixBQUFBLEVBTTNCLFFBQVEsQ0FBQztJQUNQLGFBQWEsRUFBRSxDQUFFLEdBS2xCO0tBWkgsQUFBQSxBQVFJLHdCQVJILEFBQUEsRUFNQyxRQUFRLENBRU4sRUFBRSxHQVJzQixBQUFBLEFBUXhCLDhCQVJ5QixBQUFBLEVBTTNCLFFBQVEsQ0FFTixFQUFFLENBQUM7TUFBRSxhQUFhLEVBQUUsQ0FBRSxHQUFJO0tBUjlCLEFBQUEsQUFTSSx3QkFUSCxBQUFBLEVBTUMsUUFBUSxDQUdOLENBQUMsR0FUdUIsQUFBQSxBQVN4Qiw4QkFUeUIsQUFBQSxFQU0zQixRQUFRLENBR04sQ0FBQyxDQUFDO01BQ0EsV0FBVyxFQUFFLEtBQU0sR0FDcEI7O0FDd0JMLGtCQUFrQixDQUFsQixNQUFrQjtFQUNoQixBQUFBLElBQUk7SUFDRixpQkFBaUIsRUFBRSxZQUFNO0lBQ3pCLFNBQVMsRUFBRSxZQUFNO0VBRW5CLEFBQUEsRUFBRTtJQUNFLGlCQUFpQixFQUFFLGNBQU07SUFDekIsU0FBUyxFQUFFLGNBQU07O0FBS3ZCLFVBQVUsQ0FBVixNQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0EsaUJBQWlCLEVBQUUsWUFBTTtJQUN6QixjQUFjLEVBQUUsWUFBTTtJQUN0QixhQUFhLEVBQUUsWUFBTTtJQUNyQixTQUFTLEVBQUUsWUFBTTtFQUVyQixBQUFBLEVBQUU7SUFDRSxpQkFBaUIsRUFBRSxjQUFNO0lBQ3pCLGNBQWMsRUFBRSxjQUFNO0lBQ3RCLGFBQWEsRUFBRSxjQUFNO0lBQ3JCLFNBQVMsRUFBRSxjQUFNOztBQUl2Qiw0QkFBNEI7QUFDNUIsQUFBQSxrQkFBa0IsQ0FBbEI7RUFDRSxRQUFRLEVBQUUsUUFBUyxHQTZDcEI7RUE5Q0QsQUFHRSxrQkFIZ0IsQ0FHaEIsRUFBRSxDQUFDO0lBRUQsZUFBZSxFQUFFLElBQUs7SUFDdEIsTUFBTSxFQUFFLENBQUUsR0FRWDtJQWRILEFBU0ksa0JBVGMsQ0FHaEIsRUFBRSxDQU1BLEVBQUU7SUFUTixBQVVPLGtCQVZXLENBR2hCLEVBQUUsQ0FPQSxFQUFFLENBQUMsY0FBYyxDQUFDO01BQUUsT0FBTyxFQUFFLElBQUssR0FBSTtJQVYxQyxBQWFNLGtCQWJZLENBR2hCLEVBQUUsQ0FVQSxFQUFFLEFBQUEsWUFBWSxDQUFDO01BQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTtFQWJ4QyxBQWdCRSxrQkFoQmdCLENBZ0JoQixnQkFBZ0IsQ0FBQztJQUFFLGdCQUFnQixFQUFFLFdBQVksR0FVaEQ7SUExQkgsQUFtQkksa0JBbkJjLENBZ0JoQixnQkFBZ0IsQ0FHZCxFQUFFLENBQUM7TUFBRSxPQUFPLEVBQUUsS0FBTSxHQUduQjtNQXRCTCxBQXFCTSxrQkFyQlksQ0FnQmhCLGdCQUFnQixDQUdkLEVBQUUsQ0FFQSxjQUFjLENBQUM7UUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO0lBckIxQyxBQXVCbUIsa0JBdkJELENBZ0JoQixnQkFBZ0IsQ0FPZCxjQUFjLENBQUMsRUFBRSxDQUFDO01BQ2hCLE9BQU8sRUFBRSxZQUFhLEdBQ3ZCO0VBekJMLEFBNkJFLGtCQTdCZ0IsQ0E2QmhCLFVBQVUsQ0FBVjtJbkIzRUYsYUFBYSxFbUI0RU8sTUFBTTtJQUN0QixrQkFBa0IsRUFBRSxJQUFLO0lBQ3pCLHlCQUF5QixFQUFFLFFBQVM7SUFDcEMsY0FBYyxFQUFFLE1BQU87SUFDdkIseUJBQXlCLEVBQUUsTUFBTztJQUNsQyxZQUFZLEVuQjRMSCxPQUFPLENBZFAsT0FBTztJbUI3S2hCLE1BQU0sRUFBRSxTQUFVO0lBQ2xCLE9BQU8sRUFBRSxLQUFNO0lBQ2YsTUFBTSxFQUFFLElBQUs7SUFDYixJQUFJLEVBQUUsR0FBSTtJQUNWLFdBQVcsRUFBRSxLQUFNO0lBQ25CLFVBQVUsRUFBRSxLQUFNO0lBQ2xCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEdBQUcsRUFBRSxHQUFJO0lBQ1QsS0FBSyxFQUFFLElBQUssR0FDYjs7QUFJSCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQXZISyxJQUFJO0VBd0huQixRQUFRLEVBQUUsTUFBTztFQUNqQixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsSUFBSyxHQThLYjtFQWxMRCxBQU1FLGdCQU5jLENBTWQsdUJBQXVCLENBQUM7SUFDdEIsVUFBVSxFQUFFLElBQUs7SUFDakIsTUFBTSxFQUFFLENBQUU7SUFDVixPQUFPLEVBQUUsQ0FBRTtJQUNYLFFBQVEsRUFBRSxRQUFTO0lBR25CLGlCQUFpQixFQUFFLGFBQVU7SUFDN0IsY0FBYyxFQUFFLGFBQVU7SUFDMUIsYUFBYSxFQUFFLGFBQVU7SUFDekIsWUFBWSxFQUFFLGFBQVU7SUFDeEIsU0FBUyxFQUFFLGFBQVUsR0F1Q3RCO0lBeERILEFBbUJJLGdCQW5CWSxDQU1kLHVCQUF1QixDQWFyQixHQUFHLENBQUM7TUFBRSxPQUFPLEVBQUUsS0FBTTtNQUFFLFNBQVMsRUFBRSxJQUFLLEdBQUk7SUFuQi9DLEFBcUJNLGdCQXJCVSxDQU1kLHVCQUF1QixHQWVuQixDQUFDLENBQUM7TUFDRixRQUFRLEVBQUUsUUFBUztNQUNuQixHQUFHLEVBQUUsQ0FBRTtNQUNQLEtBQUssRUFBRSxJQUFLO01BS1YsV0FBVyxFQUFFLElBQUssR0EwQnJCO01BdkRMLEFBcUJNLGdCQXJCVSxDQU1kLHVCQUF1QixHQWVuQixDQUFDLEFBV0EsWUFBWSxDQUFDO1FBS1YsV0FBVyxFQUFFLENBQUUsR0FFbEI7TUF2Q1AsQUF5Q00sZ0JBekNVLENBTWQsdUJBQXVCLEdBZW5CLENBQUMsQ0FvQkQsY0FBYyxDQUFDO1FBRVgsTUFBTSxFQUFFLENBQUU7UUFDVixRQUFRLEVBQUUsUUFBUztRQUtyQixnQkFBZ0IsRUF0S1QscUJBQUk7UUF1S1gsS0FBSyxFbkI4R0EsT0FBTztRbUI3R1osU0FBUyxFbEJ4RlgsUUFBVTtRa0J5RlIsT0FBTyxFbEJ6RlQsUUFBVSxDQUFWLFFBQVU7UWtCMEZSLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUF0RFAsQUEwREUsZ0JBMURjLENBMERkLG1CQUFtQixDQUFDO0lBQ2xCLElBQWlCLEVBQUUsSUFBSztJQUN4QixVQUFVLEVBMUpNLFdBQUk7SUEySnBCLEtBQUssRW5CbUdJLE9BQU87SW1CbEdoQixTQUFTLEVBQUUsSUFBSztJQUNoQixRQUFRLEVBQUUsUUFBUztJQUVuQixHQUFHLEVBQUUsSUFBSztJQUNWLE9BQU8sRUFBRSxFQUFHLEdBQ2I7SUFuRUgsQUFnRUksZ0JBaEVZLENBMERkLG1CQUFtQixDQU1qQixJQUFJLENBQUM7TUFBRSxXQUFXLEVBQUUsR0FBSTtNQUFFLE9BQU8sRWxCckcvQixTQUFVLEdrQnFHcUQ7RUFoRXJFLEFBcUVFLGdCQXJFYyxDQXFFZCxZQUFZLENBQUM7SUFFWCxRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUUsSUFBSztJQUNWLEtBQXNCLEVBQUUsSUFBSztJQUM3QixNQUFNLEVBQUUsR0FBSTtJQUNaLEtBQUssRUFBRSxLQUFNO0lBQ2IsT0FBTyxFQUFFLEVBQUcsR0E4Q2I7SUExSEgsQUErRUksZ0JBL0VZLENBcUVkLFlBQVksQ0FVVixlQUFlLENBQUM7TUFFWixNQUFNLEVBQUUsR0FBSTtNQUNaLGdCQUFnQixFQXpMWCx3QkFBSTtNQTBMVCxPQUFPLEVBQUUsS0FBTTtNQUNmLEtBQUssRUFBRSxDQUFFO01BQ1QsUUFBUSxFQUFFLFFBQVM7TUFDbkIsS0FBSyxFQUFFLElBQUs7TUFDWixHQUFHLEVBQUUsR0FBSSxHQUdaO0lBMUZMLEFBNkZRLGdCQTdGUSxDQXFFZCxZQUFZLEdBd0JOLElBQUksQ0FBQztNQUNQLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDbkJrRVYsT0FBTztNbUJqRWQsYUFBYSxFQUFFLElBQUs7TUFDcEIsVUFBVSxFQUFFLElBQUs7TUFDakIsT0FBTyxFQUFFLElBQUs7TUFDZCxNQUFNLEVBQUUsSUFBSztNQUNiLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBRSxDQUFFO01BQ1AsS0FBSyxFQUFFLElBQUs7TUFDWixLQUFzQixFQUFFLENBQUUsR0FDM0I7SUF2R0wsQUEyR1UsZ0JBM0dNLENBcUVkLFlBQVksQUFxQ1QsT0FBTyxHQUNGLElBQUksQ0FBQztNQUNQLEdBQUcsRUFBRSxDQUFFO01BQ1AsS0FBSyxFQUFFLElBQUs7TUFDWixNQUFNLEVBQUUsSUFBSztNQUNiLE1BQU0sRUFBRSxTQUFVO01BQ2xCLGlCQUFpQixFQUFFLEtBQU07TUFDekIsWUFBWSxFQUFFLFdBQVk7TUFDMUIsaUJBQWlCLEVuQjhDWixPQUFPO01tQjdDWixLQUFzQixFQUFFLElBQUssR0FLOUI7TUF4SFAsQUEyR1UsZ0JBM0dNLENBcUVkLFlBQVksQUFxQ1QsT0FBTyxHQUNGLElBQUksQUFVTCxLQUFLLENBQUM7UUFDTCxpQkFBaUIsRW5CMERkLE9BQU8sR21CekRYO0VBdkhULEFBOEh5QixnQkE5SFQsQUE4SGIsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO0VBOUhuRCxBQWlJRSxnQkFqSWMsQ0FpSWQsV0FBVztFQWpJYixBQWtJRSxnQkFsSWMsQ0FrSWQsV0FBVyxDQUFDO0lBQ1YsZ0JBQWdCLEVBaFBULFdBQVc7SUFpUGxCLEtBQUssRUFBRSxLQUFNO0lBQ2IsTUFBTSxFQUFFLElBQUs7SUFDYixXQUFXLEVBQUUsSUFBSztJQUNsQixVQUFVLEVBQUUsS0FBTTtJQUNsQixRQUFRLEVBQUUsUUFBUztJQUNuQixXQUFXLEVBQUUsa0JBQW1CO0lBQ2hDLEdBQUcsRUFBRSxHQUFJO0lBQ1QsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRyxHQWViO0lBM0pILEFBaUlFLGdCQWpJYyxDQWlJZCxXQUFXLEFBYVIsTUFBTTtJQTlJWCxBQWtJRSxnQkFsSWMsQ0FrSWQsV0FBVyxBQVlSLE1BQU0sQ0FBQztNQUNOLGdCQUFnQixFQTNQTCxrQkFBSSxHQTRQaEI7SUFoSkwsQUFrSlEsZ0JBbEpRLENBaUlkLFdBQVcsR0FpQkwsSUFBSTtJQWxKWixBQWtKUSxnQkFsSlEsQ0FrSWQsV0FBVyxHQWdCTCxJQUFJLENBQUM7TUFDUCxNQUFNLEVBQUUsVUFBVztNQUNuQixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxDQUFFO01BQ1YsVUFBVSxFQUFFLEtBQU07TUFDbEIsUUFBUSxFQUFFLFFBQVM7TUFDbkIsR0FBRyxFQUFFLEdBQUk7TUFDVCxLQUFLLEVBQUUsQ0FBRSxHQUNWO0VBMUpMLEFBNEpFLGdCQTVKYyxDQTRKZCxXQUFXLENBQUM7SUFBRSxJQUFpQixFQUFFLENBQUUsR0FTbEM7SUFyS0gsQUE2SlEsZ0JBN0pRLENBNEpkLFdBQVcsR0FDTCxJQUFJLENBQUM7TUFDUCxrQkFBbUMsRUFBZSxLQUFNO01BQ3hELFlBQVksRUFBRSxXQUFZO01BQzFCLGtCQUFtQyxFbkJBNUIsT0FBTyxHbUJDZjtJQWpLTCxBQWtLYyxnQkFsS0UsQ0E0SmQsV0FBVyxBQU1SLE1BQU0sR0FBRyxJQUFJLENBQUM7TUFDYixrQkFBbUMsRW5CSDVCLE9BQU8sR21CSWY7RUFwS0wsQUFzS0UsZ0JBdEtjLENBc0tkLFdBQVcsQ0FBQztJQUFFLEtBQXNCLEVBQUUsQ0FBRSxHQVd2QztJQWpMSCxBQXVLUSxnQkF2S1EsQ0FzS2QsV0FBVyxHQUNMLElBQUksQ0FBQztNQUNQLFlBQVksRUFBRSxXQUFZO01BQzFCLGlCQUE4QixFQUFlLEtBQU07TUFDbkQsaUJBQThCLEVuQlZ2QixPQUFPO01tQldkLElBQWlCLEVBQUUsR0FBSTtNQUN2QixXQUF3QixFQUFTLElBQUssR0FDdkM7SUE3S0wsQUE4S2MsZ0JBOUtFLENBc0tkLFdBQVcsQUFRUixNQUFNLEdBQUcsSUFBSSxDQUFDO01BQ2IsaUJBQThCLEVuQmZ2QixPQUFPLEdtQmdCZjs7QUFJTCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsVUFBVSxFQUFFLE1BQU8sR0FBSTs7QUFDbEQsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLGdCQUFpQjtFQUN6QixRQUFRLEVBQUUsTUFBTztFQUNqQixRQUFRLEVBQUUsUUFBUztFQUNuQixVQUFVLEVBQUUsTUFBTztFQUNuQixHQUFHLEVBQUUsSUFBSyxHQW9CWDtFQTNCRCxBQVNFLGNBVFksQ0FTWixFQUFFLENBQUM7SUFDRCxVQUFVLEVuQnZCRCxPQUFPO0ltQndCaEIsTUFBTSxFQUFFLE9BQVE7SUFDaEIsT0FBTyxFQUFFLFlBQWE7SUFFdEIsS0FBSyxFQUFFLElBQUs7SUFDWixNQUFNLEVsQnpPSixTQUFVO0lrQjBPWixZQUE2QixFQUFTLEdBQUk7SUFDMUMsS0FBSyxFbEIzT0gsU0FBVTtJRDFEaEIsYUFBYSxFbUJ1U08sTUFBTSxHQU92QjtJQTFCSCxBQVNFLGNBVFksQ0FTWixFQUFFLEFBWUMsT0FBTyxDQUFDO01BQ1AsVUFBVSxFbkJqQ0gsT0FBTyxHbUJrQ2Y7SUF2QkwsQUFTRSxjQVRZLENBU1osRUFBRSxBQWdCQyxXQUFXLENBQUM7TUFBRSxZQUE2QixFQUFTLENBQUUsR0FBSTs7QUFJL0QsQUFFSSxNQUZFLENBQ0osZ0JBQWdCLENBQ2QsV0FBVztBQUZmLEFBR0ksTUFIRSxDQUNKLGdCQUFnQixDQUVkLFdBQVcsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFLLEdBQUk7O0FBSHBDLEFBTUUsTUFOSSxDQU1KLGNBQWMsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFLLEdBQUk7O0FBSXJDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7RUFFakMsQUFFSSxNQUZFLENBQ0osZ0JBQWdCLENBQ2QsV0FBVztFQUZmLEFBR0ksTUFIRSxDQUNKLGdCQUFnQixDQUVkLFdBQVcsQ0FBQztJQUFFLE9BQU8sRUFBRSxPQUFRLEdBQUk7RUFIdkMsQUFNRSxNQU5JLENBTUosY0FBYyxDQUFDO0lBQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTs7QUFLeEMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFQUM5QixBQUNFLHFCQURtQixDQUNuQix1QkFBdUIsQ0FBQztJQUFDLE1BQU0sRUFBRSxlQUFnQixHQUFHO0VBRHRELEFBRTRCLHFCQUZQLENBRW5CLHVCQUF1QixHQUFHLENBQUMsQ0FBQztJQUMxQixNQUFNLEVBQUMsYUFBYztJQUNyQixPQUFPLEVBQUUsWUFBYTtJQUN0QixRQUFRLEVBQUUsUUFBUyxHQUNwQjtFQU5ILEFBUUUscUJBUm1CLENBUW5CLG1CQUFtQixDQUFDO0lBQ2xCLE9BQU8sRUFBRSxJQUFLLEdBQ2Y7RUFJQSxBQUFBLFlBQVksQ0FBQTtJQUFDLE9BQU8sRUFBRSxJQUFLLEdBQUc7RUFHOUIsQUFBQSxXQUFXLEVBQUMsQUFBQSxXQUFXLENBQUE7SUFBQyxPQUFPLEVBQUUsSUFBSyxHQUFHO0VBR3pDLEFBQUEsY0FBYyxDQUFBO0lBQUMsT0FBTyxFQUFFLElBQUssR0FBRzs7QUMxT3JDLEFBQUUsRUFBQSxBQUFBLFdBQVcsQ0FBQztFQWpEZCxPQUFPLEVBQUUsS0FBTTtFQUNmLFdBQXdCLEVuQlRsQixVQUFVO0VtQlVoQixVQUFVLEVuQlZKLE1BQVUsR21CMkRmO0VBRkQsQUE3Q0EsRUE2Q0UsQUFBQSxXQUFXLENBN0NiLEVBQUUsQ0FBQztJQUNELEtBQUssRXBCeU1NLE9BQU87SW9CeE1sQixTQUFTLEVuQmRMLFFBQVU7SW1CZWQsTUFBTSxFbkJmRixNQUFVO0ltQmdCZCxXQUF3QixFbkJoQnBCLFNBQVUsR21Cd0NmO0lBaUJELEFBdkNFLEVBdUNBLEFBQUEsV0FBVyxDQTdDYixFQUFFLENBTUEsQ0FBQyxFQXVDSCxBQXZDSyxFQXVDSCxBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxDQU1HLE1BQU0sQ0FBQztNcEI1RVosYUFBYSxFSjRIRCxHQUFHO01JakJqQixVQUFVLEVvQjdCdUIsZ0JBQWdCLENwQnZDSixLQUFLLENBQVEsUUFBUTtNb0J3QzVELFVBQVUsRUFBRSxJQUFLO01BQ2pCLEtBQUssRXBCeUxJLE9BQU87TW9CeExoQixPQUFPLEVBQUUsS0FBTTtNQUNmLFNBQVMsRUFBRSxHQUFJO01BQ2YsV0FBVyxFQUFFLE1BQU87TUFDcEIsV0FBVyxFQUFFLE9BQVE7TUFDckIsT0FBTyxFbkIzQkwsU0FBVSxDQUFWLFFBQVUsQ0FBVixTQUFVLEdtQjRCYjtJQTZCSCxBQTNCVSxFQTJCUixBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxBQWtCQyxNQUFNLENBQUMsQ0FBQztJQTJCWCxBQTFCRyxFQTBCRCxBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxDQW1CQSxDQUFDLEFBQUEsTUFBTTtJQTBCVCxBQXpCVSxFQXlCUixBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxBQW9CQyxNQUFNLENBQUMsTUFBTTtJQXlCaEIsQUF4QlEsRUF3Qk4sQUFBQSxXQUFXLENBN0NiLEVBQUUsQ0FxQkEsTUFBTSxBQUFBLE1BQU0sQ0FDWjtNQUFFLFVBQVUsRUFyR1UsT0FBVyxHQXFHVztJQXVCOUMsQUFuR0YsRUFtR0ksQUFBQSxXQUFXLENBN0NiLEVBQUUsQUF5QkcsWUFBWSxDQS9FbkIsQ0FBQyxFQW1HQyxBQW5HQyxFQW1HQyxBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxBQXlCRyxZQUFZLENBL0VoQixNQUFNLENBQUM7TUFDUixNQUFNLEVBdkIyQixPQUFPO01Bd0J4QyxLQUFLLEVwQnVQUSxPQUFPO01vQnRQcEIsY0FBYyxFQUFFLElBQUssR0FDdEI7SUErRkMsQUE5Rk0sRUE4RkosQUFBQSxXQUFXLENBN0NiLEVBQUUsQUF5QkcsWUFBWSxBQTFFbEIsTUFBTSxDQUFDLENBQUM7SUE4RlAsQUE3RkMsRUE2RkMsQUFBQSxXQUFXLENBN0NiLEVBQUUsQUF5QkcsWUFBWSxDQXpFakIsQ0FBQyxBQUFBLE1BQU07SUE2RlAsQUEzRk0sRUEyRkosQUFBQSxXQUFXLENBN0NiLEVBQUUsQUF5QkcsWUFBWSxBQXZFbEIsTUFBTSxDQUFDLE1BQU07SUEyRlosQUExRk0sRUEwRkosQUFBQSxXQUFXLENBN0NiLEVBQUUsQUF5QkcsWUFBWSxDQXRFakIsTUFBTSxBQUFBLE1BQU0sQ0FDZDtNQUFFLFVBQVUsRUE5QjBCLFdBQVcsR0E4Qk87SUF5RnRELEFBakZBLEVBaUZFLEFBQUEsV0FBVyxDQTdDYixFQUFFLEFBMEJHLFFBQVEsQ0E5RGIsQ0FBQyxFQWlGRCxBQWpGRyxFQWlGRCxBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxBQTBCRyxRQUFRLENBOURWLE1BQU0sQ0FBQztNQUNSLFVBQVUsRXhCaUNBLE9BQU87TXdCaENqQixLQUFLLEVwQjJOTSxPQUFPO01vQjFObEIsTUFBTSxFQW5DcUIsT0FBTztNQW9DbEMsV0FBVyxFeEJrQkUsSUFBSSxHd0JkbEI7TUF5RUQsQUFqRkEsRUFpRkUsQUFBQSxXQUFXLENBN0NiLEVBQUUsQUEwQkcsUUFBUSxDQTlEYixDQUFDLEFBTUUsTUFBTSxFQTJFVCxBQWpGQSxFQWlGRSxBQUFBLFdBQVcsQ0E3Q2IsRUFBRSxBQTBCRyxRQUFRLENBOURiLENBQUMsQUFPRSxNQUFNLEVBMEVULEFBakZHLEVBaUZELEFBQUEsV0FBVyxDQTdDYixFQUFFLEFBMEJHLFFBQVEsQ0E5RFYsTUFBTSxBQU1OLE1BQU0sRUEyRVQsQUFqRkcsRUFpRkQsQUFBQSxXQUFXLENBN0NiLEVBQUUsQUEwQkcsUUFBUSxDQTlEVixNQUFNLEFBT04sTUFBTSxDQUFDO1FBQUUsVUFBVSxFeEIyQlYsT0FBTyxHd0IzQjJDO0VBMEU5RCxBQWJGLEVBYUksQUFBQSxXQUFXLENBYmYsRUFBRSxDQUFDO0lBS0MsT0FBTyxFQUFFLEtBQU07SUFDZixLQUFLLEVwQnVNTyxJQUFJLEdvQnJNbkI7O0FBU0MsZ0NBQWdDO0FBQ2hDLEFBQUEsb0JBQW9CLENBQUM7RUE5R1QsVUFBVSxFQUFFLE1BQU8sR0FvSDlCO0VBTkQsQUFsQkYsb0JBa0JzQixDQUdsQixFQUFFLEFBQUEsV0FBVyxDQXJCakIsRUFBRSxDQUFDO0lBRUMsT0FBTyxFQUFFLFlBQWE7SUFDdEIsS0FBSyxFQUFFLElBQUssR0FLZjs7QUM1REMsWUFBWTtBQUNaLEFBQUEsTUFBTSxDQUFDO0VBekNMLFlBQVksRUEvQkcsS0FBSztFQWdDcEIsWUFBWSxFQS9CRSxHQUFHO0VBZ0NqQixZQUFZLEVBNUJHLE9BQVc7RUFrQzVCLGFBQWEsRXBCd0NQLE9BQVU7RW9CdkNoQixPQUFPLEVwQnVDRCxPQUFVO0VvQnJDaEIsVUFBVSxFQTNDSCxPQUFXO0VBNENTLEtBQUssRXJCeVBuQixPQUFPLEdxQjFNbkI7RUFsQkQsQUF6QkUsTUF5QkksR0F6QkosWUFBWSxDQUFDO0lBQUUsVUFBVSxFQUFFLENBQUUsR0FBSTtFQXlCbkMsQUF4QkUsTUF3QkksR0F4QkosV0FBVyxDQUFDO0lBQUUsYUFBYSxFQUFFLENBQUUsR0FBSTtFQXdCckMsQUFuQkksTUFtQkUsQ0FuQkYsRUFBRSxFQW1CTixBQW5CUSxNQW1CRixDQW5CRSxFQUFFLEVBbUJWLEFBbkJZLE1BbUJOLENBbkJNLEVBQUUsRUFtQmQsQUFuQmdCLE1BbUJWLENBbkJVLEVBQUUsRUFtQmxCLEFBbkJvQixNQW1CZCxDQW5CYyxFQUFFLEVBbUJ0QixBQW5Cd0IsTUFtQmxCLENBbkJrQixFQUFFLEVBbUIxQixBQW5CNEIsTUFtQnRCLENBbkJzQixDQUFDLEVBbUI3QixBQW5CK0IsTUFtQnpCLENBbkJ5QixFQUFFLEVBbUJqQyxBQW5CbUMsTUFtQjdCLENBbkI2QixFQUFFLENBQUM7SUFBRSxLQUFLLEVyQitPaEMsT0FBTyxHcUIvT2dEO0VBbUJwRSxBQVpFLE1BWUksQ0FaSixFQUFFLEVBWUosQUFaTSxNQVlBLENBWkEsRUFBRSxFQVlSLEFBWlUsTUFZSixDQVpJLEVBQUUsRUFZWixBQVpjLE1BWVIsQ0FaUSxFQUFFLEVBWWhCLEFBWmtCLE1BWVosQ0FaWSxFQUFFLEVBWXBCLEFBWnNCLE1BWWhCLENBWmdCLEVBQUUsQ0FBQztJQUNyQixXQUFXLEVBQUUsQ0FBRTtJQUFFLGFBQWEsRUFBRSxRQUFRLEdBRXpDO0lBU0gsQUFaRSxNQVlJLENBWkosRUFBRSxBQUVDLFVBQVUsRUFVZixBQVpNLE1BWUEsQ0FaQSxFQUFFLEFBRUgsVUFBVSxFQVVmLEFBWlUsTUFZSixDQVpJLEVBQUUsQUFFUCxVQUFVLEVBVWYsQUFaYyxNQVlSLENBWlEsRUFBRSxBQUVYLFVBQVUsRUFVZixBQVprQixNQVlaLENBWlksRUFBRSxBQUVmLFVBQVUsRUFVZixBQVpzQixNQVloQixDQVpnQixFQUFFLEFBRW5CLFVBQVUsQ0FBQztNQUFFLFdBQVcsRUFBRSxHQUFJLEdBQUk7RUFVdkMsQUFBQSxNQUFNLEFBRUgsUUFBUSxDQUFDO0lBM0NWLFlBQVksRUEvQkcsS0FBSztJQWdDcEIsWUFBWSxFQS9CRSxHQUFHO0lBZ0NqQixZQUFZLEVBNUJHLE9BQVc7SUFrQzVCLGFBQWEsRXBCd0NQLE9BQVU7SW9CdkNoQixPQUFPLEVwQnVDRCxPQUFVO0lvQnJDaEIsVUFBVSxFQXhDSyxPQUFXO0lBeUNDLEtBQUssRXJCeVBuQixPQUFPLEdxQmhOakI7SUFaSCxBQXpCRSxNQXlCSSxBQUVILFFBQVEsR0EzQlQsWUFBWSxDQUFDO01BQUUsVUFBVSxFQUFFLENBQUUsR0FBSTtJQXlCbkMsQUF4QkUsTUF3QkksQUFFSCxRQUFRLEdBMUJULFdBQVcsQ0FBQztNQUFFLGFBQWEsRUFBRSxDQUFFLEdBQUk7SUF3QnJDLEFBbkJJLE1BbUJFLEFBRUgsUUFBUSxDQXJCUCxFQUFFLEVBbUJOLEFBbkJRLE1BbUJGLEFBRUgsUUFBUSxDQXJCSCxFQUFFLEVBbUJWLEFBbkJZLE1BbUJOLEFBRUgsUUFBUSxDQXJCQyxFQUFFLEVBbUJkLEFBbkJnQixNQW1CVixBQUVILFFBQVEsQ0FyQkssRUFBRSxFQW1CbEIsQUFuQm9CLE1BbUJkLEFBRUgsUUFBUSxDQXJCUyxFQUFFLEVBbUJ0QixBQW5Cd0IsTUFtQmxCLEFBRUgsUUFBUSxDQXJCYSxFQUFFLEVBbUIxQixBQW5CNEIsTUFtQnRCLEFBRUgsUUFBUSxDQXJCaUIsQ0FBQyxFQW1CN0IsQUFuQitCLE1BbUJ6QixBQUVILFFBQVEsQ0FyQm9CLEVBQUUsRUFtQmpDLEFBbkJtQyxNQW1CN0IsQUFFSCxRQUFRLENBckJ3QixFQUFFLENBQUM7TUFBRSxLQUFLLEVyQitPaEMsT0FBTyxHcUIvT2dEO0lBbUJwRSxBQVpFLE1BWUksQUFFSCxRQUFRLENBZFQsRUFBRSxFQVlKLEFBWk0sTUFZQSxBQUVILFFBQVEsQ0FkTCxFQUFFLEVBWVIsQUFaVSxNQVlKLEFBRUgsUUFBUSxDQWRELEVBQUUsRUFZWixBQVpjLE1BWVIsQUFFSCxRQUFRLENBZEcsRUFBRSxFQVloQixBQVprQixNQVlaLEFBRUgsUUFBUSxDQWRPLEVBQUUsRUFZcEIsQUFac0IsTUFZaEIsQUFFSCxRQUFRLENBZFcsRUFBRSxDQUFDO01BQ3JCLFdBQVcsRUFBRSxDQUFFO01BQUUsYUFBYSxFQUFFLFFBQVEsR0FFekM7TUFTSCxBQVpFLE1BWUksQUFFSCxRQUFRLENBZFQsRUFBRSxBQUVDLFVBQVUsRUFVZixBQVpNLE1BWUEsQUFFSCxRQUFRLENBZEwsRUFBRSxBQUVILFVBQVUsRUFVZixBQVpVLE1BWUosQUFFSCxRQUFRLENBZEQsRUFBRSxBQUVQLFVBQVUsRUFVZixBQVpjLE1BWVIsQUFFSCxRQUFRLENBZEcsRUFBRSxBQUVYLFVBQVUsRUFVZixBQVprQixNQVlaLEFBRUgsUUFBUSxDQWRPLEVBQUUsQUFFZixVQUFVLEVBVWYsQUFac0IsTUFZaEIsQUFFSCxRQUFRLENBZFcsRUFBRSxBQUVuQixVQUFVLENBQUM7UUFBRSxXQUFXLEVBQUUsR0FBSSxHQUFJO0lBVXZDLEFBSWlCLE1BSlgsQUFFSCxRQUFRLENBRVAsQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLE9BQU8sRUFBRTtNQUNiLEtBQUssRXpCWUMsT0FBTyxHeUJOZDtNQVhMLEFBSWlCLE1BSlgsQUFFSCxRQUFRLENBRVAsQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLE9BQU8sQ0FHVixNQUFNLEVBUGIsQUFJaUIsTUFKWCxBQUVILFFBQVEsQ0FFUCxDQUFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsT0FBTyxDQUlWLE1BQU0sQ0FBQztRQUNOLEtBQUssRUFoRWdCLE9BQVcsR0FpRWpDO0VBVlAsQUFBQSxNQUFNLEFBY0gsT0FBTyxDQUFDO0lyQmpFWCxhQUFhLEVKNEhELEdBQUcsR3lCekRaOztBQ29DSCxvQkFBb0I7QUFDcEIsQUFBQSxjQUFjLENBQUM7RUEzRWpCLE1BQU0sRUFuRGEsS0FBSyxDQUFDLEdBQUcsQ3RCNFJiLE9BQU87RXNCeE90QixXQUF3QixFQUFTLENBQUU7RUFDbkMsYUFBYSxFckIyQkwsT0FBVSxHcUJzRGY7RUFSRCxBQXZFQSxjQXVFYyxDQXZFZCxDQUFDLENBQUM7SUFDRixVQUFVLEVBQUUsSUFBSztJQUNqQixXQUFXLEVBQUUsQ0FBRSxHQUNoQjtFQW9FQyxBQUdFLGNBSFksQ0FHWixNQUFNLENBQUM7SUFqRVgsZ0JBQWdCLEV0QnFPRCxPQUFPO0lzQnBPdEIsS0FBSyxFdEIwTlUsT0FBTztJc0J6TnRCLFdBQVcsRXRCZ1BZLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7SXNCL083RSxTQUFTLEVyQmFELElBQVU7SXFCWmxCLFdBQVcsRTFCU1EsTUFBTTtJMEJSekIsT0FBTyxFckJXQyxTQUFVLENBQVYsT0FBVTtJcUJWbEIsVUFBVSxFQTlEUSxNQUFNLEdBeUhxQjtFQUgzQyxBQUlFLGNBSlksQ0FJWixNQUFNLENBQUM7SUFyRFgsZ0JBQWdCLEV0QjJNRCxPQUFPO0lzQjFNdEIsS0FBSyxFdEJ1TlUsT0FBTztJc0J0TnRCLFdBQVcsRXRCbU9ZLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7SXNCbE83RSxTQUFTLEVyQkFELElBQVU7SXFCQ2xCLFdBQVcsRTFCSlEsTUFBTTtJMEJLekIsT0FBTyxFckJGQyxTQUFVLENBQVYsT0FBVTtJcUJHbEIsVUFBVSxFQWxFUSxNQUFNLEdBaUhxQjtFQUozQyxBQUtFLGNBTFksQ0FLWixZQUFZLENBQUM7SUF6Q2pCLGdCQUFnQixFdEIyTEQsT0FBTztJc0IxTHRCLGFBQWEsRUEzRFksTUFBTSxDQUFDLEdBQUcsQ3RCNFBwQixPQUFPO0lzQmhNdEIsS0FBSyxFdEJxTVUsT0FBTztJc0JwTXRCLFNBQVMsRXJCYkQsT0FBVTtJcUJjbEIsV0FBVyxFMUJqQlEsTUFBTTtJMEJrQnpCLFdBQVcsRUFoRVksR0FBRztJQWlFMUIsT0FBTyxFckJoQkMsU0FBVTtJcUJpQmxCLFVBQVUsRUFyRU8sTUFBTSxHQXVHa0M7RUFMdkQsQUFNRSxjQU5ZLENBTVosWUFBWSxDQUFDO0lBNUJqQixnQkFBZ0IsRXRCNktELE9BQU87SXNCNUt0QixhQUFhLEVBakVZLE1BQU0sQ0FBQyxHQUFHLEN0Qm9QcEIsT0FBTztJc0JsTHRCLEtBQUssRXRCMkxVLE9BQU87SXNCMUx0QixTQUFTLEVyQjNCRCxRQUFVO0lxQjRCbEIsV0FBVyxFMUIvQlEsTUFBTTtJMEJnQ3pCLE9BQU8sRXJCN0JDLFNBQVU7SXFCOEJsQixVQUFVLEVBekVPLE1BQU0sR0ErRjZCO0VBTmxELEFBT0UsY0FQWSxDQU9aLFdBQVcsQ0FBQztJQWhCaEIsZ0JBQWdCLEV0QmdLRCxPQUFPO0lzQi9KdEIsT0FBTyxFckJ0Q0MsT0FBVSxDQUFWLE9BQVUsQ0FDYSxDQUFDO0lxQnNDaEMsVUFBVSxFQTNFTSxNQUFNLEdBeUYwQjs7QUN4RjlDLGtCQUFrQjtBQUNsQixBQUFBLFNBQVMsQ0FBQztFQXZCWixnQkFBZ0IsRXZCaVFELE9BQU87RXVCaFF0QixNQUFNLEVBbkJtQixHQUFHLENBQ0YsS0FBSyxDQUZMLEtBQVc7RUFxQnJDLE1BQU0sRXRCdURFLFNBQVU7RXNCdERsQixhQUFhLEV0QnNETCxRQUFVO0VzQnJEbEIsT0FBTyxFdEJxREMsUUFBVSxHc0JYZjtFQXZCRCxBQUlFLFNBSk8sQ0FJUCxNQUFNLENBQUM7SUFoQlgsVUFBVSxFM0J3REksT0FBTztJMkJ2RHJCLE9BQU8sRUFBRSxLQUFNO0lBQ2YsTUFBTSxFQUFFLElBQUs7SUFDYixLQUFLLEVBQUUsSUFBSztJQUNaLEtBQUssRUFBRSxFQUFHLEdBa0JMO0lBVkgsQUFJRSxTQUpPLENBSVAsTUFBTSxBQUdILFVBQVUsQ0FBQztNQW5CbEIsVUFBVSxFM0J5RE0sT0FBTztNMkJ4RHZCLE9BQU8sRUFBRSxLQUFNO01BQ2YsTUFBTSxFQUFFLElBQUs7TUFDYixLQUFLLEVBQUUsSUFBSztNQUNaLEtBQUssRUFBRSxFQUFHLEdBZTBFO0lBUGxGLEFBSUUsU0FKTyxDQUlQLE1BQU0sQUFJSCxRQUFRLENBQUM7TUFwQmhCLFVBQVUsRXZCMlFJLE9BQU87TXVCMVFyQixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxJQUFLO01BQ2IsS0FBSyxFQUFFLElBQUs7TUFDWixLQUFLLEVBQUUsRUFBRyxHQWdCc0U7SUFSOUUsQUFJRSxTQUpPLENBSVAsTUFBTSxBQUtILE1BQU0sQ0FBQztNQXJCZCxVQUFVLEV2QjBRRSxPQUFPO011QnpRbkIsT0FBTyxFQUFFLEtBQU07TUFDZixNQUFNLEVBQUUsSUFBSztNQUNiLEtBQUssRUFBRSxJQUFLO01BQ1osS0FBSyxFQUFFLEVBQUcsR0FpQmtFO0VBVDFFLEFBV2MsU0FYTCxBQVdOLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUF2QnZCLFVBQVUsRTNCeURNLE9BQU87STJCeER2QixPQUFPLEVBQUUsS0FBTTtJQUNmLE1BQU0sRUFBRSxJQUFLO0lBQ2IsS0FBSyxFQUFFLElBQUs7SUFDWixLQUFLLEVBQUUsRUFBRyxHQW1CK0U7RUFYdkYsQUFZWSxTQVpILEFBWU4sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQXhCckIsVUFBVSxFdkIyUUksT0FBTztJdUIxUXJCLE9BQU8sRUFBRSxLQUFNO0lBQ2YsTUFBTSxFQUFFLElBQUs7SUFDYixLQUFLLEVBQUUsSUFBSztJQUNaLEtBQUssRUFBRSxFQUFHLEdBb0IyRTtFQVpuRixBQWFVLFNBYkQsQUFhTixNQUFNLENBQUMsTUFBTSxDQUFDO0lBekJuQixVQUFVLEV2QjBRRSxPQUFPO0l1QnpRbkIsT0FBTyxFQUFFLEtBQU07SUFDZixNQUFNLEVBQUUsSUFBSztJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osS0FBSyxFQUFFLEVBQUcsR0FxQnVFO0VBYi9FLEFBQUEsU0FBUyxBQWVOLE9BQU8sQ0FBQztJdkJ2Q1gsYUFBYSxFSjRIRCxHQUFHLEcyQm5GWjtJQWpCSCxBQWdCSSxTQWhCSyxBQWVOLE9BQU8sQ0FDTixNQUFNLENBQUM7TXZCeENYLGFBQWEsRXVCd0NnQixJQUEyQixHQUFTO0VBaEJqRSxBQUFBLFNBQVMsQUFtQk4sTUFBTSxDQUFDO0l2QjNDVixhQUFhLEV1QjJDZSxNQUFNLEdBRS9CO0lBckJILEFBb0JJLFNBcEJLLEFBbUJOLE1BQU0sQ0FDTCxNQUFNLENBQUM7TXZCNUNYLGFBQWEsRXVCNENnQixLQUFLLEdBQUs7O0FDb0R2QyxBQUFBLGFBQWEsQ0FBQztFQTVFaEIsTUFBTSxFQWpDd0IsR0FBRyxDQUNILEtBQUssQ3hCa1JwQixPQUFPO0V3QmpQdEIsTUFBTSxFdkJxQ0UsT0FBVSxDQUNhLENBQUM7RXVCckNoQyxRQUFRLEVBQUUsUUFBUztFQUNuQixnQkFBZ0IsRUFBRSxJQUFLO0VBQ3ZCLFlBQVksRUFBRSxJQUFLO0VBTWpCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsTUFBTSxFdkIyQkEsSUFBVTtFdUIxQmhCLEtBQUssRUFoRGdCLElBQUk7RUF3RFQsVUFBVSxFeEJ3TmIsT0FBTyxHd0JoSW5CO0VBaENELEFBQUEsYUFBYSxBQUdWLGVBQWUsQ0FBQztJQS9FckIsTUFBTSxFQWpDd0IsR0FBRyxDQUNILEtBQUssQ3hCa1JwQixPQUFPO0l3QmpQdEIsTUFBTSxFdkJxQ0UsT0FBVSxDQUNhLENBQUM7SXVCckNoQyxRQUFRLEVBQUUsUUFBUztJQUNuQixnQkFBZ0IsRUFBRSxJQUFLO0lBQ3ZCLFlBQVksRUFBRSxJQUFLO0lBRWpCLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLE1BQU0sRXZCK0JBLE9BQVU7SXVCOUJoQixLQUFLLEV2QjhCQyxJQUFVLEd1QnlEYjtJQW5CSCxBQUtJLGFBTFMsQUFHVixlQUFlLENBRWQsb0JBQW9CLENBQUM7TUFDbkIsTUFBTSxFQUFJLFFBQWlDO01BQzNDLFdBQXdCLEVBQVcsT0FBMEI7TUFDN0QsVUFBVSxFQUFFLENBQUU7TUFDZCxRQUFRLEVBQUUsUUFBUyxHQUNwQjtJQVZMLEFBV0ksYUFYUyxBQUdWLGVBQWUsQ0FRZCw0QkFBNEIsQ0FBQztNQUMzQix5QkFBeUIsRUFBRSxPQUFRO01BQ25DLDBCQUEwQixFQUFFLE9BQVE7TUFDcEMsc0JBQXNCLEVBQUUsT0FBUTtNQUNoQyxNQUFNLEVBQUUsQ0FBRTtNQUNWLE1BQU0sRUFBRSxJQUFLO01BQ2IsS0FBSyxFQUFFLFFBQXdCLEdBQ2hDO0VBbEJMLEFBQUEsYUFBYSxBQW9CVixPQUFPLENBQUM7SUE1RUssVUFBVSxFeEJ3TmIsT0FBTztJQWhRcEIsYUFBYSxFSjRIRCxHQUFHLEc0QkxaO0lBdkJILEFBc0JJLGFBdEJTLEFBb0JWLE9BQU8sQ0FFTixvQkFBb0IsQ0FBQztNQTFDVCxVQUFVLEU1QlJkLE9BQU87TUlwRW5CLGFBQWEsRUo0SEQsR0FBRyxHNEJOaUU7TUF0QmhGLEFBc0JJLGFBdEJTLEFBb0JWLE9BQU8sQ0FFTixvQkFBb0IsQUFuQ3pCLE1BQU0sQ0FBQztRQUNOLFVBQVUsRUEzRXVCLE9BQVcsR0E0RTdDO0VBV0MsQUFBQSxhQUFhLEFBd0JWLE1BQU0sQ0FBQztJQWhGTSxVQUFVLEV4QndOYixPQUFPO0lBaFFwQixhQUFhLEVBNFRBLE1BQU0sR3dCak1oQjtJQTNCSCxBQTBCSSxhQTFCUyxBQXdCVixNQUFNLENBRUwsb0JBQW9CLENBQUM7TUE5Q1QsVUFBVSxFNUJSZCxPQUFPO01JcEVuQixhQUFhLEVBNFRBLE1BQU0sR3dCbE00RDtNQTFCL0UsQUEwQkksYUExQlMsQUF3QlYsTUFBTSxDQUVMLG9CQUFvQixBQXZDekIsTUFBTSxDQUFDO1FBQ04sVUFBVSxFQTNFdUIsT0FBVyxHQTRFN0M7RUFXQyxBQUFBLGFBQWEsQUE0QlYsU0FBUyxFQTVCWixBQUFBLGFBQWEsQ0E0QkUsQUFBQSxRQUFDLEFBQUEsRUFBVTtJQXBGVixVQUFVLEV4QndOYixPQUFPO0l3QnBOcEIsTUFBTSxFeEJrVmMsV0FBVztJd0JqVi9CLE9BQU8sRUFqQ3FCLEdBQUUsR0FtSDNCO0lBL0JILEFBOEJJLGFBOUJTLEFBNEJWLFNBQVMsQ0FFUixvQkFBb0IsRUE5QnhCLEFBOEJJLGFBOUJTLENBNEJFLEFBQUEsUUFBQyxBQUFBLEVBRVosb0JBQW9CLENBQUM7TUFsRFQsVUFBVSxFNUJSZCxPQUFPO000QlluQixNQUFNLEV4QjZTYSxPQUFPO013QjVTMUIsT0FBTyxFQXJFcUIsR0FBRSxHQWtIb0Q7TUE5QmxGLEFBOEJJLGFBOUJTLEFBNEJWLFNBQVMsQ0FFUixvQkFBb0IsQUEzQ3pCLE1BQU0sRUFhTCxBQThCSSxhQTlCUyxDQTRCRSxBQUFBLFFBQUMsQUFBQSxFQUVaLG9CQUFvQixBQTNDekIsTUFBTSxDQUFDO1FBQ04sVUFBVSxFQTNFdUIsT0FBVyxHQTRFN0M7O0FBNENDLEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsVUFBVSxFQXpJdUIsT0FBVztFQTBJNUMseUJBQXlCLEVBQUUsT0FBUTtFQUNuQyxzQkFBc0IsRUFBRSxPQUFRO0VBQ2hDLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLE1BQU0sRUFBRSxRQUF3QjtFQUNoQyxRQUFRLEVBQUUsUUFBUyxHQUNwQjs7QUFDRCxBQUFBLG9CQUFvQixDQUFDO0VBaEZ2QixNQUFNLEVBckQyQixHQUFHLENBQ0gsS0FBSyxDQUNMLElBQUk7RUFvRHJDLE1BQU0sRUFoRHFCLE9BQU87RUFpRGxDLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLE1BQU0sRXZCRkUsUUFBVTtFdUJHbEIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFdkJKSyxVQUFVO0V1QktsQixLQUFLLEV2QkxHLElBQVU7RXVCTWxCLE9BQU8sRUFBRSxDQUFFO0VBR1gsZ0JBQWdCLEVBQUUsWUFBYTtFQUMvQixZQUFZLEVBQUUsWUFBYTtFQVFULFVBQVUsRTVCUmQsT0FBTyxHNEJ3RWxCO0VBSEQsQUFBQSxvQkFBb0IsQUF0RHJCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUEzRXVCLE9BQVcsR0E0RTdDOztBQ29EQyxBQUFBLGdCQUFnQixDQUFDO0VBcEhuQixVQUFVLEV6QjRQSyxPQUFPO0V5QjNQdEIsVUFBVSxFekIyUEssbUJBQU87RXlCMVB0QixNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxJQUFLO0VBQ2QsSUFBSSxFQUFFLENBQUU7RUFDUixRQUFRLEVBQUUsS0FBTTtFQUNoQixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxDQUFFO0VBQ1AsT0FBTyxFQUE4QixJQUFhO0VBQ2xELElBQWlCLEVBQUUsQ0FBRSxHQTJHc0I7O0FBRXpDLEFBQUEsYUFBYSxDQUFiO0VBbkdBLGFBQWEsRTdCb0ZELEdBQUc7RTZCbkZmLE9BQU8sRUFBRSxJQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFQUFDLENBQUU7RUFDTixVQUFVLEVBQUUsTUFBTztFQUNuQixLQUFLLEVBQUUsSUFBSztFQUNaLE9BQU8sRUFsQ0ksSUFBSTtFQW1DZixJQUFpQixFQUFFLENBQUU7RUFnRGIsZ0JBQWdCLEV6QmdLWCxPQUFPO0V5Qi9KRSxPQUFPLEV4QnRDdkIsUUFBVTtFd0J3Q0osTUFBTSxFQTlGQSxLQUFLLENBQ0wsR0FBRyxDekJ1UVIsT0FBTztFeUJ0S3BCLFVBQVUsRUFoSE0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEN6QjJSWCxrQkFBTyxHeUJsR25CO0VBOUhELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SUEwRmhDLEFBQUEsYUFBYSxDQUFiO01BekZFLFVBQVUsRUFBQyxLQUFNLEdBNkhsQjtFQXBDRCxBQXJGQSxhQXFGYSxDQXJGYixPQUFPLEVBcUZQLEFBckZTLGFBcUZJLENBckZKLFFBQVEsQ0FBQztJQUFFLFNBQVMsRUFBRSxDQUFFLEdBQUk7RUFxRnJDLEFBbEZFLGFBa0ZXLEdBbEZYLFlBQVksQ0FBQztJQUFFLFVBQVUsRUFBRSxDQUFFLEdBQUk7RUFrRm5DLEFBaEZFLGFBZ0ZXLEdBaEZYLFdBQVcsQ0FBQztJQUFFLGFBQWEsRUFBRSxDQUFFLEdBQUk7RUFJckMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQTRFbkMsQUFBQSxhQUFhLENBQWI7TUEzRUUsSUFBSSxFQUFFLENBQUU7TUFDUixNQUFNLEVBQUUsTUFBTztNQUNmLFNBQVMsRTVCUkwsU0FBVTtNNEJTZCxLQUFLLEVBQUUsQ0FBRTtNQUNULEtBQUssRUFqRlksR0FBRyxHQTRMckI7RUE5REQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQTBCbkMsQUFBQSxhQUFhLENBQWI7TUF6QkUsR0FBRyxFeEJ4REMsT0FBVSxHd0JxSGY7RUFwQ0QsQUFBQSxhQUFhLEFBV1YsT0FBTyxDQUFDO0lBN0NSLFVBQVUsRUFBRSxJQUFLO0l6QnpHcEIsYUFBYSxFSjRIRCxHQUFHLEc2QjBCMkM7RUFYMUQsQUFBQSxhQUFhLEFBWVYsTUFBTSxDQUFFO0lBOUNSLFVBQVUsRUFBRSxJQUFLO0l6QnpHcEIsYUFBYSxFQTRUQSxNQUFNLEd5QnJLZ0Q7RUFabkUsQUFBQSxhQUFhLEFBYVYsU0FBUyxDQUFDO0lBeERTLE9BQU8sRUF3RHVCLENBQUM7SUEvQ2xELFVBQVUsRUFBRSxJQUFLLEdBK0NzQztFQXpGMUQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQTRFbkMsQUFBQSxhQUFhLEFBY1YsS0FBSyxDQUFFO01BekZSLElBQUksRUFBRSxDQUFFO01BQ1IsTUFBTSxFQUFFLE1BQU87TUFDZixTQUFTLEU1QlJMLFNBQVU7TTRCU2QsS0FBSyxFQUFFLENBQUU7TUFDVCxLQUFLLEVBcUZ1QyxHQUFHLEdBQUs7RUExRnRELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUE0RW5DLEFBQUEsYUFBYSxBQWVWLE1BQU0sQ0FBQztNQTFGUixJQUFJLEVBQUUsQ0FBRTtNQUNSLE1BQU0sRUFBRSxNQUFPO01BQ2YsU0FBUyxFNUJSTCxTQUFVO000QlNkLEtBQUssRUFBRSxDQUFFO01BQ1QsS0FBSyxFQXNGdUMsR0FBRyxHQUFLO0VBM0Z0RCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBNEVuQyxBQUFBLGFBQWEsQUFnQlYsT0FBTyxDQUFFO01BM0ZWLElBQUksRUFBRSxDQUFFO01BQ1IsTUFBTSxFQUFFLE1BQU87TUFDZixTQUFTLEU1QlJMLFNBQVU7TTRCU2QsS0FBSyxFQUFFLENBQUU7TUFDVCxLQUFLLEVBdUZ5QyxHQUFHLEdBQUs7RUE1RnhELE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUE0RW5DLEFBQUEsYUFBYSxBQWlCVixNQUFNLENBQUM7TUE1RlIsSUFBSSxFQUFFLENBQUU7TUFDUixNQUFNLEVBQUUsTUFBTztNQUNmLFNBQVMsRTVCUkwsU0FBVTtNNEJTZCxLQUFLLEVBQUUsQ0FBRTtNQUNULEtBQUssRUF3RnVDLEdBQUcsR0FBSztFQTdGdEQsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQTRFbkMsQUFBQSxhQUFhLEFBa0JWLE9BQU8sQ0FBQztNQTdGVCxJQUFJLEVBQUUsQ0FBRTtNQUNSLE1BQU0sRUFBRSxNQUFPO01BQ2YsU0FBUyxFNUJSTCxTQUFVO000QlNkLEtBQUssRUFBRSxDQUFFO01BQ1QsS0FBSyxFQXlGd0MsR0FBRyxHQUFLO0VBbEJ2RCxBQUFBLGFBQWEsQUFtQlYsS0FBSyxDQUFDO0lBRUwsTUFBTSxFQUFFLEtBQU07SUFDZCxNQUFNLEVBQUMsSUFBSztJQUNaLElBQUksRUFBQyxDQUFFO0lBQ1AsV0FBVyxFQUFFLFlBQWE7SUFDMUIsU0FBUyxFQUFFLGVBQWdCO0lBQzNCLFVBQVUsRUFBQyxLQUFNO0lBQ2pCLEdBQUcsRUFBQyxDQUFFLEdBQ1A7SUF4R0gsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtNQTRFbkMsQUFBQSxhQUFhLEFBbUJWLEtBQUssQ0FBQztRQTlGUCxJQUFJLEVBQUUsQ0FBRTtRQUNSLE1BQU0sRUFBRSxNQUFPO1FBQ2YsU0FBUyxFNUJSTCxTQUFVO1E0QlNkLEtBQUssRUFBRSxDQUFFO1FBQ1QsS0FBSyxFQTJGK0IsSUFBSSxHQVF2QztFQTVCSCxBQUFBLGFBQWEsQUErQlYsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQWEsR0FDdkI7RUFqQ0gsQUFtQ0UsYUFuQ1csQ0FtQ1gsbUJBQW1CLENBQW5CO0lBbkRKLEtBQUssRXpCNklVLE9BQU87SXlCNUl0QixNQUFNLEV6Qm1RZSxPQUFPO0l5QmxRNUIsU0FBUyxFeEJuRUQsTUFBVTtJd0JvRWxCLFdBQVcsRTdCdEVNLElBQUk7STZCdUVyQixXQUFXLEVBQUUsQ0FBRTtJQUNmLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEdBQUcsRXhCdkVLLFFBQVU7SXdCd0VsQixLQUFzQixFeEJ4RWQsUUFBVSxHd0JvSGE7O0FDM0Y3QixBQUFBLFNBQVMsQ0FBQztFQXREWixPQUFPLEVBQUUsS0FBTTtFQUNmLFdBQVcsRTFCOFBZLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7RTBCN1A3RSxtQkFBbUIsRUFoREksT0FBTztFQWlEOUIsZUFBZSxFQWxESSxJQUFJO0VBbUR2QixNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRXpCd0JDLFFBQVUsQ0FDYSxDQUFDLEd5QndCQztFQUEvQixBQS9DRixTQStDVyxDQS9DWCxFQUFFLENBQUM7SUFDRCxTQUFTLEV6QnFCSCxRQUFVO0l5QnBCaEIsV0FBVyxFOUJpQk0sTUFBTTtJOEJoQnZCLE1BQU0sRXpCb0J1QixDQUFDLENBQUQsQ0FBQyxDQUR4QixTQUFVLENBQ2EsQ0FBQyxHeUJtQi9CO0lBS0MsQUExQ2EsU0EwQ0osQ0EvQ1gsRUFBRSxDQUtBLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxPQUFPLEVBQUU7TUFDYixLQUFLLEU5QjBCSyxPQUFPO004QnpCakIsT0FBTyxFQUFFLEtBQU07TUFDZixNQUFNLEVBckRXLENBQUM7TUFzRGxCLE9BQU8sRXpCYUgsU0FBVSxDQUFWLFFBQVUsR3lCSmY7TUE2QkQsQUExQ2EsU0EwQ0osQ0EvQ1gsRUFBRSxDQUtBLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxPQUFPLENBS1YsTUFBTSxFQXFDVCxBQTFDYSxTQTBDSixDQS9DWCxFQUFFLENBS0EsQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLE9BQU8sQ0FNVixNQUFNLENBQUM7UUFDTixVQUFVLEVBMURPLG9CQUFJO1FBMkRyQixLQUFLLEVBNURlLE9BQVcsR0E2RGhDO01BaUNILEFBMUNhLFNBMENKLENBL0NYLEVBQUUsQ0FLQSxDQUFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsT0FBTyxDQVVWLE9BQU8sQ0FBQztRQUNQLEtBQUssRUFoRWdCLE9BQVcsR0FpRWpDO0lBOEJILEFBM0JvQyxTQTJCM0IsQ0EvQ1gsRUFBRSxBQW9CQyxPQUFPLEdBQUcsQ0FBQyxBQUFBLFlBQVksQUFBQSxJQUFLLENBQUEsQUFBQSxPQUFPLEVBQUU7TUFDcEMsS0FBSyxFQXJFa0IsT0FBVztNQXNFbEMsV0FBVyxFMUJrT1EsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtNMEJqT3pFLFdBQVcsRTlCSkksTUFBTSxHOEJLdEI7SUF1QkQsQUEvQ0YsU0ErQ1csQ0EvQ1gsRUFBRSxBQTBCQyxRQUFRLENBQUM7TUFDUixVQUFVLEVBekRRLEdBQUcsQ0FDRixLQUFLO01BeUR4QixNQUFNLEVBQUUsQ0FBRTtNQUNWLFVBQVUsRUFBRSxJQUFLO01BQ2pCLE9BQU8sRUFBRSxDQUFFO01BQ1gsZ0JBQWdCLEVBM0RHLE9BQVcsR0E0RC9CO0lBZUQsQUEvQ0YsU0ErQ1csQ0EvQ1gsRUFBRSxBQWtDQyxRQUFRLENBQUM7TUFDUixLQUFLLEU5QkhLLE9BQU87TThCSWpCLElBQUksQUFBQyxDQUFDLEFBQ0osSUFBSSxFekJmRixRQUFVO015QmNkLElBQUksQUFBQyxDQUFDLEFBRUosTUFBTSxFQXhFaUIsSUFBSTtNQTBFN0IsY0FBYyxFQXpFYyxTQUFTLEdBMEV0Qzs7QUM2REQsQUFBTSxNQUFBLEFBQUEsT0FBTyxDQUFDO0VBbkdkLFFBQVEsRUFBRSxRQUFTO0VBZ0VuQixhQUE4QixFQWhHUCxTQUFlLEdBOEpyQztFQTNCRCxBQWhHQSxNQWdHTSxBQUFBLE9BQU8sQ0FoR2IsSUFBSSxDQUFDO0lBQ0gsT0FBTyxFQUFFLEtBQU07SUFDZixNQUFNLEVBQUUsSUFBSztJQUNiLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEtBQXNCLEVBQUUsQ0FBRTtJQUMxQixHQUFHLEVBQUUsQ0FBRTtJQUNQLFdBQXdCLEVBQVMsU0FBVSxHQWU1QztJQTJFRCxBQWhHQSxNQWdHTSxBQUFBLE9BQU8sQ0FoR2IsSUFBSSxBQVNELE1BQU0sQ0FBQztNQUNOLFFBQVEsRUFBRSxRQUFTO01BQ25CLE9BQU8sRUFBRSxFQUFHO01BQ1osS0FBSyxFQUFFLENBQUU7TUFDVCxNQUFNLEVBQUUsQ0FBRTtNQUNWLE9BQU8sRUFBRSxLQUFNO01BQ2YsWUFBWSxFQUFFLEtBQU07TUFDcEIsR0FBRyxFQUFFLEdBQUk7TUFDVCxJQUFpQixFQUFFLEdBQUksR0FDeEI7SUE4RUgsQUFoR0EsTUFnR00sQUFBQSxPQUFPLENBaEdiLElBQUksQUFvQkQsT0FBTyxDQUFDO01BQUUsZ0JBQWdCLEVBekVILGtCQUFJLEdBeUVpQztFQTRFL0QsQUF0RUEsTUFzRU0sQUFBQSxPQUFPLENBdEViLElBQUksQ0FBQztJQUNILGlCQUE4QixFQS9FSCx3QkFBSSxHQWdGaEM7RUFvRUQsQUFqQ0EsTUFpQ00sQUFBQSxPQUFPLENBakNiLElBQUksQ0FBQztJQUFFLEtBQUssRUFqR2MsVUFBZSxHQXdHeEM7SUEwQkQsQUFqQ0EsTUFpQ00sQUFBQSxPQUFPLENBakNiLElBQUksQUFDRCxNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUFBRSxLQUFNO01BQ3hCLFlBQVksRUFuR1EsUUFBZTtNQW9HbkMsV0FBd0IsRTFCbkR0QixTQUFVO00wQm9EWixHQUFHLEVBQUUsR0FBSSxHQUNWO0VBMkJILEFBUEksTUFPRSxBQUFBLE9BQU8sQ0FQYixJQUFJLEFBQUEsTUFBTSxDQUFDO0lBQUUsWUFBWSxFM0I0SFosT0FBTyxDMkI1SGtCLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFJO0VBTzdFLEFBdEVBLE1Bc0VNLEFBQUEsT0FBTyxBQUVWLFVBQVUsQ0F4RWIsSUFBSSxDQUFDO0lBQ0gsaUJBQThCLEVBL0VILHdCQUFJLEdBZ0ZoQztFQW9FRCxBQVBJLE1BT0UsQUFBQSxPQUFPLEFBRVYsVUFBVSxDQVRiLElBQUksQUFBQSxNQUFNLENBQUM7SUFBRSxZQUFZLEUzQjRIWixPQUFPLEMyQjVIa0IsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEdBQUk7RUFPN0UsQUF0RUEsTUFzRU0sQUFBQSxPQUFPLEFBR1YsTUFBTSxDQXpFVCxJQUFJLENBQUM7SUFDSCxpQkFBOEIsRUEvRUgsd0JBQUksR0FnRmhDO0VBb0VELEFBdEVBLE1Bc0VNLEFBQUEsT0FBTyxBQUlWLFFBQVEsQ0ExRVgsSUFBSSxDQUFDO0lBQ0gsaUJBQThCLEVBL0VILHdCQUFJLEdBZ0ZoQztFQW9FRCxBQUFNLE1BQUEsQUFBQSxPQUFPLEFBTVYsS0FBSyxDQUFDO0lBckVULGFBQThCLEVBbEZQLE9BQWUsR0F1SnlCO0lBTi9ELEFBN0RBLE1BNkRNLEFBQUEsT0FBTyxBQU1WLEtBQUssQ0FuRVIsSUFBSSxDQUFDO01BQUUsS0FBSyxFQW5GYyxPQUFlLEdBMEZ4QztNQXNERCxBQTdEQSxNQTZETSxBQUFBLE9BQU8sQUFNVixLQUFLLENBbkVSLElBQUksQUFDRCxNQUFNLENBQUM7UUFDTixnQkFBZ0IsRUFBRSxLQUFNO1FBQ3hCLFlBQVksRTFCdEJWLFFBQVU7UTBCdUJaLFdBQXdCLEUxQnZCdEIsU0FBVTtRMEJ3QlosR0FBRyxFQUFFLEdBQUksR0FDVjtFQXVESCxBQUFNLE1BQUEsQUFBQSxPQUFPLEFBT1YsTUFBTSxDQUFDO0lBeERWLGFBQThCLEVBekZQLFFBQWUsR0FpSjJCO0lBUGpFLEFBL0NBLE1BK0NNLEFBQUEsT0FBTyxBQU9WLE1BQU0sQ0F0RFQsSUFBSSxDQUFDO01BQUUsS0FBSyxFQTFGYyxRQUFlLEdBaUd4QztNQXdDRCxBQS9DQSxNQStDTSxBQUFBLE9BQU8sQUFPVixNQUFNLENBdERULElBQUksQUFDRCxNQUFNLENBQUM7UUFDTixnQkFBZ0IsRUFBRSxLQUFNO1FBQ3hCLFlBQVksRTFCcENWLFNBQVU7UTBCcUNaLFdBQXdCLEUxQnJDdEIsU0FBVTtRMEJzQ1osR0FBRyxFQUFFLEdBQUksR0FDVjtFQXlDSCxBQUFNLE1BQUEsQUFBQSxPQUFPLEFBUVYsTUFBTSxDQUFDO0lBN0JWLGFBQThCLEVBdkdQLE1BQWUsR0FvSTJCO0lBUmpFLEFBbkJBLE1BbUJNLEFBQUEsT0FBTyxBQVFWLE1BQU0sQ0EzQlQsSUFBSSxDQUFDO01BQUUsS0FBSyxFQXhHYyxTQUFlLEdBK0d4QztNQVlELEFBbkJBLE1BbUJNLEFBQUEsT0FBTyxBQVFWLE1BQU0sQ0EzQlQsSUFBSSxBQUNELE1BQU0sQ0FBQztRQUNOLGdCQUFnQixFQUFFLEtBQU07UUFDeEIsWUFBWSxFQTFHUSxTQUFlO1FBMkduQyxXQUF3QixFMUJqRXRCLFNBQVU7UTBCa0VaLEdBQUcsRUFBRSxHQUFJLEdBQ1Y7RUFhSCxBQUFNLE1BQUEsQUFBQSxPQUFPLEFBU1YsT0FBTyxDQUFDO0lBQUUsWUFBWSxFQUFFLElBQUssR0FBSTtFQVRwQyxBQVBJLE1BT0UsQUFBQSxPQUFPLEFBV1YsVUFBVSxDQWxCYixJQUFJLEFBQUEsTUFBTSxDQUFDO0lBQUUsWUFBWSxFM0I0SVosT0FBTyxDMkI1SWtCLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFJO0VBTzdFLEFBYVcsTUFiTCxBQUFBLE9BQU8sQUFhVixPQUFPLENBQUMsSUFBSSxDQUFDO0kzQjdJaEIsa0NBQXFDLEVKa0h6QixHQUFHO0lJakhmLCtCQUFrQyxFSmlIdEIsR0FBRztJSWhIZiwwQkFBNkIsRUpnSGpCLEdBQUc7SUkvR2YsdUJBQTBCLEVKK0dkLEdBQUcsRytCMkJnRTtFQWIvRSxBQWNVLE1BZEosQUFBQSxPQUFPLEFBY1YsTUFBTSxDQUFDLElBQUksQ0FBQztJM0I5SWYsa0NBQXFDLEUyQjhJc0IsTUFBTTtJM0I3SWpFLCtCQUFrQyxFMkI2SXlCLE1BQU07STNCNUlqRSwwQkFBNkIsRTJCNEk4QixNQUFNO0kzQjNJakUsdUJBQTBCLEUyQjJJaUMsTUFBTSxHQUFLO0VBZHRFLEFBZ0JRLE1BaEJGLEFBQUEsT0FBTyxBQWVWLE9BQU8sQ0FDTixJQUFJLEFBQUEsT0FBTyxDQUFBO0lBQUUsWUFBWSxFQUFDLElBQUssR0FBSTtFQWhCdkMsQUFpQlEsTUFqQkYsQUFBQSxPQUFPLEFBZVYsT0FBTyxDQUVOLElBQUksQUFBQSxNQUFNLENBQUE7SUFBRSxZQUFZLEVBQUMsSUFBSyxHQUFJO0VBakJ0QyxBQWtCUyxNQWxCSCxBQUFBLE9BQU8sQUFlVixPQUFPLENBR04sSUFBSSxHQUFDLENBQUMsQ0FBQTtJQUNKLE9BQU8sRUFBRSxLQUFNO0lBQ2YsSUFBSSxFQUFFLEdBQUk7SUFDVixXQUFXLEVBQUUsVUFBVztJQUN4QixVQUFVLEVBQUUsVUFBVztJQUN2QixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUUsR0FBSSxHQUNWOztBQzNFTCxBQUFBLFFBQVEsQ0FBQztFQTlEWCxPQUFPLEVBQUUsS0FBTTtFQUNmLE1BQU0sRTNCK0JFLFFBQVUsQ0FDYSxDQUFDLENBRHhCLFFBQVU7RTJCOUJsQixRQUFRLEVBQUUsTUFBTztFQUNqQixXQUFXLEUzQjZCSCxPQUFVO0UyQjVCbEIsS0FBSyxFQUFFLElBQUssR0EwRHFCO0VBQS9CLEFBeERGLFFBd0RVLENBeERWLEVBQUUsQ0FBQztJQUNELGNBQWMsRUFBRSxTQUFVLEdBQzNCO0VBc0RDLEFBcERGLFFBb0RVLENBcERWLEVBQUU7RUFvREEsQUFuREYsUUFtRFUsQ0FuRFYsRUFBRTtFQW1EQSxBQWxERixRQWtEVSxDQWxEVixFQUFFLENBQUM7SUFDRCxLQUFLLEU1QmtPUSxPQUFPO0k0QmpPcEIsS0FBSyxFNUIyUVMsSUFBSTtJNEIxUWxCLFdBQVcsRTVCbVBVLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7STRCbFAzRSxTQUFTLEUzQmdCSCxRQUFVO0kyQmZoQixXQUFXLEVoQ1lNLE1BQU07SWdDWHZCLFdBQXdCLEUzQmNsQixJQUFVO0kyQmJoQixhQUFhLEVBQUUsQ0FBRSxHQXNDbEI7SUFLQyxBQXpDQSxRQXlDUSxDQXBEVixFQUFFLENBV0EsQ0FBQztJQXlDRCxBQXpDQSxRQXlDUSxDQW5EVixFQUFFLENBVUEsQ0FBQztJQXlDRCxBQXpDQSxRQXlDUSxDQWxEVixFQUFFLENBU0EsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFNUJ5Tk0sT0FBTztNNEJ4TmxCLE9BQU8sRTNCU0gsU0FBVSxDQUFWLElBQVU7TTJCUmQsZUFBZSxFQTFESyxJQUFJLEdBK0R6QjtNQWlDRCxBQXpDQSxRQXlDUSxDQXBEVixFQUFFLENBV0EsQ0FBQyxBQUtFLE1BQU07TUFvQ1QsQUF6Q0EsUUF5Q1EsQ0FuRFYsRUFBRSxDQVVBLENBQUMsQUFLRSxNQUFNO01Bb0NULEFBekNBLFFBeUNRLENBbERWLEVBQUUsQ0FTQSxDQUFDLEFBS0UsTUFBTSxDQUFDO1FBQ04sS0FBSyxFQTFEYyxPQUFXLEdBMkQvQjtJQWtDSCxBQS9CUyxRQStCRCxDQXBEVixFQUFFLEFBcUJDLE9BQU8sQ0FBQyxDQUFDO0lBK0JWLEFBL0JTLFFBK0JELENBbkRWLEVBQUUsQUFvQkMsT0FBTyxDQUFDLENBQUM7SUErQlYsQUEvQlMsUUErQkQsQ0FsRFYsRUFBRSxBQW1CQyxPQUFPLENBQUMsQ0FBQyxDQUFDO001QnpEWCxhQUFhLEU0Qk5PLEdBQUc7TUFpRXJCLFVBQVUsRWhDU0EsT0FBTztNZ0NSakIsS0FBSyxFNUJtTU0sT0FBTztNNEJsTWxCLE1BQU0sRUF4RFksT0FBTztNQXlEekIsV0FBVyxFaENQSSxNQUFNO01nQ1FyQixPQUFPLEUzQkxILFNBQVUsQ0FBVixJQUFVLEcyQlVmO01Bb0JELEFBL0JTLFFBK0JELENBcERWLEVBQUUsQUFxQkMsT0FBTyxDQUFDLENBQUMsQUFRUCxNQUFNO01BdUJULEFBL0JTLFFBK0JELENBbkRWLEVBQUUsQUFvQkMsT0FBTyxDQUFDLENBQUMsQUFRUCxNQUFNO01BdUJULEFBL0JTLFFBK0JELENBbERWLEVBQUUsQUFtQkMsT0FBTyxDQUFDLENBQUMsQUFRUCxNQUFNLENBQUM7UUFDTixVQUFVLEVBaEVRLE9BQVcsR0FpRTlCOztBQ2lIRCxBQUFBLE9BQU8sQ0FBQztFQXhLWixNQUFNLEVBQUUsSUFBSztFQUNiLGFBQWEsRUF0QlEsTUFBTTtFQXVCM0IsT0FBTyxFQUFFLENBQUU7RUFDWCxPQUFPLEVBQUUsQ0FBRTtFQUNYLFFBQVEsRUFBRSxRQUFTO0VBQ25CLG1CQUFtQixFQUFFLElBQUs7RUFDMUIsZ0JBQWdCLEVBQUUsSUFBSztFQUN2QixlQUFlLEVBQUUsSUFBSztFQUN0QixXQUFXLEVBQUUsSUFBSyxHQXdMYjtFQXhCRCxBQTdKSixPQTZKVyxDQTdKWCxLQUFLLENBQUM7SUFDSixVQUFVLEU3QjhPRyxPQUFPO0k2QjdPcEIsS0FBSyxFQUFFLFdBQVk7SUFDbkIsTUFBTSxFQUFFLE9BQVE7SUFDaEIsT0FBTyxFQUFFLEtBQU07SUFDZixhQUFhLEVBQUcsSUFBa0I7SUFDbEMsUUFBUSxFQUFFLFFBQVM7SUFDbkIsV0FBVyxFQUFFLElBQUs7SUFDbEIsS0FBSyxFQUFFLElBQWtCO0lBQU0sTUFBTSxFQTFDckIsSUFBSTtJN0JzSHRCLFVBQVUsRTZCekVtQixJQUFJLENBdkNGLEtBQUksQ0FDTCxRQUFRLEdBdUNyQztFQWlKRyxBQTdJSixPQTZJVyxDQTdJWCxLQUFLLENBQUM7SUFDSixJQUFJLEVBQUUsSUFBSztJQUNYLE9BQU8sRUFBRSxDQUFFO0lBQ1gsT0FBTyxFQUFDLENBQUU7SUFDVixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUUsR0FBSSxHQUdWO0lBcUlHLEFBdElFLE9Bc0lLLENBN0lYLEtBQUssR0FPQyxLQUFLLENBQUM7TUFBRSxXQUFXLEVBQUUsQ0FBRTtNQUFFLFlBQVksRUFBRSxDQUFFLEdBQUk7RUFzSS9DLEFBL0hDLE9BK0hNLENBL0hYLEtBQUssQUFBQSxNQUFNLENBQUM7SUFDVixVQUFVLEU3QnlNRyxPQUFPO0k2QnhNcEIsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLE1BQU0sRUFBRSxNQUFrQjtJQUMxQixJQUFJLEVBQUUsTUFBTztJQUNiLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEdBQUcsRUFBRSxNQUFPO0lBQ1osS0FBSyxFQUFFLE1BQWtCO0lBRXpCLGtCQUFrQixFQUFFLElBQUksQ0FwRUssS0FBSSxDQUNMLFFBQVE7SUFvRXBDLGVBQWUsRUFBRSxJQUFJLENBckVRLEtBQUksQ0FDTCxRQUFRO0lBcUVwQyxhQUFhLEVBQUUsb0JBQVc7SUFDMUIsVUFBVSxFQUFFLElBQUksQ0F2RWEsS0FBSSxDQUNMLFFBQVE7SUF3RXBDLGlCQUFpQixFQUFFLG9CQUFXO0lBQzlCLGNBQWMsRUFBRSxvQkFBVztJQUMzQixhQUFhLEVBQUUsb0JBQVc7SUFDMUIsWUFBWSxFQUFFLG9CQUFXO0lBQ3pCLFNBQVMsRUFBRSxvQkFBVyxHQUN2QjtFQTJHRyxBQXpHWSxPQXlHTCxDQXpHWCxLQUFLLEFBQUEsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNwQixVQUFVLEVqQ1JFLE9BQU8sR2lDU3BCO0VBdUdHLEFBckdpQixPQXFHVixDQXJHWCxLQUFLLEFBQUEsUUFBUSxHQUFHLEtBQUssQUFBQSxNQUFNLENBQUM7SUFDMUIsSUFBSSxFQUFFLE9BQWtCLEdBQ3pCO0VBbUdHLEFBekZKLE9BeUZXLENBekZYLEtBQUssQ0FBQztJQUNKLE1BQU0sRUF2R1UsSUFBSTtJQXdHcEIsS0FBSyxFQUFFLElBQU8sR0FDZjtFQXNGRyxBQXBGQyxPQW9GTSxDQXBGWCxLQUFLLEFBQUEsTUFBTSxDQUFDO0lBQ1YsTUFBTSxFQUFFLE1BQU87SUFDZixLQUFLLEVBQUUsTUFBTyxHQUNmO0VBaUZHLEFBL0VpQixPQStFVixDQS9FWCxLQUFLLEFBQUEsUUFBUSxHQUFHLEtBQUssQUFBQSxNQUFNLENBQUM7SUFDMUIsSUFBSSxFQUFFLE9BQU8sR0FDZDtFQTZFRyxBQTFERixPQTBEUyxDQTFEVCxLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsV0FBWTtJQUNuQixVQUFVLEU3QjBJQyxPQUFPLEc2QnpJbkI7RUF1REMsQUFyREcsT0FxREksQ0FyRFQsS0FBSyxBQUFBLE1BQU0sQ0FBQztJQUNWLFVBQVUsRTdCK0hDLE9BQU8sRzZCOUhuQjtFQW1EQyxBQWpEYyxPQWlEUCxDQWpEVCxLQUFLLEFBQUEsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNwQixVQUFVLEVqQ2hFQSxPQUFPLEdpQ2lFbEI7RUErQ0MsQUF6RkosT0F5RlcsQUFJSixNQUFNLENBN0ZiLEtBQUssQ0FBQztJQUNKLE1BQU0sRUF0R1UsTUFBTTtJQXVHdEIsS0FBSyxFQUFFLElBQU8sR0FDZjtFQXNGRyxBQXBGQyxPQW9GTSxBQUlKLE1BQU0sQ0F4RmIsS0FBSyxBQUFBLE1BQU0sQ0FBQztJQUNWLE1BQU0sRUFBRSxJQUFPO0lBQ2YsS0FBSyxFQUFFLElBQU8sR0FDZjtFQWlGRyxBQS9FaUIsT0ErRVYsQUFJSixNQUFNLENBbkZiLEtBQUssQUFBQSxRQUFRLEdBQUcsS0FBSyxBQUFBLE1BQU0sQ0FBQztJQUMxQixJQUFJLEVBQUUsT0FBTyxHQUNkO0VBNkVHLEFBekZKLE9BeUZXLEFBT0osTUFBTSxDQWhHYixLQUFLLENBQUM7SUFDSixNQUFNLEVBeEdVLE9BQU87SUF5R3ZCLEtBQUssRUFBRSxNQUFPLEdBQ2Y7RUFzRkcsQUFwRkMsT0FvRk0sQUFPSixNQUFNLENBM0ZiLEtBQUssQUFBQSxNQUFNLENBQUM7SUFDVixNQUFNLEVBQUUsT0FBTztJQUNmLEtBQUssRUFBRSxPQUFPLEdBQ2Y7RUFpRkcsQUEvRWlCLE9BK0VWLEFBT0osTUFBTSxDQXRGYixLQUFLLEFBQUEsUUFBUSxHQUFHLEtBQUssQUFBQSxNQUFNLENBQUM7SUFDMUIsSUFBSSxFQUFFLElBQU8sR0FDZDtFQTZFRyxBQXpGSixPQXlGVyxBQVVKLEtBQUssQ0FuR1osS0FBSyxDQUFDO0lBQ0osTUFBTSxFQXpHVSxNQUFNO0lBMEd0QixLQUFLLEVBQUUsSUFBTyxHQUNmO0VBc0ZHLEFBcEZDLE9Bb0ZNLEFBVUosS0FBSyxDQTlGWixLQUFLLEFBQUEsTUFBTSxDQUFDO0lBQ1YsTUFBTSxFQUFFLElBQU87SUFDZixLQUFLLEVBQUUsSUFBTyxHQUNmO0VBaUZHLEFBL0VpQixPQStFVixBQVVKLEtBQUssQ0F6RlosS0FBSyxBQUFBLFFBQVEsR0FBRyxLQUFLLEFBQUEsTUFBTSxDQUFDO0lBQzFCLElBQUksRUFBRSxPQUFPLEdBQ2Q7RUE2RUcsQUFjSSxPQWRHLEFBYUosT0FBTyxDQUNOLEtBQUssQ0FBQztJN0JsTVosYUFBYSxFNkJrTWlCLEdBQUcsR0FBSztFQWRwQyxBQWVTLE9BZkYsQUFhSixPQUFPLENBRU4sS0FBSyxBQUFBLE1BQU0sQ0FBQztJN0JuTWxCLGFBQWEsRTZCbU11QixHQUFHLEdBQUs7RUFmMUMsQUFBQSxPQUFPLEFBbUJKLE1BQU0sQ0FBQztJN0J2TVosYUFBYSxFNkJ1TWlCLE1BQU0sR0FHL0I7SUF0QkgsQUFvQkksT0FwQkcsQUFtQkosTUFBTSxDQUNMLEtBQUssQ0FBQztNN0J4TVosYUFBYSxFNkJ3TWlCLElBQUksR0FBSztJQXBCckMsQUFxQlMsT0FyQkYsQUFtQkosTUFBTSxDQUVMLEtBQUssQUFBQSxNQUFNLENBQUM7TTdCek1sQixhQUFhLEU2QnlNdUIsSUFBSSxHQUFLOztBQ3pHN0MsQUFBQSxLQUFLLENBQUM7RUFuRVIsVUFBVSxFbENvdENELElBQUk7RWtDbnRDYixNQUFNLEVsQ3V0Q2EsS0FBSyxDQUNOLEdBQUcsQ0FsckNQLE9BQU87RWtDckNyQixhQUFhLEVqQzJCTCxRQUFVO0VpQzFCbEIsWUFBWSxFQWJDLElBQUksR0ErRWQ7RUFGRCxBQTlERixLQThETyxDQTlEUCxPQUFPLENBQUM7SUFDTixVQUFVLEVBNUJLLFdBQVc7SUE2QjFCLEtBQUssRWxDd3RDZSxJQUFJO0lrQ3Z0Q3hCLElBQUksQUFBQyxDQUFDLEFBQ0osSUFBSSxFN0JvQkEsSUFBVTtJNkJyQmhCLElBQUksQUFBQyxDQUFDLEFBRUosTUFBTSxFQTdCZ0IsSUFBSSxHQStCN0I7RUF1REMsQUFyREYsS0FxRE8sQ0FyRFAsS0FBSyxDQUFDO0lBQ0osVUFBVSxFbEN3QkUsT0FBTyxHa0NicEI7SUF5Q0MsQUFqREUsS0FpREcsQ0FyRFAsS0FBSyxDQUdILEVBQUUsQ0FDQSxFQUFFO0lBaURKLEFBaERFLEtBZ0RHLENBckRQLEtBQUssQ0FHSCxFQUFFLENBRUEsRUFBRSxDQUFDO01BQ0QsS0FBSyxFbEMyc0NXLElBQUk7TWtDMXNDcEIsU0FBUyxFakNRUCxTQUFVO01pQ1BaLFdBQVcsRWxDMHNDTSxNQUFNO01rQ3pzQ3ZCLE9BQU8sRWpDTUwsUUFBVSxDQUFWLE9BQVUsR2lDTGI7RUEyQ0gsQUF2Q0YsS0F1Q08sQ0F2Q1AsS0FBSyxDQUFDO0lBQ0osVUFBVSxFbENVRSxPQUFPLEdrQ0NwQjtJQTJCQyxBQW5DRSxLQW1DRyxDQXZDUCxLQUFLLENBR0gsRUFBRSxDQUNBLEVBQUU7SUFtQ0osQUFsQ0UsS0FrQ0csQ0F2Q1AsS0FBSyxDQUdILEVBQUUsQ0FFQSxFQUFFLENBQUM7TUFDRCxLQUFLLEVsQzZyQ1csSUFBSTtNa0M1ckNwQixTQUFTLEVqQ05QLFNBQVU7TWlDT1osV0FBVyxFbEM0ckNNLE1BQU07TWtDM3JDdkIsT0FBTyxFakNSTCxRQUFVLENBQVYsT0FBVSxHaUNTYjtFQTZCSCxBQXhCQSxLQXdCSyxDQXpCUCxFQUFFLENBQ0EsRUFBRTtFQXdCRixBQXZCQSxLQXVCSyxDQXpCUCxFQUFFLENBRUEsRUFBRSxDQUFDO0lBQ0QsS0FBSyxFbEN5ckNZLElBQUk7SWtDeHJDckIsU0FBUyxFakNqQkwsU0FBVTtJaUNrQmQsT0FBTyxFakNsQkgsUUFBVSxDQUFWLE9BQVU7SWlDbUJkLFVBQVUsRTlCc09FLElBQUksRzhCck9qQjtFQWtCRCxBQXpCRixLQXlCTyxDQXpCUCxFQUFFLEFBU0MsS0FBSyxFQWdCTixBQXpCRixLQXlCTyxDQXpCUCxFQUFFLEFBVUMsSUFBSSxFQWVMLEFBekJGLEtBeUJPLENBekJQLEVBQUUsQUFXQyxZQUFhLENBQUEsQUFBQSxJQUFJLEVBQUU7SUFBRSxVQUFVLEVsQ2JsQixPQUFPLEdrQ2FtQztFQWN4RCxBQVhPLEtBV0YsQ0FYUCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFXVCxBQVZPLEtBVUYsQ0FWUCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFVVCxBQVRPLEtBU0YsQ0FUUCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFTVCxBQVJPLEtBUUYsQ0FSUCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFRVCxBQVBPLEtBT0YsQ0FQUCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFPVCxBQU5DLEtBTUksQ0FOUCxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQUUsT0FBTyxFQXRFRCxVQUFVO0lBc0VTLFdBQVcsRTdCaENwQyxRQUFVLEc2QmdDa0Q7O0FDL0ZsRSxBQUFBLEtBQUssQ0FBQztFQUVKLGFBQWEsRUFBRSxZQUFhO0VBQzVCLFdBQVcsRUFBRSxDQUFFLEdBaURoQjtFQXBERCxBQUFBLEtBQUssQS9CaU5OLE9BQU8sRStCak5OLEFBQUEsS0FBSyxBL0JpTkksTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLEdBQUk7SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJO0UrQmpOcEQsQUFBQSxLQUFLLEEvQmtOTixNQUFNLENBQUM7SUFBRSxLQUFLLEVBQUUsSUFBSyxHQUFJO0UrQmxOeEIsQUFLRSxLQUxHLENBS0gsRUFBRTtFQUxKLEFBTUUsS0FORyxDQU1ILFVBQVUsQ0FBQztJQUNULEtBQUssRS9CaVRLLElBQUk7SStCaFRkLFVBQVUsRUFBRSxJQUFLO0lBQ2pCLGFBQWEsRUFBRSxZQUFhO0lBQzVCLFFBQVEsRUFBRSxRQUFTLEdBbUJwQjtJQTdCSCxBQVlNLEtBWkQsQ0FLSCxFQUFFLEdBT0UsQ0FBQztJQVpQLEFBWU0sS0FaRCxDQU1ILFVBQVUsR0FNTixDQUFDLENBQUM7TUFDRixPQUFPLEVBQUUsS0FBTTtNQUNmLGdCQUFnQixFL0IyUFQsT0FBTztNK0IxUGQsS0FBSyxFL0JzUUUsT0FBTztNK0JyUWQsV0FBVyxFL0JpUkksZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVTtNK0JoUnJFLFNBQVMsRTlCOENULElBQVU7TThCN0NWLE9BQU8sRTlCNkNQLElBQVUsQzhCN0N3QixJQUF3QixHQUszRDtNQXZCTCxBQVlNLEtBWkQsQ0FLSCxFQUFFLEdBT0UsQ0FBQyxBQVFBLE1BQU07TUFwQmIsQUFZTSxLQVpELENBTUgsVUFBVSxHQU1OLENBQUMsQUFRQSxNQUFNLENBQUM7UUFDTixnQkFBZ0IsRUFsQ0ssT0FBVyxHQW1DakM7SUF0QlAsQUF5QmUsS0F6QlYsQ0FLSCxFQUFFLEFBb0JDLE9BQU8sR0FBRyxDQUFDO0lBekJoQixBQXlCZSxLQXpCVixDQU1ILFVBQVUsQUFtQlAsT0FBTyxHQUFHLENBQUMsQ0FBQztNQUNYLGdCQUFnQixFL0IwT1QsT0FBTztNK0J6T2QsS0FBSyxFL0IwUEUsT0FBTyxHK0J6UGY7RUE1QkwsQUFrQ00sS0FsQ0QsQUErQkYsT0FBTyxDQUNOLEVBQUUsQUFBQSxZQUFZLENBRVosQ0FBQztFQWxDUCxBQWtDTSxLQWxDRCxBQStCRixPQUFPLENBRU4sSUFBSSxBQUFBLFlBQVksQ0FDZCxDQUFDLENBQUM7SS9CbkJSLGlDQUFxQyxFSmtIekIsR0FBRztJSWpIZiw4QkFBa0MsRUppSHRCLEdBQUc7SUloSGYseUJBQTZCLEVKZ0hqQixHQUFHO0lJL0dmLHNCQUEwQixFSitHZCxHQUFHLEdtQy9GbUQ7RUFsQ2xFLEFBdUNNLEtBdkNELEFBK0JGLE9BQU8sQ0FNTixFQUFFLEFBQUEsV0FBVyxDQUVYLENBQUM7RUF2Q1AsQUF1Q00sS0F2Q0QsQUErQkYsT0FBTyxDQU9OLElBQUksQUFBQSxXQUFXLENBQ2IsQ0FBQyxDQUFDO0kvQnhCUixrQ0FBcUMsRUprSHpCLEdBQUc7SUlqSGYsK0JBQWtDLEVKaUh0QixHQUFHO0lJaEhmLDBCQUE2QixFSmdIakIsR0FBRztJSS9HZix1QkFBMEIsRUorR2QsR0FBRyxHbUMxRndEO0VBdkN2RSxBQTRDSSxLQTVDQyxBQTJDRixTQUFTLENBQ1IsRUFBRTtFQTVDTixBQTZDSSxLQTdDQyxBQTJDRixTQUFTLENBRVIsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLE9BQVE7SUFDbEIsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLEdBQUcsRUFBRSxJQUFLLEdBQ1g7O0FBSUwsQUFBQSxhQUFhLENBQUM7RUFFWixhQUFhLEU5Qk9ULE1BQVU7RThCTmQsS0FBSyxFQUFFLElBQUssR0F3QmI7RUEzQkQsQUFBQSxhQUFhLEEvQjJKZCxPQUFPLEUrQjNKTixBQUFBLGFBQWEsQS9CMkpKLE1BQU0sQ0FBQztJQUFFLE9BQU8sRUFBRSxHQUFJO0lBQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTtFK0IzSnBELEFBQUEsYUFBYSxBL0I0SmQsTUFBTSxDQUFDO0lBQUUsS0FBSyxFQUFFLElBQUssR0FBSTtFK0I1SnhCLEFBS0ksYUFMUyxHQUtULFFBQVEsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFLO0lBQ2QsS0FBSyxFL0IyUEssSUFBSTtJK0IxUGQsT0FBTyxFQXBFUyxTQUFjLENBb0VDLENBQUM7SUFDaEMsS0FBSyxFQUFFLElBQUssR0FTYjtJQWxCSCxBQUtJLGFBTFMsR0FLVCxRQUFRLEFBTVAsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEtBQU07TUFDZixLQUFLLEVBQUUsSUFBSyxHQUNiO0lBZEwsQUFLSSxhQUxTLEdBS1QsUUFBUSxBQVVQLFVBQVUsQ0FBQztNQUNWLE9BQU8sRUE1RU8sU0FBYyxHQTZFN0I7RUFqQkwsQUFBQSxhQUFhLEFBb0JWLFNBQVMsQ0FBQztJQUNULE9BQU8sRUFBRSxLQUFNLEdBS2hCO0lBMUJILEFBdUJNLGFBdkJPLEFBb0JWLFNBQVMsR0FHTixRQUFRLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQyxDQXBGSSxTQUFjLEdBcUY3Qjs7QUFJTCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0VBQ2pDLEFBQUEsS0FBSyxBQUNGLFNBQVMsQ0FBQztJQUNULEtBQUssRS9Ca09HLElBQUk7SStCak9aLE1BQU0sRUFBRSxDQUFFO0lBQ1YsYUFBYSxFQTVGa0IsT0FBTyxDQTRGaUIsVUFBVTtJQUNqRSxTQUFTLEVBQUUsR0FBSTtJQUNmLEtBQUssRUFBRSxHQUFJLEdBQ1o7RUFHSCxBQUFBLGFBQWEsQUFDVixTQUFTLENBQUM7SUFDVCxLQUFLLEUvQndORyxJQUFJO0krQnZOWixXQUF3QixFQUFTLElBQUs7SUFDdEMsU0FBUyxFQUFFLEdBQUk7SUFDZixZQUF5QixFQUFVLElBQUs7SUFDeEMsS0FBSyxFQUFFLEdBQUksR0FDWjs7QUFJTCxBQUNrQixNQURaLENBQ0osYUFBYSxHQUFHLFFBQVEsQ0FBQztFQUN2QixPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBRSxJQUFLLEdBQ2I7O0FDakZILHNCQUFzQjtBQUN0QixBQUFBLEdBQUcsQ0FBQztFQWpCTixNQUFNLEVBdkJhLEtBQUssQ0FDTCxHQUFHLENoQzhRUCxPQUFPO0VnQ3ZQdEIsVUFBVSxFQXJCTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENoQzhSWCxrQkFBTztFZ0N4UXRCLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFdBQVcsRUFBRSxDQUFFO0VBQ2YsU0FBUyxFQUFFLElBQUs7RWhDZ0doQixVQUFVLEVnQ2pGcUIsR0FBRyxDQWxDWCxLQUFLLENBa0NpQyxRQUFRLEdBR2xFO0VBTEQsQUFBQSxHQUFHLEFBWEosTUFBTSxFQVdMLEFBQUEsR0FBRyxBQVZKLE1BQU0sQ0FBQztJQUNOLFVBQVUsRUEzQlcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDcENnRnBCLHdCQUFPLEdvQ3BEcEI7RUFRQyxBQUFBLEdBQUcsQUFJQSxPQUFPLENBQUM7SWhDNUJYLGFBQWEsRUo0SEQsR0FBRyxHb0NoR2dDOztBQzFCL0MsY0FBYztBQUNkLEFBQUEsUUFBUSxDQUFDO0VBQ1AsYUFBYSxFQTNCSyxNQUFNLENBQUMsR0FBRyxDakM4UmpCLE9BQU87RWlDbFFsQixLQUFLLEVqQzBRTSxPQUFPO0VpQ3pRbEIsTUFBTSxFQXhCVSxJQUFJO0VBeUJwQixXQUFXLEVyQ2lERSxJQUFJLEdxQ3ZDbEI7RUFkRCxBQUFBLFFBQVEsQUFNTCxNQUFNLEVBTlQsQUFBQSxRQUFRLEFBT0wsTUFBTSxDQUFDO0lBQ04sYUFBYSxFQS9CUyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQVc7SUFnQzVDLEtBQUssRXJDd0RHLE9BQU8sR3FDdkRoQjtFQVZILEFBQUEsUUFBUSxBQVlMLFNBQVMsRUFaWixBQUFBLFFBQVEsQUFhTCxVQUFVLENBQUM7SUFBRSxLQUFLLEVBQUUsZUFBZ0IsR0FBSTs7QUFHM0MsQUFBQSxRQUFRLENBQUM7RUFDUCxVQUFVLEVqQzJQQyxPQUFPO0VpQzFQbEIsS0FBSyxFakMwT00sT0FBTztFaUN6T2xCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsU0FBUyxFaENtQ0wsUUFBVTtFZ0NsQ2QsV0FBVyxFckMrQkksTUFBTTtFcUM5QnJCLFdBQVcsRUFwQ0ssR0FBRztFQXFDbkIsU0FBUyxFQTdCSyxLQUFLO0VBOEJuQixPQUFPLEVoQytCSCxPQUFVO0VnQzlCZCxRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsSUFBSztFQUNaLE9BQU8sRUFBRSxJQUFLO0VBQ2QsSUFBaUIsRUFBRSxHQUFJLEdBaUN4QjtFQTdDRCxBQWNJLFFBZEksR0FjSixJQUFJLENBQUM7SUFDTCxNQUFNLEVBQUUsS0FBSyxDQXRDRixHQUFHO0lBdUNkLFlBQVksRUFBRSxXQUFXLENBQUMsV0FBVyxDakM0TzVCLE9BQU8sQ2lDNU9rQyxXQUFXO0lBQzdELE9BQU8sRUFBRSxLQUFNO0lBQ2YsTUFBTSxFQUFFLENBQUU7SUFDVixjQUFjLEVBQUUsSUFBSztJQUNyQixRQUFRLEVBQUUsUUFBUztJQUNuQixHQUFHLEVBQUksS0FBaUI7SUFDeEIsS0FBSyxFQUFFLENBQUU7SUFDVCxJQUFpQixFQTlDTixHQUFHLEdBb0RmO0lBN0JILEFBY0ksUUFkSSxHQWNKLElBQUksQUFXSCxJQUFJLENBQUM7TUFDSixJQUFJLEVBQUUsSUFBSztNQUNYLEtBQXNCLEVBbERiLEdBQUcsR0FtRGI7RUE1QkwsQUFBQSxRQUFRLEFBK0JMLE9BQU8sQ0FBQztJakNsRFgsYUFBYSxFSjRIRCxHQUFHLEdxQ3hFWjtFQWpDSCxBQUFBLFFBQVEsQUFrQ0wsTUFBTSxDQUFDO0lqQ3JEVixhQUFhLEVBNFRBLE1BQU0sR2lDbFFoQjtJQXZDSCxBQW9DTSxRQXBDRSxBQWtDTCxNQUFNLEdBRUgsSUFBSSxDQUFDO01BQ0wsSUFBSSxFQUFFLElBQUssR0FDWjtFQXRDTCxBQUFBLFFBQVEsQUF5Q0wsT0FBTyxDQUFDO0lBQ1AsYUFBYSxFQWpGUyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQVcsQ0FpRkEsVUFBVTtJQUN0RCxLQUFLLEVyQ01HLE9BQU8sQ3FDTmtCLFVBQVUsR0FDNUM7O0FBR0gsQUFBQSxhQUFhLENBQUM7RUFDWixLQUFLLEVqQ3dNTSxPQUFPO0VpQ3ZNbEIsT0FBTyxFQUFFLEtBQU07RUFDZixTQUFTLEVoQ1hMLFFBQVU7RWdDWWQsV0FBVyxFckNmSSxNQUFNLEdxQ2dCdEI7O0FBRUQsTUFBTSxNQUFELE1BQU07RUFDVCxBQUNJLFFBREksR0FDSixJQUFJLENBQUM7SUFDTCxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ2pDbU05QixPQUFPLENpQ25Nb0MsV0FBVztJQUM3RCxHQUFHLEVBQUksS0FBaUIsR0FDekI7RUFKSCxBQUtZLFFBTEosQUFLTCxRQUFRLEdBQUMsSUFBSSxDQUFDO0lBQ2IsWUFBWSxFakMrTEwsT0FBTyxDaUMvTFksV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXO0lBQzdELE1BQU0sRUFBSSxLQUFpQjtJQUMzQixHQUFHLEVBQUUsSUFBSyxHQUNYO0VBVEgsQUFBQSxRQUFRLEFBV0wsU0FBUyxFQVhaLEFBQUEsUUFBUSxBQVlMLFVBQVUsQ0FBQztJQUFFLEtBQUssRUFBRSxlQUFnQixHQUFJO0VBWjNDLEFBY2EsUUFkTCxBQWNMLFNBQVMsR0FBQyxJQUFJLENBQUM7SUFDZCxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENqQ3NMMUMsT0FBTztJaUNyTGQsSUFBSSxFQUFFLElBQUs7SUFDWCxVQUFVLEVBL0ZELElBQUc7SUFnR1osS0FBSyxFQUFJLEtBQWlCO0lBQzFCLEdBQUcsRUFBRSxHQUFJLEdBQ1Y7RUFwQkgsQUFxQmMsUUFyQk4sQUFxQkwsVUFBVSxHQUFDLElBQUksQ0FBQztJQUNmLFlBQVksRUFBRSxXQUFXLENqQytLbEIsT0FBTyxDaUMvS3dCLFdBQVcsQ0FBQyxXQUFXO0lBQzdELElBQUksRUFBSSxLQUFpQjtJQUN6QixVQUFVLEVBdEdELElBQUc7SUF1R1osS0FBSyxFQUFFLElBQUs7SUFDWixHQUFHLEVBQUUsR0FBSSxHQUNWOztBQ3ZCTCxBQUFJLElBQUEsQUFBQSxxQkFBcUIsQ0FBQztFQUN4QixXQUFXLEVBQUUsd0NBQUc7RUFDaEIsS0FBSyxFQXJDUyxRQUE2QixHQXNDNUM7O0FBRUQsc0RBQXNEO0FBQ3RELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVBQUUsSUFBSztFQUNaLFVBQVUsRWxDeUxDLE9BQU8sR2tDcExuQjtFQVBELEFBSUUsZ0JBSmMsQ0FJZCxRQUFRLENBQUM7SUFDUCxhQUFhLEVBdkdFLENBQUMsR0F3R2pCOztBQUlILEFBQUEsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLEtBQU07RUFDaEIsR0FBRyxFQUFFLENBQUU7RUFDUCxLQUFLLEVBQUUsSUFBSztFQUNaLE9BQU8sRUFBRSxFQUFHO0VBQ1osSUFBaUIsRUFBRSxDQUFFLEdBb0J0QjtFQXpCRCxBQUFBLE1BQU0sQUFPSCxTQUFTLEFBQUEsSUFBSyxDQUFBLEFBQUEsUUFBUSxFQUFFO0lBQ3ZCLE1BQU0sRUFBRSxJQUFLO0lBQ2IsVUFBVSxFQUFFLElBQUs7SUFDakIsVUFBVSxFQUFFLElBQUs7SUFDakIsS0FBSyxFQUFFLElBQUssR0FhYjtJQXhCSCxBQWFJLE1BYkUsQUFPSCxTQUFTLEFBQUEsSUFBSyxDQUFBLEFBQUEsUUFBUSxFQU1yQixXQUFXLENBQUM7TUFDVixRQUFRLEVBQUUsS0FBTTtNQUNoQixLQUFLLEVBQUUsSUFBSztNQUNaLE9BQU8sRUFBRSxFQUFHLEdBQ2I7SUFqQkwsQUFvQkksTUFwQkUsQUFPSCxTQUFTLEFBQUEsSUFBSyxDQUFBLEFBQUEsUUFBUSxFQWFyQixnQkFBZ0IsQ0FBQztNQUNmLFVBQVUsRWpDekRWLFNBQVU7TWlDMERWLE9BQU8sRUFBRSxFQUFHLEdBQ2I7O0FBSUwsQUFBQSxRQUFRLENBQUM7RUFDUCxVQUFVLEVsQ3FKQyxPQUFPO0VrQ3BKbEIsTUFBTSxFakNqRUYsU0FBVTtFaUNrRWQsV0FBVyxFakNsRVAsU0FBVTtFaUNtRWQsYUFBYSxFQTNJSSxDQUFDO0VBNElsQixRQUFRLEVBQUUsTUFBTztFQUNqQixRQUFRLEVBQUUsUUFBUyxHQStJcEI7RUFySkQsQUFTRSxRQVRNLENBU04sRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUs7SUFDakIsYUFBYSxFQUFFLENBQUUsR0FDbEI7RUFaSCxBQWNFLFFBZE0sQ0FjTixJQUFJLEVBZE4sQUFjRSxRQWRNLENlM0paLGFBQWEsQ2Z5S0Y7SUFDSCxTQUFTLEVBQUUsSUFBSyxHQUNqQjtFQWhCSCxBQWtCRSxRQWxCTSxDQWtCTixJQUFJO0VBbEJOLEFBbUJFLFFBbkJNLENBbUJOLEtBQUs7RUFuQlAsQUFvQkUsUUFwQk0sQ0FvQk4sTUFBTSxDQUFDO0lBQ0wsYUFBYSxFQUFFLENBQUUsR0FDbEI7RUF0QkgsQUF3QkUsUUF4Qk0sQ0F3Qk4sS0FBSztFQXhCUCxBQXlCRSxRQXpCTSxDQXlCTixNQUFNLENBQUM7SUFDTCxTQUFTLEVBeklTLE9BQU07SUEwSXhCLE1BQU0sRWpDMUZKLE9BQVU7SWlDMkZaLGNBQWMsRUFBRSxNQUFPO0lBQ3ZCLFdBQVcsRUFBRSxNQUFPLEdBQ3JCO0VBOUJILEFBZ0NFLFFBaENNLENBZ0NOLE9BQU8sRUFoQ1QsQUFnQ1csUUFoQ0gsQ0FnQ0csTUFBTSxDQUFDO0lBQ2QsU0FBUyxFQWhKUyxPQUFNO0lBaUp4QixhQUFhLEVBQUUsQ0FBRTtJQUNqQixjQUFjLEVBQUUsU0FBTTtJQUN0QixXQUFXLEVBQUUsU0FBTSxHQVNwQjtJQUpDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7TUF6Q3BDLEFBZ0NFLFFBaENNLENBZ0NOLE9BQU8sRUFoQ1QsQUFnQ1csUUFoQ0gsQ0FnQ0csTUFBTSxDQUFDO1FBVVosUUFBUSxFQUFFLFFBQVM7UUFDbkIsR0FBRyxFQUFFLElBQUssR0FFYjtFQTdDSCxBQWdERSxRQWhETSxDQWdETixXQUFXLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBRTtJQUNWLFFBQVEsRUFBRSxRQUFTLEdBQ3BCO0VBbkRILEFBcURFLFFBckRNLENBcUROLEtBQUssQ0FBQztJQUNKLFNBQVMsRXJDNU1OLElBQUk7SXFDNk1QLE1BQU0sRWpDdEhKLFNBQVU7SWlDdUhaLE1BQU0sRUFBRSxDQUFFLEdBZVg7SUF2RUgsQUEwREksUUExREksQ0FxRE4sS0FBSyxDQUtILEVBQUUsRUExRE4sQUEwRFEsUUExREEsQ0FxRE4sS0FBSyxDQUtDLEVBQUUsRUExRFYsQUEwRFksUUExREosQ0FxRE4sS0FBSyxDQUtLLEVBQUUsRUExRGQsQUEwRGdCLFFBMURSLENBcUROLEtBQUssQ0FLUyxFQUFFLEVBMURsQixBQTBEb0IsUUExRFosQ0FxRE4sS0FBSyxDQUthLENBQUMsRUExRHJCLEFBMER1QixRQTFEZixDQXFETixLQUFLLENBS2dCLElBQUksQ0FBQztNQUN0QixTQUFTLEVqQzFIVCxTQUFVO01pQzJIVixXQUFXLEVqQzNIWCxTQUFVO01pQzRIVixNQUFNLEVBQUUsQ0FBRSxHQVNYO01BdEVMLEFBK0RNLFFBL0RFLENBcUROLEtBQUssQ0FLSCxFQUFFLENBS0EsQ0FBQyxFQS9EUCxBQStETSxRQS9ERSxDQXFETixLQUFLLENBS0MsRUFBRSxDQUtKLENBQUMsRUEvRFAsQUErRE0sUUEvREUsQ0FxRE4sS0FBSyxDQUtLLEVBQUUsQ0FLUixDQUFDLEVBL0RQLEFBK0RNLFFBL0RFLENBcUROLEtBQUssQ0FLUyxFQUFFLENBS1osQ0FBQyxFQS9EUCxBQStETSxRQS9ERSxDQXFETixLQUFLLENBS2EsQ0FBQyxDQUtmLENBQUMsRUEvRFAsQUErRE0sUUEvREUsQ0FxRE4sS0FBSyxDQUtnQixJQUFJLENBS3JCLENBQUMsQ0FBQztRQUNBLEtBQUssRWxDc0VBLE9BQU87UWtDckVaLE9BQU8sRUFBRSxLQUFNO1FBQ2YsV0FBVyxFdENwSUYsTUFBTTtRc0NxSWYsT0FBTyxFQUFFLENBQUMsQ0FyTEMsU0FBYztRQXNMekIsS0FBSyxFQUFFLEdBQUksR0FDWjtFQXJFUCxBQTBFRSxRQTFFTSxDQTBFTixjQUFjLENBQUM7SUFDYixRQUFRLEVBQUUsUUFBUztJQUNuQixLQUE2QixFQUFFLENBQUU7SUFDakMsR0FBRyxFQUFFLENBQUUsR0FnQ1I7SUE3R0gsQUErRUksUUEvRUksQ0EwRU4sY0FBYyxDQUtaLENBQUMsQ0FBQztNQUNBLEtBQUssRWxDc0RFLE9BQU87TWtDckRkLE9BQU8sRUFBRSxLQUFNO01BQ2YsU0FBUyxFakNqSlQsU0FBVTtNaUNrSlYsV0FBVyxFdENwSkYsSUFBSTtNc0NxSmIsTUFBTSxFakNuSk4sU0FBVTtNaUNvSlYsV0FBVyxFakNwSlgsU0FBVTtNaUNxSlYsT0FBTyxFQUFFLENBQUMsQ0F4TUcsU0FBYztNQXlNM0IsUUFBUSxFQUFFLFFBQVM7TUFDbkIsY0FBYyxFQWxMSyxTQUFTLEdBbUw3QjtJQXpGTCxBQTBFRSxRQTFFTSxDQTBFTixjQUFjLEFBa0JYLFVBQVUsQ0FBQztNQUNWLFVBQVUsRUFBRSxLQUFNO01BQ2xCLEdBQUcsRUFBRSxHQUFJLEdBY1Y7TUE1R0wsQUFnR00sUUFoR0UsQ0EwRU4sY0FBYyxBQWtCWCxVQUFVLENBSVQsQ0FBQyxDQUFDO1FBTUEsS0FBSyxFbENnQ0EsT0FBTztRa0MvQlosTUFBTSxFQUFFLElBQUs7UUFDYixXQUFXLEVBQUUsSUFBSztRQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQW9CLENBQWMsQ0FBQyxDQTNObkMsU0FBYztRQTROekIsUUFBUSxFQUFFLFFBQVMsR0FDcEI7UUEzR1AsQWxDd0NFLFFrQ3hDTSxDQTBFTixjQUFjLEFBa0JYLFVBQVUsQ0FJVCxDQUFDLENsQ3hEVCxJQUFJLEFBQUEsT0FBTyxDQUFDO1VBQ1YsT0FBTyxFQUFFLEVBQUc7VUFDWixPQUFPLEVBQUUsS0FBTTtVQUNmLE1BQU0sRUFBRSxDQUFFO1VBQ1YsUUFBUSxFQUFFLFFBQVM7VUFrQmpCLFVBQVUsRUFBSSxJQUFNO1VBQ3BCLEdBQUcsRUFBRSxHQUFJO1VBQ1QsS0FBc0IsRWtDbExMLFNBQWM7VWxDcUxqQyxVQUFVLEVBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENrQzZCb0MsR0FBRyxDbENxQ2pDLE9BQU8sRUFqRWxCLENBQUMsQ0FBQyxHQUFJLENBQWMsQ0FBQyxDa0M0Qm9CLEdBQUcsQ2xDcUNqQyxPQUFPLEVBaEVsQixDQUFDLENBQUUsSUFBQyxDQUF3QixDQUFDLENrQzJCWSxHQUFHLENsQ3FDakMsT0FBTztVQS9EcEIsS0FBSyxFa0MwQnNCLElBQUksR2xDekJoQztRa0N4RUMsQWxDeUVRLFFrQ3pFQSxDQTBFTixjQUFjLEFBa0JYLFVBQVUsQ0FJVCxDQUFDLENsQ3ZCVCxJQUFJLEFBQUEsTUFBTSxBQUFBLE1BQU0sQ0FBQztVQUNmLFVBQVUsRUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2tDc0JvQyxHQUFHLENBQWdDLEVBQUUsRWxDckI5RSxDQUFDLENBQUMsR0FBSSxDQUFjLENBQUMsQ2tDcUJvQixHQUFHLENBQWdDLEVBQUUsRWxDcEI5RSxDQUFDLENBQUUsSUFBQyxDQUF3QixDQUFDLENrQ29CWSxHQUFHLENBQWdDLEVBQUUsR2xDbkJqRjtFa0M5RUMsQUFBQSxRQUFRLEFBZ0hMLFNBQVMsQ0FBQztJQUNULFVBQVUsRUFBRSxXQUFZO0lBQ3hCLE1BQU0sRUFBRSxJQUFLLEdBa0NkO0lBcEpILEFBb0hJLFFBcEhJLEFBZ0hMLFNBQVMsQ0FJUixXQUFXLENBQUM7TUFDVixVQUFVLEVsQ2lDSCxPQUFPLEdrQ2hDZjtJQXRITCxBQXlITSxRQXpIRSxBQWdITCxTQUFTLENBUVIsY0FBYyxDQUNaLENBQUMsQ0FBQztNQUNBLEtBQUssRWxDdUJBLE9BQU8sR2tDZGI7TUFuSVAsQUE0SFksUUE1SEosQUFnSEwsU0FBUyxDQVFSLGNBQWMsQ0FDWixDQUFDLENBR0MsSUFBSSxBQUFBLE9BQU8sQ0FBQztRQUdWLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENsQ2tCbEIsT0FBTyxFa0NqQkUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDbENpQnBCLE9BQU8sRWtDaEJFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2xDZ0JyQixPQUFPLEdrQ2ZYO0lBS0wsTUFBTSxDQUFOLE1BQU0sTUFBTSw4QkFBQyxFQUErQixDQUFDO01BdklqRCxBQXlJOEIsUUF6SXRCLEFBZ0hMLFNBQVMsQ0F3Qk4sZ0JBQWdCLENBQ2QsYUFBYSxBQUFBLE1BQU0sR0FBRyxTQUFTO01Bekl2QyxBQTBJUSxRQTFJQSxBQWdITCxTQUFTLENBd0JOLGdCQUFnQixDQUVkLFNBQVMsQ0FBQztRQUNSLElBQUksRUFBRSxPQUFRLEdBQ2Y7TUE1SVQsQUErSW9DLFFBL0k1QixBQWdITCxTQUFTLENBd0JOLGdCQUFnQixDQU9kLGFBQWEsQUFBQSxJQUFLLENBQUEsQUFBQSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQzdCLE9BQU8sRUFBRSxDQUFFLEdBQ1o7O0FBT1QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLElBQWlCLEVBQUUsQ0FBRTtFQUNyQixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsSUFBSztFbEN6S2hCLFVBQVUsRUF3TU0sSUFBSSxDa0MxUUksS0FBSyxDbENGNkIsUUFBUSxHa0MyWi9EO0VBakxELEFBTUUsZ0JBTmMsQ0FNZCxFQUFFLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBTTtJQUNmLFNBQVMsRXJDdFROLElBQUk7SXFDdVRQLE1BQU0sRUFBRSxJQUFLO0lBQ2IsTUFBTSxFQUFFLENBQUU7SUFDVixPQUFPLEVBQUUsQ0FBRTtJQUNYLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUFiSCxBQWVFLGdCQWZjLENBZWQsUUFBUTtFQWZWLEFBZ0JtQixnQkFoQkgsRUFnQmQsQUFBQSxJQUFDLENBQUssV0FBVyxBQUFoQixFQUFrQjtJQUNqQixVQUFVLEVBL09VLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBVztJQWdQekMsS0FBSyxFQUFFLElBQUs7SUFDWixNQUFNLEVBQUUsR0FBSTtJQUNaLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUFyQkgsQUF1QkssZ0JBdkJXLENBdUJkLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDTixVQUFVLEVsQzFCQyxPQUFPLEdrQ3NGakI7SUFwRkgsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxDQUFDO01BQ0YsS0FBSyxFbEM3Q0UsT0FBTztNa0M4Q2QsT0FBTyxFQUFFLEtBQU07TUFDZixXQUFXLEVsQ2xCSSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVO01rQ21CckUsU0FBUyxFakNyUFQsU0FBVTtNaUNzUFYsV0FBVyxFdEN6UEEsTUFBTTtNc0MwUGpCLFlBQXlCLEVBMVNaLFNBQWM7TUEyUzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0EzU1AsU0FBYztNQTRTM0IsY0FBYyxFQTdTSyxJQUFJO01BOFN2QixLQUFLLEVBQUUsSUFBSyxHQWNiO01BakRMLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFXQSxPQUFPLENBQUM7UUFDUCxTQUFTLEVqQzdQWCxTQUFVO1FpQzhQUixZQUF5QixFQWpUZCxTQUFjO1FBa1R6QixhQUE4QixFQWxUbkIsU0FBYztRM0J1SGpDLGdCQUFnQixFWDFESixPQUFPO1FXMkRuQixZQUFZLEVBMUhFLE9BQVc7UUErSHpCLEtBQUssRVAySFEsT0FBTyxHa0M0RGI7UUExQ1AsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQVdBLE9BQU8sQTNCdExiLE1BQU0sRTJCaUpQLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFXQSxPQUFPLEEzQnJMYixNQUFNLENBQUM7VUFBRSxnQkFBZ0IsRUE1SFosT0FBVyxHQTRIZ0I7UTJCZ0p6QyxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBV0EsT0FBTyxBM0JoTGIsTUFBTSxFMkIySVAsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQVdBLE9BQU8sQTNCL0tiLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFrQkEsT0FBTyxBQUFBLFVBQVUsQ0FBQztRM0IvTHpCLGdCQUFnQixFWHpERixPQUFPO1FXMERyQixZQUFZLEVBUnVELE9BQVc7UUFhOUUsS0FBSyxFUDJJUSxPQUFPLEdrQzhDc0Q7UUE1QzFFLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFrQkEsT0FBTyxBQUFBLFVBQVUsQTNCN0x2QixNQUFNLEUyQmlKUCxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBa0JBLE9BQU8sQUFBQSxVQUFVLEEzQjVMdkIsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBa0JBLE9BQU8sQUFBQSxVQUFVLEEzQnZMdkIsTUFBTSxFMkIySVAsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQWtCQSxPQUFPLEFBQUEsVUFBVSxBM0J0THZCLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SU0sT0FBTyxHT3RJbkI7TTJCd0lELEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFtQkEsT0FBTyxBQUFBLFFBQVEsQ0FBQztRM0JoTXZCLGdCQUFnQixFUHlKSixPQUFPO1FPeEpuQixZQUFZLEVBUnVELE9BQVc7UUFhOUUsS0FBSyxFUDJIUSxPQUFPLEdrQytEa0Q7UUE3Q3RFLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFtQkEsT0FBTyxBQUFBLFFBQVEsQTNCOUxyQixNQUFNLEUyQmlKUCxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBbUJBLE9BQU8sQUFBQSxRQUFRLEEzQjdMckIsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBbUJBLE9BQU8sQUFBQSxRQUFRLEEzQnhMckIsTUFBTSxFMkIySVAsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQW1CQSxPQUFPLEFBQUEsUUFBUSxBM0J2THJCLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFvQkEsT0FBTyxBQUFBLE1BQU0sQ0FBQztRM0JqTXJCLGdCQUFnQixFUHdKTixPQUFPO1FPdkpqQixZQUFZLEVBUnVELE9BQVc7UUFhOUUsS0FBSyxFUDJIUSxPQUFPLEdrQ2dFOEM7UUE5Q2xFLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFvQkEsT0FBTyxBQUFBLE1BQU0sQTNCL0xuQixNQUFNLEUyQmlKUCxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBb0JBLE9BQU8sQUFBQSxNQUFNLEEzQjlMbkIsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBb0JBLE9BQU8sQUFBQSxNQUFNLEEzQnpMbkIsTUFBTSxFMkIySVAsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQW9CQSxPQUFPLEFBQUEsTUFBTSxBM0J4TG5CLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFxQkEsT0FBTyxBQUFBLFFBQVEsQ0FBQztRM0JsTXZCLGdCQUFnQixFUDBKSixPQUFPO1FPekpuQixZQUFZLEVBUnVELE9BQVc7UUFhOUUsS0FBSyxFUDJIUSxPQUFPLEdrQ2lFa0Q7UUEvQ3RFLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFxQkEsT0FBTyxBQUFBLFFBQVEsQTNCaE1yQixNQUFNLEUyQmlKUCxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBcUJBLE9BQU8sQUFBQSxRQUFRLEEzQi9MckIsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBcUJBLE9BQU8sQUFBQSxRQUFRLEEzQjFMckIsTUFBTSxFMkIySVAsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQXFCQSxPQUFPLEFBQUEsUUFBUSxBM0J6THJCLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFzQkEsT0FBTyxBQUFBLEtBQUssQ0FBQztRM0JuTXBCLGdCQUFnQixFUDJKUCxPQUFPO1FPMUpoQixZQUFZLEVBUnVELE9BQVc7UUFhOUUsS0FBSyxFUDJJUSxPQUFPLEdrQ2tENEM7UUFoRGhFLEFBMEJNLGdCQTFCVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQUdELENBQUMsQUFzQkEsT0FBTyxBQUFBLEtBQUssQTNCak1sQixNQUFNLEUyQmlKUCxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBc0JBLE9BQU8sQUFBQSxLQUFLLEEzQmhNbEIsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQTBCTSxnQkExQlUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0FHRCxDQUFDLEFBc0JBLE9BQU8sQUFBQSxLQUFLLEEzQjNMbEIsTUFBTSxFMkIySVAsQUEwQk0sZ0JBMUJVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBR0QsQ0FBQyxBQXNCQSxPQUFPLEFBQUEsS0FBSyxBM0IxTGxCLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7STJCd0lELEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLENBQUM7TUFDUCxTQUFTLEVqQzNRVCxTQUFVO01pQzRRVixZQUF5QixFQS9UWixTQUFjO01BZ1UzQixhQUE4QixFQWhVakIsU0FBYztNM0J1SGpDLGdCQUFnQixFWDFESixPQUFPO01XMkRuQixZQUFZLEVBMUhFLE9BQVc7TUErSHpCLEtBQUssRVAySFEsT0FBTyxHa0NnRmY7TUE5REwsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQTNCcE1YLE1BQU0sRTJCaUpQLEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEEzQm5NWCxNQUFNLENBQUM7UUFBRSxnQkFBZ0IsRUE1SFosT0FBVyxHQTRIZ0I7TTJCZ0p6QyxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBM0I5TFgsTUFBTSxFMkIySVAsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQTNCN0xYLE1BQU0sQ0FBQztRQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBTUwsVUFBVSxDQUFDO1EzQjVNbEIsZ0JBQWdCLEVYekRGLE9BQU87UVcwRHJCLFlBQVksRUFSdUQsT0FBVztRQWE5RSxLQUFLLEVQMklRLE9BQU8sR2tDMkQrQztRQXpEbkUsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFNTCxVQUFVLEEzQjFNaEIsTUFBTSxFMkJpSlAsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFNTCxVQUFVLEEzQnpNaEIsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQU1MLFVBQVUsQTNCcE1oQixNQUFNLEUyQjJJUCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQU1MLFVBQVUsQTNCbk1oQixNQUFNLENBQUM7VUFDTixLQUFLLEVQdUlNLE9BQU8sR090SW5CO00yQndJRCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQU9MLFFBQVEsQ0FBQztRM0I3TWhCLGdCQUFnQixFUHlKSixPQUFPO1FPeEpuQixZQUFZLEVBUnVELE9BQVc7UUFhOUUsS0FBSyxFUDJIUSxPQUFPLEdrQzRFMkM7UUExRC9ELEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBT0wsUUFBUSxBM0IzTWQsTUFBTSxFMkJpSlAsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFPTCxRQUFRLEEzQjFNZCxNQUFNLENBQUM7VUFBRSxnQkFBZ0IsRUFkaUMsT0FBVyxHQWM3QjtRMkJnSnpDLEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBT0wsUUFBUSxBM0JyTWQsTUFBTSxFMkIySVAsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFPTCxRQUFRLEEzQnBNZCxNQUFNLENBQUM7VUFDTixLQUFLLEVQdUhNLE9BQU8sR090SG5CO00yQndJRCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVFMLE1BQU0sQ0FBQztRM0I5TWQsZ0JBQWdCLEVQd0pOLE9BQU87UU92SmpCLFlBQVksRUFSdUQsT0FBVztRQWE5RSxLQUFLLEVQMkhRLE9BQU8sR2tDNkV1QztRQTNEM0QsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFRTCxNQUFNLEEzQjVNWixNQUFNLEUyQmlKUCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVFMLE1BQU0sQTNCM01aLE1BQU0sQ0FBQztVQUFFLGdCQUFnQixFQWRpQyxPQUFXLEdBYzdCO1EyQmdKekMsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFRTCxNQUFNLEEzQnRNWixNQUFNLEUyQjJJUCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVFMLE1BQU0sQTNCck1aLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBU0wsUUFBUSxDQUFDO1EzQi9NaEIsZ0JBQWdCLEVQMEpKLE9BQU87UU96Sm5CLFlBQVksRUFSdUQsT0FBVztRQWE5RSxLQUFLLEVQMkhRLE9BQU8sR2tDOEUyQztRQTVEL0QsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFTTCxRQUFRLEEzQjdNZCxNQUFNLEUyQmlKUCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVNMLFFBQVEsQTNCNU1kLE1BQU0sQ0FBQztVQUFFLGdCQUFnQixFQWRpQyxPQUFXLEdBYzdCO1EyQmdKekMsQUFtRE0sZ0JBbkRVLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEdBNEJELE1BQU0sQUFTTCxRQUFRLEEzQnZNZCxNQUFNLEUyQjJJUCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVNMLFFBQVEsQTNCdE1kLE1BQU0sQ0FBQztVQUNOLEtBQUssRVB1SE0sT0FBTyxHT3RIbkI7TTJCd0lELEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBVUwsS0FBSyxDQUFDO1EzQmhOYixnQkFBZ0IsRVAySlAsT0FBTztRTzFKaEIsWUFBWSxFQVJ1RCxPQUFXO1FBYTlFLEtBQUssRVAySVEsT0FBTyxHa0MrRHFDO1FBN0R6RCxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVVMLEtBQUssQTNCOU1YLE1BQU0sRTJCaUpQLEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBVUwsS0FBSyxBM0I3TVgsTUFBTSxDQUFDO1VBQUUsZ0JBQWdCLEVBZGlDLE9BQVcsR0FjN0I7UTJCZ0p6QyxBQW1ETSxnQkFuRFUsQ0F1QmQsRUFBRSxDQUFDLEVBQUUsR0E0QkQsTUFBTSxBQVVMLEtBQUssQTNCeE1YLE1BQU0sRTJCMklQLEFBbURNLGdCQW5EVSxDQXVCZCxFQUFFLENBQUMsRUFBRSxHQTRCRCxNQUFNLEFBVUwsS0FBSyxBM0J2TVgsTUFBTSxDQUFDO1VBQ04sS0FBSyxFUHVITSxPQUFPLEdPdEhuQjtJMkJ3SUQsQUFpRTZCLGdCQWpFYixDQXVCZCxFQUFFLENBQUMsRUFBRSxBQTBDRixNQUFNLEFBQUEsSUFBSyxDQUFBLEFBQUEsU0FBUyxJQUFJLENBQUMsQ0FBQztNQUN6QixnQkFBZ0IsRWxDdEVULE9BQU87TWtDdUVkLEtBQUssRWxDckZFLE9BQU87TWtDd0ZaLFVBQVUsRWxDdkVMLE9BQU8sR2tDeUVmO0lBeEVMLEFBMkVlLGdCQTNFQyxDQXVCZCxFQUFFLENBQUMsRUFBRSxBQW9ERixPQUFPLEdBQUcsQ0FBQyxDQUFDO01BQ1gsVUFBVSxFdEN6UkosT0FBTztNc0MwUmIsS0FBSyxFbEMvRkUsT0FBTyxHa0NxR2Y7TUFuRkwsQUEyRWUsZ0JBM0VDLENBdUJkLEVBQUUsQ0FBQyxFQUFFLEFBb0RGLE9BQU8sR0FBRyxDQUFDLEFBSVQsTUFBTSxDQUFDO1FBQ04sVUFBVSxFQTdWUSxPQUFXO1FBOFY3QixLQUFLLEVsQ25HQSxPQUFPLEdrQ29HYjtFQWxGUCxBQXVGRSxnQkF2RmMsQ0F1RmQsU0FBUyxDQUFDO0lBQ1IsT0FBTyxFQWxXUSxTQUFjLEdBbVc5QjtFQXpGSCxBQTRGRSxnQkE1RmMsQ0E0RmQsYUFBYSxDQUFDO0lBQ1osUUFBUSxFQUFFLFFBQVMsR0E0QnBCO0lBekhILEFBK0ZNLGdCQS9GVSxDQTRGZCxhQUFhLEdBR1QsQ0FBQyxBQUNBLE1BQU0sQ0FBQztNbENuUGhCLE1BQU0sRUFBRSxLQUFLLENrQzFHZSxHQUFHO01sQzJHL0IsT0FBTyxFQUFFLEVBQUc7TUFDWixPQUFPLEVBQUUsS0FBTTtNQUNmLE1BQU0sRUFBRSxDQUFFO01BQ1YsS0FBSyxFQUFFLENBQUU7TUFVUCxZQUFZLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBbUhwQyx3QkFBTztNQWxIcEIsaUJBQWlCLEVBQUUsS0FBTTtNa0N5T2pCLFlBQTZCLEVBL1dsQixTQUFjO01BZ1h6QixVQUFVLEVBQUUsTUFBQztNQUNiLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBRSxHQUFJO01BQ1QsS0FBc0IsRUFBRSxDQUFFLEdBQzNCO0lBMUdQLEFBNEZFLGdCQTVGYyxDQTRGZCxhQUFhLEFBaUJWLE1BQU0sQ0FBQztNQUNOLFFBQVEsRUFBRSxNQUFPLEdBVWxCO01BeEhMLEFBZ0hRLGdCQWhIUSxDQTRGZCxhQUFhLEFBaUJWLE1BQU0sR0FHSCxTQUFTLENBQUM7UWxDeklwQixRQUFRLEVBQUUsaUJBQWtCO1FBQzVCLE1BQU0sRUFBRSxJQUFLO1FBQ2IsS0FBSyxFQUFFLElBQUs7UUFDWixRQUFRLEVBQUUsT0FBUTtRQUNsQixJQUFJLEVBQUUsSUFBSztRa0N6TFgsT0FBTyxFQUFFLEtBQU07UUFDZixRQUFRLEVBQUUsbUJBQW9CO1FBK1RwQixLQUFLLEVBQUUsSUFBSyxHQUNiO01BbkhQLEFBcUhTLGdCQXJITyxDQTRGZCxhQUFhLEFBaUJWLE1BQU0sR0FRSCxDQUFDLEFBQUEsTUFBTSxDQUFDO1FBQ1IsT0FBTyxFQUFFLElBQUssR0FDZjtFQXZIUCxBQTRIRSxnQkE1SGMsQ0E0SGQsU0FBUyxDQUFDO0lsQ2hLZCxJQUFJLEVBQUUsd0JBQUk7SUFDVixNQUFNLEVBQUUsR0FBSTtJQUNaLFFBQVEsRUFBRSxNQUFPO0lBQ2pCLFFBQVEsRUFBRSxtQkFBb0I7SUFDOUIsS0FBSyxFQUFFLEdBQUk7SWtDbkxYLE9BQU8sRUFBRSxLQUFNO0lBaVZULE9BQU8sRUFBRSxDQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLENBQUU7SUFDUCxPQUFPLEVBQUUsRUFBRztJQUNaLElBQWlCLEVBQUUsSUFBSyxHQThDekI7SUFoTEgsQUFvSUksZ0JBcElZLENBNEhkLFNBQVMsQ0FRUCxFQUFFLENBQUM7TUFDRCxNQUFNLEVBQUUsSUFBSztNQUNiLEtBQUssRUFBRSxJQUFLLEdBZ0NiO01BdEtMLEFBd0lNLGdCQXhJVSxDQTRIZCxTQUFTLENBUVAsRUFBRSxDQUlBLENBQUMsQ0FBQztRQUNBLFdBQVcsRXRDbldGLE1BQU07UXNDb1dmLE9BQU8sRUFBRSxHQUFHLENBcFpELFNBQWMsR0F3WjFCO1FBOUlQLEFBd0lNLGdCQXhJVSxDQTRIZCxTQUFTLENBUVAsRUFBRSxDQUlBLENBQUMsQUFHRSxZQUFZLENBQUM7VUFDWixXQUFXLEV0Q3RXSixNQUFNLEdzQ3VXZDtNQTdJVCxBQWdKYyxnQkFoSkUsQ0E0SGQsU0FBUyxDQVFQLEVBQUUsQUFZQyxNQUFNLENBQUMsRUFBRSxFQWhKaEIsQUFvSUksZ0JBcElZLENBNEhkLFNBQVMsQ0FRUCxFQUFFLEFBYUMsWUFBWSxDQUFDO1FBRVosYUFBYSxFQUFFLENBQUU7UUFDakIsVUFBVSxFQUFFLENBQUU7UUFDZCxTQUFTLEVqQzVXWCxRQUFVLEdpQ21YVDtRQTVKUCxBQXNKUSxnQkF0SlEsQ0E0SGQsU0FBUyxDQVFQLEVBQUUsQUFZQyxNQUFNLENBQUMsRUFBRSxDQU1SLENBQUMsRUF0SlQsQUFzSlEsZ0JBdEpRLENBNEhkLFNBQVMsQ0FRUCxFQUFFLEFBYUMsWUFBWSxDQUtYLENBQUMsQ0FBQztVQUNBLEtBQUssRWxDektGLE9BQU87VWtDMktWLE9BQU8sRUFBRSxLQUFNLEdBRWhCO1VBM0pULEFBc0pRLGdCQXRKUSxDQTRIZCxTQUFTLENBUVAsRUFBRSxBQVlDLE1BQU0sQ0FBQyxFQUFFLENBTVIsQ0FBQyxBQUlFLE1BQU0sRUExSmpCLEFBc0pRLGdCQXRKUSxDQTRIZCxTQUFTLENBUVAsRUFBRSxBQWFDLFlBQVksQ0FLWCxDQUFDLEFBSUUsTUFBTSxDQUFDO1lBQUUsVUFBVSxFQUFDLElBQUssR0FBSTtNQTFKeEMsQUFvSUksZ0JBcElZLENBNEhkLFNBQVMsQ0FRUCxFQUFFLEFBMEJDLFNBQVMsQ0FBQztRQUNULE9BQU8sRUFBRSxHQUFHLENBemFELFNBQWMsR0EwYTFCO01BaEtQLEFBa0tNLGdCQWxLVSxDQTRIZCxTQUFTLENBUVAsRUFBRSxDQThCQSxPQUFPO01BbEtiLEFBbUtNLGdCQW5LVSxDQTRIZCxTQUFTLENBUVAsRUFBRSxDQStCQSxNQUFNLENBQUM7UUFDTCxHQUFHLEVBQUUsSUFBSyxHQUNYO0lBcktQLEFBd0tJLGdCQXhLWSxDQTRIZCxTQUFTLENBNENQLEtBQUssQ0FBQztNQUNKLEtBQUssRWxDL0tFLE9BQU87TWtDZ0xkLFNBQVMsRWpDallULFFBQVU7TWlDa1lWLFdBQVcsRXRDcFlGLElBQUk7TXNDcVliLGFBQWEsRUFBRSxDQUFFO01BQ2pCLE9BQU8sRUFBRSxHQUFHLENBdmJDLFNBQWMsQ0F1Yk8sR0FBRztNQUNyQyxjQUFjLEVBdGFlLFNBQVMsR0F1YXZDOztBQUlMLEFBQUEsYUFBYSxDQUFDO0VBQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTs7QUFJbkMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtFQUNqQyxBQUFBLFFBQVEsQ0FBQztJQUVQLFVBQVUsRWxDNUxELE9BQU87SWtDNkxoQixRQUFRLEVBQUUsT0FBUSxHQWlDbkI7SUFwQ0QsQUFBQSxRQUFRLEFsQzdQWCxPQUFPLEVrQzZQSixBQUFBLFFBQVEsQWxDN1BELE1BQU0sQ0FBQztNQUFFLE9BQU8sRUFBRSxHQUFJO01BQUUsT0FBTyxFQUFFLEtBQU0sR0FBSTtJa0M2UGxELEFBQUEsUUFBUSxBbEM1UFgsTUFBTSxDQUFDO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJa0M0UHRCLEFBS0UsUUFMTSxDQUtOLGNBQWMsQ0FBQztNQUFFLE9BQU8sRUFBRSxJQUFLLEdBQUk7SUFMckMsQUFPRSxRQVBNLENBT04sV0FBVyxDQUFDO01BQUUsS0FBSyxFbEM3SlQsSUFBSSxHa0M2SnlCO0lBUHpDLEFBUVcsUUFSSCxDQVFOLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVJaLEFBU1csUUFUSCxDQVNOLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVRaLEFBVVcsUUFWSCxDQVVOLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVZaLEFBV1csUUFYSCxDQVdOLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVhaLEFBWVcsUUFaSCxDQVlOLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVpaLEFBYVcsUUFiSCxDQWFOLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO01BQUUsS0FBSyxFQUFFLElBQUssR0FBSTtJQWIvQixBQWVFLFFBZk0sQ0FlTixLQUFLO0lBZlAsQUFnQkUsUUFoQk0sQ0FnQk4sTUFBTTtJQWhCUixBQWlCRSxRQWpCTSxDQWlCTixPQUFPO0lBakJULEFBa0JFLFFBbEJNLENBa0JOLE1BQU0sQ0FBQztNQUNMLFNBQVMsRWpDbGFULFFBQVU7TWlDbWFWLE1BQU0sRWpDbmFOLE9BQVU7TWlDb2FWLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBSSxVQUFjLEdBQ3RCO0lBdkJILEFBeUJjLFFBekJOLENBeUJOLFNBQVMsR0FBRyxPQUFPO0lBekJyQixBQTBCYyxRQTFCTixDQTBCTixTQUFTLEdBQUcsTUFBTSxDQUFDO01BQ2pCLFNBQVMsRWpDMWFULFFBQVU7TWlDMmFWLE1BQU0sRWpDM2FOLE9BQVU7TWlDNGFWLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBSSxVQUFjLEdBQ3RCO0lBL0JILEFBQUEsUUFBUSxBQWlDTCxTQUFTLENBQUM7TUFDVCxVQUFVLEVsQzVOSCxPQUFPLEdrQzZOZjtFQUdILEFBQWlCLGdCQUFELENBQUMsUUFBUSxDQUFDO0lBQ3hCLE1BQU0sRUFBRSxNQUFPO0lBQ2YsYUFBYSxFQS9mRSxDQUFDO0lBZ2dCaEIsU0FBUyxFckN4YlAsU0FBVSxHcUN5YmI7RUFFRCxBQUFBLGdCQUFnQixDQUFDO0lsQzFZckIsVUFBVSxFa0MyWXVCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFpQixFQUFFLFlBQWEsR0EyS2pDO0lBN0tELEFBSUUsZ0JBSmMsQ0FJZCxFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsTUFBTztNQUNoQixNQUFNLEVBQUUsZUFBZ0I7TUFDeEIsS0FBSyxFQUFFLElBQUssR0FNYjtNQWJILEFBU0ksZ0JBVFksQ0FJZCxFQUFFLENBS0EsRUFBRSxDQUFDO1FBQ0QsS0FBSyxFbEM1TUMsSUFBSSxHa0M4TVg7UUFaTCxBQVdNLGdCQVhVLENBSWQsRUFBRSxDQUtBLEVBQUUsQ0FFQSxhQUFhLENBQUM7VUFBRSxPQUFPLEVBQUUsSUFBSyxHQUFJO0lBWHhDLEFBaUJxQixnQkFqQkwsQ0FlZCxFQUFFLEFBQ0MsTUFBTSxHQUNILENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxPQUFPLEVBQUU7TUFDZixnQkFBZ0IsRWxDMVBiLE9BQU87TWtDNFBSLFVBQVUsRWxDelBULE9BQU87TWtDMlBWLEtBQUssRWxDNVFGLE9BQU8sR2tDNlFYO0lBdkJQLEFBMkJtQixnQkEzQkgsQ0FlZCxFQUFFLEFBV0MsSUFBSyxDQUFBLEFBQUEsU0FBUyxFQUNiLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxPQUFPLEVBQUU7TUFDYixVQUFVLEVsQ2xRUCxPQUFPO01rQ21RVixXQUFXLEVqQ3hkZixTQUFVO01pQ3lkTixPQUFPLEVBQUUsQ0FBQyxDQTVnQkQsU0FBYyxHQW1oQnhCO01BckNQLEFBMkJtQixnQkEzQkgsQ0FlZCxFQUFFLEFBV0MsSUFBSyxDQUFBLEFBQUEsU0FBUyxFQUNiLENBQUMsQUFBQSxJQUFLLENBQUEsQUFBQSxPQUFPLENBSVYsTUFBTSxDQUFDO1FBQ04sZ0JBQWdCLEVsQ3hRZixPQUFPO1FrQzBRTixVQUFVLEVsQ3ZRWCxPQUFPLEdrQ3lRVDtJQXBDVCxBQXlDbUIsZ0JBekNILENBZWQsRUFBRSxBQXlCQyxPQUFPLEFBQUEsSUFBSyxDQUFBLEFBQUEsU0FBUyxFQUNwQixDQUFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsT0FBTyxFQUFFO01BQ2IsVUFBVSxFdEMzZFIsT0FBTztNc0M0ZFQsS0FBSyxFbENqU0YsT0FBTztNa0NrU1YsV0FBVyxFakN2ZWYsU0FBVTtNaUN3ZU4sT0FBTyxFQUFFLENBQUMsQ0EzaEJELFNBQWMsR0FnaUJ4QjtNQWxEUCxBQXlDbUIsZ0JBekNILENBZWQsRUFBRSxBQXlCQyxPQUFPLEFBQUEsSUFBSyxDQUFBLEFBQUEsU0FBUyxFQUNwQixDQUFDLEFBQUEsSUFBSyxDQUFBLEFBQUEsT0FBTyxDQUtWLE1BQU0sQ0FBQztRQUNOLFVBQVUsRUFoaUJJLE9BQVc7UUFpaUJ6QixLQUFLLEVsQ3RTSixPQUFPLEdrQ3VTVDtJQWpEVCxBQXdEUSxnQkF4RFEsQ0FzRGQsYUFBYSxHQUVQLENBQUMsQ0FBQztNQUNGLGFBQThCLEVBQVUsU0FBb0IsQ0FBaUMsVUFBVSxHQU14RztNQS9EUCxBQXdEUSxnQkF4RFEsQ0FzRGQsYUFBYSxHQUVQLENBQUMsQUFFQSxNQUFNLENBQUM7UWxDamJwQixNQUFNLEVBQUUsS0FBSyxDa0MxR2UsR0FBRztRbEMyRy9CLE9BQU8sRUFBRSxFQUFHO1FBQ1osT0FBTyxFQUFFLEtBQU07UUFDZixNQUFNLEVBQUUsQ0FBRTtRQUNWLEtBQUssRUFBRSxDQUFFO1FBRVAsWUFBWSxFQTJIQyx3QkFBTyxDQTNIVSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVc7UUFDakUsZ0JBQWdCLEVBQUUsS0FBTTtRa0M0YVosVUFBVSxFQUFJLE1BQTRCO1FBQzFDLEdBQUcsRUFBRyxVQUFjLEdBQ3JCO0lBOURULEFBc0RFLGdCQXREYyxDQXNEZCxhQUFhLEFBWVYsTUFBTSxDQUFDO01BQUUsUUFBUSxFQUFFLFFBQVMsR0FJNUI7TUF0RUwsQUFtRVEsZ0JBbkVRLENBc0RkLGFBQWEsQUFZVixNQUFNLEdBQ0gsU0FBUyxDQUFDO1FsQzNVdEIsSUFBSSxFQUFFLHdCQUFJO1FBQ1YsTUFBTSxFQUFFLEdBQUk7UUFDWixRQUFRLEVBQUUsTUFBTztRQUNqQixRQUFRLEVBQUUsbUJBQW9CO1FBQzlCLEtBQUssRUFBRSxHQUFJO1FrQ25MWCxPQUFPLEVBQUUsS0FBTSxHQTRmSjtJQXJFUCxBQXlFUSxnQkF6RVEsQ0FzRGQsYUFBYSxBQWtCVixNQUFNLEdBQ0gsU0FBUyxFQXpFakIsQUF5RVEsZ0JBekVRLENBc0RkLGFBQWEsQUFrQkQsVUFBVSxBQUFBLE1BQU0sR0FDdEIsU0FBUyxDQUFDO01sQ3RVdEIsUUFBUSxFQUFFLGlCQUFrQjtNQUM1QixNQUFNLEVBQUUsSUFBSztNQUNiLEtBQUssRUFBRSxJQUFLO01BQ1osUUFBUSxFQUFFLE9BQVE7TUFDbEIsSUFBSSxFQUFFLElBQUs7TWtDekxYLE9BQU8sRUFBRSxLQUFNO01BQ2YsUUFBUSxFQUFFLG1CQUFvQixHQTRmbkI7SUEzRVAsQUE4RWdCLGdCQTlFQSxDQXNEZCxhQUFhLEdBd0JULENBQUMsQUFBQSxNQUFNLEdBQUcsU0FBUyxDQUFDO01sQzNVOUIsUUFBUSxFQUFFLGlCQUFrQjtNQUM1QixNQUFNLEVBQUUsSUFBSztNQUNiLEtBQUssRUFBRSxJQUFLO01BQ1osUUFBUSxFQUFFLE9BQVE7TUFDbEIsSUFBSSxFQUFFLElBQUs7TWtDekxYLE9BQU8sRUFBRSxLQUFNO01BQ2YsUUFBUSxFQUFFLG1CQUFvQixHQWlnQnJCO0lBaEZMLEFBbUZRLGdCQW5GUSxDQXNEZCxhQUFhLENBNEJYLFNBQVMsQ0FBQyxFQUFFLEFBQUEsYUFBYSxHQUNyQixDQUFDLEFBRUUsTUFBTSxDQUFDO01BQ04sTUFBTSxFQUFFLElBQUs7TUFDYixPQUFPLEVBQUUsT0FBUTtNQUNqQixHQUFHLEVqQ25oQlgsU0FBVTtNaUNxaEJGLEtBQXNCLEVBQUUsR0FBSSxHQUM3QjtJQTNGWCxBQWlHRSxnQkFqR2MsQ0FpR2QsU0FBUyxDQUFDO01BQ1IsSUFBaUIsRUFBRSxDQUFFO01BQ3JCLFVBQVUsRUFBRSxXQUFZO01BQ3hCLFNBQVMsRUFBRSxJQUFLO01BQ2hCLEdBQUcsRUFBRSxJQUFLLEdBcUNYO01BMUlILEFBd0dNLGdCQXhHVSxDQWlHZCxTQUFTLENBTVAsRUFBRSxDQUNBLENBQUMsQ0FBQztRQUNBLFVBQVUsRWxDL1VQLE9BQU87UWtDZ1ZWLEtBQUssRWxDaFdGLE9BQU87UWtDaVdWLFdBQVcsRWpDdGlCZixTQUFVO1FpQ3VpQk4sT0FBTyxFQUFFLElBQUksQ0ExbEJKLFNBQWM7UUEybEJ2QixXQUFXLEVBQUUsTUFBTyxHQUNyQjtNQTlHUCxBQWlIdUIsZ0JBakhQLENBaUdkLFNBQVMsQ0FNUCxFQUFFLEFBU0MsSUFBSyxDQUFBLEFBQUEsU0FBUyxDQUFDLElBQUssQ0FBQSxBQUFBLE9BQU8sSUFDeEIsQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLE9BQU8sRUFBRTtRQUNmLFVBQVUsRWxDeFZULE9BQU87UWtDeVZSLEtBQUssRWxDeldKLE9BQU8sR2tDMFdUO01BcEhULEFBc0grQixnQkF0SGYsQ0FpR2QsU0FBUyxDQU1QLEVBQUUsQUFTQyxJQUFLLENBQUEsQUFBQSxTQUFTLENBQUMsSUFBSyxDQUFBLEFBQUEsT0FBTyxDQU16QixNQUFNLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0FBQSxBQUFBLE9BQU8sRUFBRTtRQUN2QixnQkFBZ0IsRWxDL1ZmLE9BQU87UWtDZ1dSLEtBQUssRWxDOVdKLE9BQU87UWtDZ1hOLFVBQVUsRWxDL1ZYLE9BQU8sR2tDaVdUO01BNUhULEFBK0hNLGdCQS9IVSxDQWlHZCxTQUFTLENBTVAsRUFBRSxDQXdCQSxLQUFLLENBQUM7UUFDSixVQUFVLEVsQ3RXUCxPQUFPO1FrQ3VXVixXQUFXLEVBQUUsTUFBTyxHQUNyQjtNQWxJUCxBQXFJTSxnQkFySVUsQ0FpR2QsU0FBUyxDQU1QLEVBQUUsQ0E4QkEsU0FBUyxDQUFDO1FBQ1IsSUFBaUIsRUFBRSxJQUFLO1FBQ3hCLEdBQUcsRUFBRSxDQUFFLEdBQ1I7SUF4SVAsQUE0SVMsZ0JBNUlPLEdBNElaLEVBQUUsR0FBRyxRQUFRO0lBNUlqQixBQTZJMEIsZ0JBN0lWLEdBNklaLEVBQUUsSUFBRyxBQUFBLElBQUMsQ0FBSyxXQUFXLEFBQWhCLEVBQWtCO01BQ3hCLFlBQTZCLEVBamxCUixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQVc7TUFrbEIxQyxhQUFhLEVBQUUsSUFBSztNQUNwQixVQUFVLEVBQUUsSUFBSztNQUNqQixLQUFLLEVBQUUsSUFBSztNQUNaLE1BQU0sRWpDN2tCTixTQUFVO01pQzhrQlYsS0FBSyxFQUFFLENBQUUsR0FDVjtJQXBKSCxBQXNKRSxnQkF0SmMsQ0FzSmQsU0FBUyxDQUFDO01BQ1IsVUFBVSxFbEM3WEgsT0FBTztNa0M4WGQsTUFBTSxFakNubEJOLFNBQVU7TWlDb2xCVixPQUFPLEVBQUUsQ0FBQyxDQXZvQkcsU0FBYyxHQXdvQjVCO0lBMUpILEFBOEpPLGdCQTlKUyxDQTZKZCxNQUFNLENBQ0osRUFBRSxDQUFDLFNBQVMsQ0FBQztNQUNYLElBQWlCLEVBQUUsSUFBSztNQUN4QixLQUFzQixFQUFFLENBQUUsR0FHM0I7TUFuS0wsQUFrS1MsZ0JBbEtPLENBNkpkLE1BQU0sQ0FDSixFQUFFLENBQUMsU0FBUyxDQUlWLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFBRSxLQUFzQixFQUFFLElBQUssR0FBSTtJQWxLdEQsQUFzS08sZ0JBdEtTLENBcUtkLEtBQUssQ0FDSCxFQUFFLENBQUMsU0FBUyxDQUFDO01BQ1gsS0FBc0IsRUFBRSxJQUFLO01BQzdCLElBQWlCLEVBQUUsQ0FBRSxHQUd0QjtNQTNLTCxBQTBLUyxnQkExS08sQ0FxS2QsS0FBSyxDQUNILEVBQUUsQ0FBQyxTQUFTLENBSVYsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUFFLElBQWlCLEVBQUUsSUFBSyxHQUFJO0VBT2pELEFBR2MsTUFIUixDQUFDLGdCQUFnQixDQUNyQixFQUFFLENBQUMsRUFBRSxBQUVGLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDVixnQkFBZ0IsRWxDN1pYLE9BQU87SWtDK1pWLFVBQVUsRWxDNVpQLE9BQU87SWtDOFpaLEtBQUssRWxDL2FBLE9BQU8sR2tDZ2JiO0VBVEwsQUFZZSxNQVpULENBQUMsZ0JBQWdCLENBQ3JCLEVBQUUsQ0FBQyxFQUFFLEFBV0YsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNYLFVBQVUsRXRDL21CTixPQUFPO0lzQ2duQlgsS0FBSyxFbENyYkEsT0FBTyxHa0NzYmI7RUFmTCxBQW9CUSxNQXBCRixDQUFDLGdCQUFnQixDQWtCckIsYUFBYSxBQUNWLE1BQU0sR0FDSCxTQUFTLENBQUM7SWxDbGN0QixRQUFRLEVBQUUsaUJBQWtCO0lBQzVCLE1BQU0sRUFBRSxJQUFLO0lBQ2IsS0FBSyxFQUFFLElBQUs7SUFDWixRQUFRLEVBQUUsT0FBUTtJQUNsQixJQUFJLEVBQUUsSUFBSztJa0N6TFgsT0FBTyxFQUFFLEtBQU07SUFDZixRQUFRLEVBQUUsbUJBQW9CLEdBd25CbkI7RUF0QlAsQUF5QmdCLE1BekJWLENBQUMsZ0JBQWdCLENBa0JyQixhQUFhLEdBT1QsQ0FBQyxBQUFBLE1BQU0sR0FBRyxTQUFTLENBQUM7SWxDdmM5QixRQUFRLEVBQUUsaUJBQWtCO0lBQzVCLE1BQU0sRUFBRSxJQUFLO0lBQ2IsS0FBSyxFQUFFLElBQUs7SUFDWixRQUFRLEVBQUUsT0FBUTtJQUNsQixJQUFJLEVBQUUsSUFBSztJa0N6TFgsT0FBTyxFQUFFLEtBQU07SUFDZixRQUFRLEVBQUUsbUJBQW9CLEdBNm5CckI7O0FDdGtCVCxBQUFBLFVBQVUsQ0FBSTtFQUFFLFVBQVUsRUFBRSxlQUFnQixHQUFJOztBQUNoRCxBQUFBLFdBQVcsQ0FBRztFQUFFLFVBQVUsRUFBRSxnQkFBaUIsR0FBSTs7QUFDakQsQUFBQSxZQUFZLENBQUU7RUFBRSxVQUFVLEVBQUUsaUJBQWtCLEdBQUk7O0FBQ2xELEFBQUEsYUFBYSxDQUFDO0VBQUUsVUFBVSxFQUFFLGtCQUFtQixHQUFJOztBQUdqRCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VBQzlCLEFBQUEscUJBQXFCLENBQXJCO0lBQUUsVUFBVSxFQUFFLGVBQWdCLEdBQUk7RUFDbEMsQUFBQSxzQkFBc0IsQ0FBdEI7SUFBRSxVQUFVLEVBQUUsZ0JBQWlCLEdBQUk7RUFDbkMsQUFBQSx1QkFBdUIsQ0FBdkI7SUFBRSxVQUFVLEVBQUUsaUJBQWtCLEdBQUk7RUFDcEMsQUFBQSx3QkFBd0IsQ0FBeEI7SUFBRSxVQUFVLEVBQUUsa0JBQW1CLEdBQUk7O0FBSnZDLE1BQU0sTUFBRCxNQUFNO0VBQ1QsQUFBQSxnQkFBZ0IsQ0FBaEI7SUFBRSxVQUFVLEVBQUUsZUFBZ0IsR0FBSTtFQUNsQyxBQUFBLGlCQUFpQixDQUFqQjtJQUFFLFVBQVUsRUFBRSxnQkFBaUIsR0FBSTtFQUNuQyxBQUFBLGtCQUFrQixDQUFsQjtJQUFFLFVBQVUsRUFBRSxpQkFBa0IsR0FBSTtFQUNwQyxBQUFBLG1CQUFtQixDQUFuQjtJQUFFLFVBQVUsRUFBRSxrQkFBbUIsR0FBSTs7QUFKdkMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUSxPQUFPLFNBQVMsRUFBQyxJQUFJO0VBQ3RELEFBQUEsc0JBQXNCLENBQXRCO0lBQUUsVUFBVSxFQUFFLGVBQWdCLEdBQUk7RUFDbEMsQUFBQSx1QkFBdUIsQ0FBdkI7SUFBRSxVQUFVLEVBQUUsZ0JBQWlCLEdBQUk7RUFDbkMsQUFBQSx3QkFBd0IsQ0FBeEI7SUFBRSxVQUFVLEVBQUUsaUJBQWtCLEdBQUk7RUFDcEMsQUFBQSx5QkFBeUIsQ0FBekI7SUFBRSxVQUFVLEVBQUUsa0JBQW1CLEdBQUk7O0FBSnZDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7RUFDakMsQUFBQSxpQkFBaUIsQ0FBakI7SUFBRSxVQUFVLEVBQUUsZUFBZ0IsR0FBSTtFQUNsQyxBQUFBLGtCQUFrQixDQUFsQjtJQUFFLFVBQVUsRUFBRSxnQkFBaUIsR0FBSTtFQUNuQyxBQUFBLG1CQUFtQixDQUFuQjtJQUFFLFVBQVUsRUFBRSxpQkFBa0IsR0FBSTtFQUNwQyxBQUFBLG9CQUFvQixDQUFwQjtJQUFFLFVBQVUsRUFBRSxrQkFBbUIsR0FBSTs7QUFKdkMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUyxPQUFPLFNBQVMsRUFBQyxJQUFJO0VBQ3ZELEFBQUEscUJBQXFCLENBQXJCO0lBQUUsVUFBVSxFQUFFLGVBQWdCLEdBQUk7RUFDbEMsQUFBQSxzQkFBc0IsQ0FBdEI7SUFBRSxVQUFVLEVBQUUsZ0JBQWlCLEdBQUk7RUFDbkMsQUFBQSx1QkFBdUIsQ0FBdkI7SUFBRSxVQUFVLEVBQUUsaUJBQWtCLEdBQUk7RUFDcEMsQUFBQSx3QkFBd0IsQ0FBeEI7SUFBRSxVQUFVLEVBQUUsa0JBQW1CLEdBQUk7O0FBSnZDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7RUFDbEMsQUFBQSxnQkFBZ0IsQ0FBaEI7SUFBRSxVQUFVLEVBQUUsZUFBZ0IsR0FBSTtFQUNsQyxBQUFBLGlCQUFpQixDQUFqQjtJQUFFLFVBQVUsRUFBRSxnQkFBaUIsR0FBSTtFQUNuQyxBQUFBLGtCQUFrQixDQUFsQjtJQUFFLFVBQVUsRUFBRSxpQkFBa0IsR0FBSTtFQUNwQyxBQUFBLG1CQUFtQixDQUFuQjtJQUFFLFVBQVUsRUFBRSxrQkFBbUIsR0FBSTs7QUFKdkMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsU0FBUyxPQUFPLFNBQVMsRUFBQyxLQUFLO0VBQ3hELEFBQUEsc0JBQXNCLENBQXRCO0lBQUUsVUFBVSxFQUFFLGVBQWdCLEdBQUk7RUFDbEMsQUFBQSx1QkFBdUIsQ0FBdkI7SUFBRSxVQUFVLEVBQUUsZ0JBQWlCLEdBQUk7RUFDbkMsQUFBQSx3QkFBd0IsQ0FBeEI7SUFBRSxVQUFVLEVBQUUsaUJBQWtCLEdBQUk7RUFDcEMsQUFBQSx5QkFBeUIsQ0FBekI7SUFBRSxVQUFVLEVBQUUsa0JBQW1CLEdBQUk7O0FBSnZDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFNBQVM7RUFDbEMsQUFBQSxpQkFBaUIsQ0FBakI7SUFBRSxVQUFVLEVBQUUsZUFBZ0IsR0FBSTtFQUNsQyxBQUFBLGtCQUFrQixDQUFsQjtJQUFFLFVBQVUsRUFBRSxnQkFBaUIsR0FBSTtFQUNuQyxBQUFBLG1CQUFtQixDQUFuQjtJQUFFLFVBQVUsRUFBRSxpQkFBa0IsR0FBSTtFQUNwQyxBQUFBLG9CQUFvQixDQUFwQjtJQUFFLFVBQVUsRUFBRSxrQkFBbUIsR0FBSTs7QUFKdkMsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsVUFBVSxPQUFPLFNBQVMsRUFBQyxjQUFjO0VBQ2xFLEFBQUEsdUJBQXVCLENBQXZCO0lBQUUsVUFBVSxFQUFFLGVBQWdCLEdBQUk7RUFDbEMsQUFBQSx3QkFBd0IsQ0FBeEI7SUFBRSxVQUFVLEVBQUUsZ0JBQWlCLEdBQUk7RUFDbkMsQUFBQSx5QkFBeUIsQ0FBekI7SUFBRSxVQUFVLEVBQUUsaUJBQWtCLEdBQUk7RUFDcEMsQUFBQSwwQkFBMEIsQ0FBMUI7SUFBRSxVQUFVLEVBQUUsa0JBQW1CLEdBQUk7O0FBSnZDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFVBQVU7RUFDbkMsQUFBQSxrQkFBa0IsQ0FBbEI7SUFBRSxVQUFVLEVBQUUsZUFBZ0IsR0FBSTtFQUNsQyxBQUFBLG1CQUFtQixDQUFuQjtJQUFFLFVBQVUsRUFBRSxnQkFBaUIsR0FBSTtFQUNuQyxBQUFBLG9CQUFvQixDQUFwQjtJQUFFLFVBQVUsRUFBRSxpQkFBa0IsR0FBSTtFQUNwQyxBQUFBLHFCQUFxQixDQUFyQjtJQUFFLFVBQVUsRUFBRSxrQkFBbUIsR0FBSTs7QUEyQnZDLHVCQUF1QjtBQUN2QixBQUFBLEdBQUc7QUFDSCxBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEdBQUc7QUFDSCxBQUFBLElBQUk7QUFDSixBQUFBLENBQUM7QUFDRCxBQUFBLFVBQVU7QUFDVixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBQyxDQUFFO0VBQ1QsT0FBTyxFQUFDLENBQUUsR0FDWDs7QUFFRCx5QkFBeUI7QUFDekIsQUFBQSxDQUFDLENBQUM7RUFDQSxLQUFLLEV2Q3RISyxPQUFPO0V1Q3VIakIsV0FBVyxFQUFFLE9BQVE7RUFDckIsZUFBZSxFQTNKSSxJQUFJLEdBc0t4QjtFQWRELEFBQUEsQ0FBQyxBQUtFLE1BQU0sRUFMVCxBQUFBLENBQUMsQUFNRSxNQUFNLENBQUM7SUFDTixLQUFLLEVBNUphLE9BQVcsR0FnSzlCO0VBWEgsQUFhRSxDQWJELENBYUMsR0FBRyxDQUFDO0lBQUUsTUFBTSxFQUFDLElBQUssR0FBSTs7QUFHeEIsOEJBQThCO0FBQzlCLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsV0FBVyxFdkNvQk8sZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUNuQi9ELFNBQVMsRUE5TE8sSUFBSTtFQStMcEIsV0FBVyxFdkN0SkksTUFBTTtFdUN1SnJCLFdBQVcsRUEvTE8sR0FBRztFQWdNckIsYUFBYSxFbENySlQsT0FBVTtFa0NzSmQsY0FBYyxFQTVMTyxrQkFBa0IsR0FxTXhDO0VBZkQsQUFBQSxDQUFDLEFBUUUsS0FBSyxDQUFDO0lBbEVYLFNBQVMsRUFBRSxVQUFvQjtJQUMvQixXQUFXLEVBQUUsR0FBSSxHQWlFYTtFQVI1QixBQVVJLENBVkgsQ0FVRyxLQUFLLENBQUM7SUFDTixTQUFTLEVsQzNKUCxRQUFVO0lrQzRKWixVQUFVLEVBbk1XLE1BQU07SUFvTTNCLFdBQVcsRUFyTVcsSUFBSSxHQXNNM0I7O0FBR0gsMkJBQTJCO0FBQzNCLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxDQUFDO0VBQ3JCLEtBQUssRW5DbURNLE9BQU87RW1DbERsQixXQUFXLEV2QzFDSSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0V1QzJDNUQsVUFBVSxFQXRQSSxNQUFNO0VBdVBwQixXQUFXLEV2Q3pLSSxNQUFNO0V1QzBLckIsV0FBVyxFQXRQSSxHQUFHO0VBdVBsQixhQUFhLEVBclBJLE1BQUs7RUFzUHRCLFVBQVUsRUF2UEksTUFBSztFQXdQbkIsY0FBYyxFQXRQSSxrQkFBa0IsR0E2UHJDO0VBZkQsQUFVRSxFQVZBLENBVUEsS0FBSyxFQVZILEFBVUYsRUFWSSxDQVVKLEtBQUssRUFWQyxBQVVOLEVBVlEsQ0FVUixLQUFLLEVBVkssQUFVVixFQVZZLENBVVosS0FBSyxFQVZTLEFBVWQsRUFWZ0IsQ0FVaEIsS0FBSyxFQVZhLEFBVWxCLEVBVm9CLENBVXBCLEtBQUssQ0FBQztJQUNKLEtBQUssRUE5Tk0sT0FBVztJQStOdEIsU0FBUyxFQWhPQyxHQUFHO0lBaU9iLFdBQVcsRUFBRSxDQUFFLEdBQ2hCOztBQUdILEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLFNBQWEsR0FBeUI7O0FBQ3RELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLFNBQWEsR0FBeUI7O0FBQ3RELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLElBQWEsR0FBeUI7O0FBQ3RELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLFNBQWEsR0FBeUI7O0FBQ3RELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLFFBQWEsR0FBeUI7O0FBQ3RELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFQUFFLFNBQWEsR0FBeUI7O0FBRXRELEFBQUEsVUFBVSxDQUFDO0VBL0ZiLFdBQVcsRUFwSlcsR0FBRztFQXFKekIsS0FBSyxFQXBKZ0IsT0FBVztFQXFKaEMsV0FBVyxFdkNoR1EsTUFBTTtFdUNpR3pCLFVBQVUsRUFwSlcsTUFBSztFQXFKMUIsYUFBYSxFQXBKVyxNQUFLLEdBK09ROztBQUVuQyxBQUFBLEVBQUUsQ0FBQztFQUNELE1BQU0sRUEvTU0sS0FBSyxDbkM4Tk4sT0FBTztFbUNkbEIsWUFBWSxFQWpOQSxHQUFHLENBaU5nQixDQUFDLENBQUMsQ0FBQztFQUNsQyxLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxDQUFFO0VBQ1YsTUFBTSxFbENqTUYsT0FBVSxDa0NpTUssQ0FBQyxDQUFFLFNBQVUsR0FDakM7O0FBRUQsaUNBQWlDO0FBQ2pDLEFBQUEsRUFBRTtBQUNGLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLE1BQU87RUFDbkIsV0FBVyxFQUFFLE9BQVEsR0FDdEI7O0FBRUQsQUFBQSxNQUFNO0FBQ04sQUFBQSxDQUFDLENBQUM7RUFDQSxXQUFXLEV2Qy9NRSxJQUFJO0V1Q2dOakIsV0FBVyxFQUFFLE9BQVEsR0FDdEI7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDSixTQUFTLEVBcFFHLEdBQUc7RUFxUWYsV0FBVyxFQUFFLE9BQVEsR0FDdEI7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDSCxnQkFBZ0IsRUF2UEUsT0FBVztFQXdQN0IsWUFBWSxFQXJQRSxPQUFXO0VBc1B6QixZQUFZLEVBdlBFLEtBQUs7RUF3UG5CLFlBQVksRUF6UEMsR0FBRztFQTBQaEIsS0FBSyxFbkNOTSxPQUFPO0VtQ09sQixXQUFXLEVuQ1FPLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsU0FBUztFbUNQakUsV0FBVyxFdkNoT0ksTUFBTTtFdUNpT3JCLE9BQU8sRWxDOU5ILFFBQVUsQ0FBVixTQUFVLENBQVYsU0FBVSxHa0MrTmY7O0FBRUQsV0FBVztBQUNYLEFBQUEsRUFBRTtBQUNGLEFBQUEsRUFBRTtBQUNGLEFBQUEsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFdkNoRU8sZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUNpRS9ELFNBQVMsRUFsUk8sSUFBSTtFQW1ScEIsV0FBVyxFQWxSTyxHQUFHO0VBbVJyQixtQkFBbUIsRUFqUEgsT0FBTztFQWtQdkIsYUFBYSxFbEN6T1QsT0FBVSxHa0MwT2Y7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxXQUF3QixFQXJQWCxNQUFNLEdBc1BwQjs7QUFFRCxxQkFBcUI7QUFDckIsQUFFSSxFQUZGLENBQ0EsRUFBRSxDQUNBLEVBQUU7QUFGTixBQUdJLEVBSEYsQ0FDQSxFQUFFLENBRUEsRUFBRSxDQUFDO0VBQ0QsV0FBd0IsRWxDclB4QixPQUFVO0VrQ3NQVixhQUFhLEVBQUUsQ0FBRSxHQUNsQjs7QUFOTCxBQVdPLEVBWEwsQUFRQyxPQUFPLENBR04sRUFBRSxDQUFDLEVBQUUsRUFYVCxBQVdPLEVBWEwsQUFTQyxPQUFPLENBRU4sRUFBRSxDQUFDLEVBQUUsRUFYVCxBQVdPLEVBWEwsQUFVQyxLQUFLLENBQ0osRUFBRSxDQUFDLEVBQUUsQ0FBQztFQUFFLFVBQVUsRUFBRSxPQUFRLEdBQUk7O0FBWHBDLEFBQUEsRUFBRSxBQWNDLE9BQU8sQ0FBQztFQUFFLGVBQWUsRUFBRSxNQUFPO0VBQUUsV0FBd0IsRUF2UWhELE1BQU0sR0F1UXVFOztBQWQ1RixBQUFBLEVBQUUsQUFlQyxPQUFPLENBQUM7RUFBRSxlQUFlLEVBQUUsTUFBTztFQUFFLFdBQXdCLEVBeFFoRCxNQUFNLEdBd1F1RTs7QUFmNUYsQUFBQSxFQUFFLEFBZ0JDLEtBQUssQ0FBQztFQUFFLGVBQWUsRUFBRSxJQUFLO0VBQUUsV0FBd0IsRUF6UTVDLE1BQU0sR0F5UW1FOztBQUd4RixtQkFBbUI7QUFDbkIsQUFBQSxFQUFFLENBQUM7RUFDRCxXQUF3QixFQTdRSCxNQUFNLEdBcVI1QjtFQVRELEFBR0ksRUFIRixDQUVBLEVBQUUsQ0FDQSxFQUFFO0VBSE4sQUFJSSxFQUpGLENBRUEsRUFBRSxDQUVBLEVBQUUsQ0FBQztJQUNELFdBQXdCLEVsQzFReEIsT0FBVTtJa0MyUVYsYUFBYSxFQUFFLENBQUUsR0FDbEI7O0FBS0wsQUFBQSxVQUFVLENBQUM7RUFDVCxlQUFlLEVBQUUsSUFBSztFQUN0QixXQUF3QixFQXpSRCxDQUFDLEdBbVN6QjtFQVpELEFBS0ksVUFMTSxDQUlSLEVBQUUsQ0FDQSxFQUFFO0VBTE4sQUFNSSxVQU5NLENBSVIsRUFBRSxDQUVBLEVBQUUsQ0FBQztJQUNELFdBQXdCLEVsQ3hSeEIsT0FBVTtJa0N5UlYsYUFBYSxFQUFFLENBQUU7SUFDakIsVUFBVSxFQUFFLElBQUssR0FDbEI7O0FBSUwsc0JBQXNCO0FBQ3RCLEFBQ0UsRUFEQSxDQUNBLEVBQUUsQ0FBQztFQUNELGFBQWEsRUFyU2tCLE1BQUs7RUFzU3BDLFdBQVcsRXZDclNBLElBQUksR3VDc1NoQjs7QUFKSCxBQUtFLEVBTEEsQ0FLQSxFQUFFLENBQUM7RUFBRSxhQUFhLEVsQ3JTZCxPQUFVLEdrQ3FTd0M7O0FBR3hELG1CQUFtQjtBQUNuQixBQUFBLElBQUk7QUFDSixBQUFBLE9BQU8sQ0FBQztFQUNOLGNBQWMsRUFBRSxTQUFVO0VBQzFCLFNBQVMsRUFBRSxHQUFJO0VBQ2YsS0FBSyxFbkNqRU8sSUFBSTtFbUNrRWhCLE1BQU0sRW5Dd0JRLElBQUksR21DdkJuQjs7QUFDRCxBQUFBLElBQUksQ0FBQztFQUNILGNBQWMsRUFBRSxJQUFLLEdBSXRCO0VBTEQsQUFBQSxJQUFJLENBRUQsQUFBQSxLQUFDLEFBQUEsRUFBTztJQUNQLGFBQWEsRUExU0QsR0FBRyxDQUFDLE1BQU0sQ25DbU1iLE9BQU8sR21Dd0dqQjs7QUFHSCxpQkFBaUI7QUFDakIsQUFBQSxVQUFVLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ2xDelRQLE9BQVU7RWtDMFRkLE9BQU8sRWxDMVRILFNBQVUsQ0FBVixPQUFVLENBQ2EsQ0FBQyxDQUR4QixTQUFVO0VrQzJUZCxXQUF3QixFQXhUVixHQUFHLENBQUMsS0FBSyxDbkN5TVosT0FBTyxHbUM4SG5CO0VBbEJELEFBS0UsVUFMUSxDQUtSLElBQUksQ0FBQztJQUNILE9BQU8sRUFBRSxLQUFNO0lBQ2YsU0FBUyxFbEMvVFAsU0FBVTtJa0NnVVosS0FBSyxFQTNUZ0IsT0FBVyxHQW9VakM7SUFqQkgsQUFLRSxVQUxRLENBS1IsSUFBSSxBQUlELE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxhQUFjLEdBQ3hCO0lBWEwsQUFhSSxVQWJNLENBS1IsSUFBSSxDQVFGLENBQUM7SUFiTCxBQWNLLFVBZEssQ0FLUixJQUFJLENBU0YsQ0FBQyxBQUFBLFFBQVEsQ0FBQztNQUNSLEtBQUssRUFsVWMsT0FBVyxHQW1VL0I7O0FBR0wsQUFBQSxVQUFVO0FBQ1YsQUFBVyxVQUFELENBQUMsQ0FBQyxDQUFDO0VBQ1gsV0FBVyxFQXhYTyxHQUFHO0VBeVhyQixLQUFLLEVBN1VhLE9BQVcsR0E4VTlCOztBQUVELGtCQUFrQjtBQUNsQixBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLE1BQU0sRWxDblZxQixDQUFDLENBQUQsQ0FBQyxDQUR4QixPQUFVLENBQ2EsQ0FBQztFa0NvVjVCLE1BQU0sRUFyVWUsR0FBRyxDQUNILEtBQUssQ25DMkxmLE9BQU87RW1DMElsQixPQUFPLEVsQ3RWSCxRQUFVLENBQVYsT0FBVSxHa0NnV2Y7RUFkRCxBQU1FLE1BTkksQ0FNSixFQUFFLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBRTtJQUNWLE9BQU8sRUFBRSxLQUFNLEdBQ2hCO0VBVEgsQUFVRSxNQVZJLENBVUosR0FBRyxDQUFDO0lBQ0YsV0FBVyxFdkMvVkEsSUFBSTtJdUNnV2YsU0FBUyxFbEM5VlAsU0FBVSxHa0MrVmI7O0FBR0gsQUFDRSxPQURLLENBQ0wsUUFBUSxDQUFDO0VBQUUsV0FBVyxFdkNyV1QsSUFBSSxHdUNxVzJDOztBQUQ5RCxBQUdFLE9BSEssQ0FHTCxJQUFJLENBQUM7RUFDSCxNQUFNLEVuQ25DUyxPQUFPO0VtQ29DdEIsZUFBZSxFQXZVWSxJQUFJO0VBd1UvQixXQUFXLEV2QzFXQSxJQUFJO0V1QzJXZixNQUFNLEVBQUUsSUFBSztFQUNiLE9BQU8sRWxDeldrQixDQUFDLENBRHhCLFNBQVUsR2tDMldiOztBQUlILE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7RUFDakMsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLENBQUM7SUFBRSxXQUFXLEVBL2JyQixHQUFHLEdBK2IyQztFQUM3RCxBQUFBLEVBQUUsQ0FBQztJQUFFLFNBQVMsRXRDalhWLFNBQVUsR3NDaVhtQjtFQUNqQyxBQUFBLEVBQUUsQ0FBQztJQUFFLFNBQVMsRXRDbFhWLFNBQVUsR3NDa1htQjtFQUNqQyxBQUFBLEVBQUUsQ0FBQztJQUFFLFNBQVMsRXRDblhWLFNBQVUsR3NDbVhtQjtFQUNqQyxBQUFBLEVBQUUsQ0FBQztJQUFFLFNBQVMsRXRDcFhWLE9BQVUsR3NDb1htQjtFQUNqQyxBQUFBLEVBQUUsQ0FBQztJQUFFLFNBQVMsRXRDclhWLFFBQVUsR3NDcVhtQjtFQUNqQyxBQUFBLEVBQUUsQ0FBQztJQUFFLFNBQVMsRXRDdFhWLFNBQVUsR3NDc1htQjs7QUFLakM7Ozs7O1FBS0U7QUFDRixNQUFNLENBQU4sS0FBSztFQUNILEFBQUEsQ0FBQyxDQUFDO0lBQ0EsVUFBVSxFQUFFLHNCQUF1QjtJQUNuQyxLQUFLLEVuQzdLRSxPQUFPLENtQzZLQSxVQUFVO0lBQUUscUNBQXFDO0lBQy9ELFVBQVUsRUFBRSxlQUFnQjtJQUM1QixXQUFXLEVBQUUsZUFBZ0IsR0FDOUI7RUFFRCxBQUFBLENBQUM7RUFDRCxBQUFDLENBQUEsQUFBQSxRQUFRLENBQUM7SUFBRSxlQUFlLEVBQUUsU0FBVSxHQUFHO0VBQzFDLEFBQU8sQ0FBTixDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFJLENBQU8sR0FBRyxHQUFJO0VBRWhELEFBQVcsSUFBUCxDQUFBLEFBQUEsS0FBQyxBQUFBLENBQU0sTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFJLENBQVEsR0FBRyxHQUFJO0VBR3JELEFBQUssR0FBRixDQUFDLENBQUMsQUFBQSxNQUFNO0VBQ1gsQUFBc0IsQ0FBckIsQ0FBQSxBQUFBLElBQUMsRUFBTSxhQUFhLEFBQW5CLENBQW9CLE1BQU07RUFDNUIsQUFBWSxDQUFYLENBQUEsQUFBQSxJQUFDLEVBQU0sR0FBRyxBQUFULENBQVUsTUFBTSxDQUFDO0lBQUUsT0FBTyxFQUFFLEVBQUcsR0FBSTtFQUVyQyxBQUFBLEdBQUc7RUFDSCxBQUFBLFVBQVUsQ0FBQztJQUNULE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDbkN2TVYsT0FBTztJbUN3TWQsaUJBQWlCLEVBQUUsS0FBTSxHQUMxQjtFQUVELEFBQUEsS0FBSyxDQUFDO0lBQUUsT0FBTyxFQUFFLGtCQUFtQjtJQUFFLGdCQUFnQixFQUFHO0VBRXpELEFBQUEsRUFBRTtFQUNGLEFBQUEsR0FBRyxDQUFDO0lBQUUsaUJBQWlCLEVBQUUsS0FBTSxHQUFJO0VBRW5DLEFBQUEsR0FBRyxDQUFDO0lBQUUsU0FBUyxFQUFFLGVBQWdCLEdBQUk7RUFFckMsS0FBSztJQUFHLE1BQU0sRUE5WFAsTUFBTTtFQWdZYixBQUFBLENBQUM7RUFDRCxBQUFBLEVBQUU7RUFDRixBQUFBLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFFO0lBQ1gsTUFBTSxFQUFFLENBQUUsR0FDWDtFQUVELEFBQUEsRUFBRTtFQUNGLEFBQUEsRUFBRSxDQUFDO0lBQUUsZ0JBQWdCLEVBQUUsS0FBTSxHQUFJOztBQzVHckMsQUFBQSxnQkFBZ0IsQ0FBQztFQXRVbkIsMkJBQTJCLEVBQUUsTUFBTztFQUtwQyxRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsSUFBSztFQXdEWixRQUFRLEVBQUUsTUFBTyxHQXdRZ0M7RUFBL0MsQUFBQSxnQkFBZ0IsQUF2UWpCLFdBQVcsRUF1UVYsQUFBQSxnQkFBZ0IsQUF0UWpCLFVBQVUsRUFzUVQsQUFBQSxnQkFBZ0IsQUFyUWpCLFlBQVksRUFxUVgsQUFBQSxnQkFBZ0IsQUFwUWpCLFNBQVMsQ0FBQztJQUFFLFVBQVUsRUFBRSxJQUFLO0lBQUUsMEJBQTBCLEVBQUUsS0FBTSxHQUFJOztBQXFRcEUsQUFBQSxXQUFXLENBQUM7RUFsVWQsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLElBQUs7RUFzRVosa0JBQWtCLEVBQUMsNEJBQUM7RUFDcEIsZUFBZSxFQUFDLHlCQUFDO0VBQ2pCLGNBQWMsRUFBQyx3QkFBQztFQUNoQixhQUFhLEVBQUMsdUJBQUM7RUFDZixVQUFVLEVBQUMsb0JBQUMsR0F1UDJCO0VBQXJDLEFBQUEsV0FBVyxBcEM5S1osT0FBTyxFb0M4S04sQUFBQSxXQUFXLEFwQzlLRixNQUFNLENBQUM7SUFBRSxPQUFPLEVBQUUsR0FBSTtJQUFFLE9BQU8sRUFBRSxLQUFNLEdBQUk7RW9DOEtwRCxBQUFBLFdBQVcsQXBDN0taLE1BQU0sQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7O0FvQytLeEIsQUFBQSxRQUFRLENBQUM7RUF6VVgsMkJBQTJCLEVBQUUsTUFBTztFQXlGcEMsVUFBVSxFcENtSUssT0FBTztFb0NsSXRCLEtBQUssRXBDa0hVLE9BQU87RW9Dakh0QixNQUFNLEVuQ3BGRSxTQUFVO0VtQ3FGbEIsV0FBVyxFbkNyRkgsU0FBVTtFbUN3RmxCLFFBQVEsRUFBRSxRQUFTLEdBME9tQjtFQUFwQyxBQXRPRixRQXNPVSxDQXRPVixFQUFFLEVBc09BLEFBdE9FLFFBc09NLENBdE9OLEVBQUUsRUFzT0osQUF0T00sUUFzT0UsQ0F0T0YsRUFBRSxFQXNPUixBQXRPVSxRQXNPRixDQXRPRSxFQUFFLEVBc09aLEFBdE9jLFFBc09OLENBdE9NLEVBQUUsRUFzT2hCLEFBdE9rQixRQXNPVixDQXRPVSxFQUFFLENBQUM7SUFDckIsS0FBSyxFcEN3R1EsT0FBTztJb0N2R3BCLFdBQVcsRXhDaEdJLElBQUk7SXdDaUduQixXQUFXLEVuQy9GTCxTQUFVO0ltQ2dHaEIsTUFBTSxFQWxLYSxDQUFDLEdBbUtyQjtFQWlPQyxBQWhPRixRQWdPVSxDQWhPVixFQUFFLEVBZ09BLEFBaE9FLFFBZ09NLENBaE9OLEVBQUUsRUFnT0osQUFoT00sUUFnT0UsQ0FoT0YsRUFBRSxFQWdPUixBQWhPVSxRQWdPRixDQWhPRSxFQUFFLENBQUM7SUFBRSxTQUFTLEV2Q2xHbEIsUUFBVSxHdUNrRzJCOztBQWtPM0MsQUFBQSxXQUFXLENBQUM7RUE1TmQsTUFBTSxFbkN4R0UsU0FBVTtFbUN5R2xCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFbkMzR0csU0FBVTtFbUM2R2hCLFlBQVksRUF2TGEsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFXO0VBeUw5QyxJQUFJLEVBQUUsQ0FBRSxHQXFOd0Q7O0FBQ2hFLEFBQUEsWUFBWSxDQUFDO0VBN05mLE1BQU0sRW5DeEdFLFNBQVU7RW1DeUdsQixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRW5DM0dHLFNBQVU7RW1Da0hoQixXQUFXLEVBNUxjLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBVztFQThMOUMsS0FBSyxFQUFDLENBQUUsR0FpTjBEOztBQUVsRSxBQUFBLGdCQUFnQixDQUFDO0VBOU1uQixNQUFNLEVuQ3pIRSxTQUFVO0VtQzBIbEIsT0FBTyxFQXZNZSxDQUFDLENuQzZFZixRQUFVO0VtQzJIbEIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsVUFBVSxFQUFFLE1BQU87RUFDbkIsR0FBRyxFQUFFLENBQUUsR0EwTTBDO0VBQS9DLEFBQUEsZ0JBQWdCLEFBek1mLEtBQUssQ0FBQztJQUFFLFVBQVUsRUFBRSxJQUFLLEdBQUk7RUF5TTlCLEFBQUEsZ0JBQWdCLEFBeE1mLE1BQU0sQ0FBQztJQUFFLFVBQVUsRUFBRSxLQUFNLEdBQUk7RUF3TWhDLEFBQUEsZ0JBQWdCLEFBcE1qQixLQUFLLENBQUM7SUFDTCxJQUFJLEVBQUUsQ0FBRTtJQUNSLEtBQUssRW5DcklDLFNBQVUsR21Dc0lqQjtFQWlNQyxBQUFBLGdCQUFnQixBQWhNakIsTUFBTSxDQUFDO0lBQ04sSUFBSSxFbkN4SUUsU0FBVTtJbUN5SWhCLEtBQUssRUFBRSxDQUFFLEdBQ1Y7RUE2TEMsQUFBQSxnQkFBZ0IsQUE1TGpCLE9BQU8sQ0FBQztJQUNQLElBQUksRW5DNUlFLFNBQVU7SW1DNkloQixLQUFLLEVuQzdJQyxTQUFVLEdtQzhJakI7O0FBNkxDLEFBQVMsUUFBRCxDQUFDLFVBQVUsQ0FBQztFQUNsQixLQUFLLEVwQ3ZJTSxPQUFPO0VvQ3dJbEIsT0FBTyxFQUFFLEtBQU07RUFDZixNQUFNLEVuQzlVRixTQUFVO0VtQytVZCxPQUFPLEVBN1djLENBQUM7RUE4V3RCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFdBQVcsRW5DalZQLFNBQVU7RW1Da1ZkLFNBQVMsRUFBRSxvQkFBVztFQUN0QixLQUFLLEVuQ25WRCxTQUFVLEdtQ2lXZjtFQXRCRCxBcENwT0UsUW9Db09NLENBQUMsVUFBVSxDcENwT3JCLElBQUksQUFBQSxPQUFPLENBQUM7SUFDVixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNO0lBQ2YsTUFBTSxFQUFFLENBQUU7SUFDVixRQUFRLEVBQUUsUUFBUztJQU9mLEdBQUcsRUFBRSxHQUFJO0lBQ1QsVUFBVSxFQUFHLE9BQUM7SUFNZCxJQUFJLEVBQUcsVUFBdUI7SUFTbEMsVUFBVSxFQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDb0M1SnVCLEdBQUcsQ3BDOE5wQixPQUFPLEVBakVsQixDQUFDLENBQUMsR0FBSSxDQUFjLENBQUMsQ29DN0pPLEdBQUcsQ3BDOE5wQixPQUFPLEVBaEVsQixDQUFDLENBQUUsSUFBQyxDQUF3QixDQUFDLENvQzlKRCxHQUFHLENwQzhOcEIsT0FBTztJQS9EcEIsS0FBSyxFQ3RJQyxJQUFVLEdEdUlqQjtFb0NvTUMsQXBDbk1RLFFvQ21NQSxDQUFDLFVBQVUsQ3BDbk1yQixJQUFJLEFBQUEsTUFBTSxBQUFBLE1BQU0sQ0FBQztJQUNmLFVBQVUsRUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ29Dbkt1QixHQUFHLENBVlosT0FBVyxFcEM4SzlCLENBQUMsQ0FBQyxHQUFJLENBQWMsQ0FBQyxDb0NwS08sR0FBRyxDQVZaLE9BQVcsRXBDK0s5QixDQUFDLENBQUUsSUFBQyxDQUF3QixDQUFDLENvQ3JLRCxHQUFHLENBVlosT0FBVyxHcENnTGpDOztBb0NzTkMsQUFBQSxxQkFBcUIsQ0FBQztFQTFXeEIsMkJBQTJCLEVBQUUsTUFBTztFQXFCcEMsVUFBVSxFeENKSSxPQUFPO0V3Q0tyQixNQUFNLEVBQUUsQ0FBRTtFQUNWLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLDBCQUEwQixFQUFFLEtBQU07RUFDbEMsa0JBQWtCLEVBQUUsd0JBQXlCO0VBQzdDLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSx1QkFBd0I7RUFDcEMsS0FBSyxFbkN2QkcsU0FBVTtFbUN3QmxCLE9BQU8sRUFBRSxJQUFLO0VBckJkLGlCQUFpQixFQUFFLHdCQUFXO0VBQzNCLGNBQWMsRUFBRSx3QkFBVztFQUMxQixhQUFhLEVBQUUsbUJBQVM7RUFDdkIsWUFBWSxFQUFFLHdCQUFXO0VBQ3RCLFNBQVMsRUFBRSx3QkFBVztFQXFCNUIsSUFBSSxFQUFFLENBQUU7RUFDUixHQUFHLEVBQUUsQ0FBRSxHQXNVOEQ7RUFBckUsQUF0VkYscUJBc1Z1QixDQXRWdkIsQ0FBQyxDQUFDO0lBcEJGLDJCQUEyQixFQUFFLE1BQU8sR0FvQlA7O0FBdVYzQixBQUFBLHNCQUFzQixDQUFDO0VBM1d6QiwyQkFBMkIsRUFBRSxNQUFPO0VBcUJwQyxVQUFVLEV4Q0pJLE9BQU87RXdDS3JCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsVUFBVSxFQUFFLFdBQVk7RUFDeEIsMEJBQTBCLEVBQUUsS0FBTTtFQUNsQyxrQkFBa0IsRUFBRSx3QkFBeUI7RUFDN0MsVUFBVSxFQUFFLE1BQU87RUFDbkIsVUFBVSxFQUFFLElBQUs7RUFDakIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsVUFBVSxFQUFFLHVCQUF3QjtFQUNwQyxLQUFLLEVuQ3ZCRyxTQUFVO0VtQ3dCbEIsT0FBTyxFQUFFLElBQUs7RUFyQmQsaUJBQWlCLEVBQUUsdUJBQVc7RUFDM0IsY0FBYyxFQUFFLHVCQUFXO0VBQzFCLGFBQWEsRUFBRSxrQkFBUztFQUN2QixZQUFZLEVBQUUsdUJBQVc7RUFDdEIsU0FBUyxFQUFFLHVCQUFXO0VBMEI1QixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxDQUFFLEdBa1VnRTtFQUF2RSxBQXZWRixzQkF1VndCLENBdlZ4QixDQUFDLENBQUM7SUFwQkYsMkJBQTJCLEVBQUUsTUFBTyxHQW9CUDs7QUF3VjNCLEFBQUEsb0JBQW9CLENBQUM7RUE1V3ZCLDJCQUEyQixFQUFFLE1BQU87RUFxQnBDLFVBQVUsRXhDSkksT0FBTztFd0NLckIsTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsV0FBWTtFQUN4QiwwQkFBMEIsRUFBRSxLQUFNO0VBQ2xDLGtCQUFrQixFQUFFLHdCQUF5QjtFQUM3QyxVQUFVLEVBQUUsTUFBTztFQUNuQixVQUFVLEVBQUUsSUFBSztFQUNqQixRQUFRLEVBQUUsUUFBUztFQUNuQixVQUFVLEVBQUUsdUJBQXdCO0VBQ3BDLEtBQUssRW5DdkJHLFNBQVU7RW1Dd0JsQixPQUFPLEVBQUUsSUFBSztFQXJCZCxpQkFBaUIsRUFBRSx3QkFBVztFQUMzQixjQUFjLEVBQUUsd0JBQVc7RUFDMUIsYUFBYSxFQUFFLG1CQUFTO0VBQ3ZCLFlBQVksRUFBRSx3QkFBVztFQUN0QixTQUFTLEVBQUUsd0JBQVc7RUErQjVCLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVuQ3hDQSxRQUFVLEdtQ3FXbUQ7RUFBbkUsQUF4VkYsb0JBd1ZzQixDQXhWdEIsQ0FBQyxDQUFDO0lBcEJGLDJCQUEyQixFQUFFLE1BQU8sR0FvQlA7O0FBeVYzQixBQUFBLHVCQUF1QixDQUFDO0VBN1cxQiwyQkFBMkIsRUFBRSxNQUFPO0VBcUJwQyxVQUFVLEV4Q0pJLE9BQU87RXdDS3JCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsVUFBVSxFQUFFLFdBQVk7RUFDeEIsMEJBQTBCLEVBQUUsS0FBTTtFQUNsQyxrQkFBa0IsRUFBRSx3QkFBeUI7RUFDN0MsVUFBVSxFQUFFLE1BQU87RUFDbkIsVUFBVSxFQUFFLElBQUs7RUFDakIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsVUFBVSxFQUFFLHVCQUF3QjtFQUNwQyxLQUFLLEVuQ3ZCRyxTQUFVO0VtQ3dCbEIsT0FBTyxFQUFFLElBQUs7RUFyQmQsaUJBQWlCLEVBQUUsdUJBQVc7RUFDM0IsY0FBYyxFQUFFLHVCQUFXO0VBQzFCLGFBQWEsRUFBRSxrQkFBUztFQUN2QixZQUFZLEVBQUUsdUJBQVc7RUFDdEIsU0FBUyxFQUFFLHVCQUFXO0VBcUM1QixNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFbkM5Q0EsUUFBVSxHbUNzV3lEO0VBQXpFLEFBelZGLHVCQXlWeUIsQ0F6VnpCLENBQUMsQ0FBQztJQXBCRiwyQkFBMkIsRUFBRSxNQUFPLEdBb0JQOztBQTJWM0IsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLENBQUM7RUFwTnJCLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLE1BQU0sRUFBQyxDQUFFO0VBQ1QsT0FBTyxFQUFDLENBQUUsR0FrTnlDO0VBQWpELEFBL01BLEVBK01FLEFBQUEsZ0JBQWdCLENBaE5wQixFQUFFLENBQ0EsS0FBSyxDQUFDO0lBQ0osVUFBVSxFcEMwREMsT0FBTztJb0N6RGxCLGFBQWEsRUE1TWMsSUFBSTtJQTZNL0IsVUFBVSxFQTlNYyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQVc7SUErTTdDLEtBQUssRXhDaW1CYyxJQUFJO0l3Q2htQnZCLE9BQU8sRUFBRSxLQUFNO0lBQ2YsU0FBUyxFbkMvSkwsT0FBVTtJbUNnS2QsV0FBVyxFeENsS0UsSUFBSTtJd0NtS2pCLE1BQU0sRUFqTmEsQ0FBQztJQWtOcEIsT0FBTyxFQTFOYyxNQUFLLENuQ3dEdEIsU0FBVTtJbUNtS2QsY0FBYyxFQXpOYyxTQUFTLEdBME50QztFQW9NRCxBQW5NQSxFQW1NRSxBQUFBLGdCQUFnQixDQWhOcEIsRUFBRSxDQWFBLENBQUMsQ0FBQztJQUNBLGFBQWEsRUFuTmEsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFXO0lBb04vQyxLQUFLLEV4Q2dtQmEsSUFBSTtJd0MvbEJ0QixPQUFPLEVBQUUsS0FBTTtJQUNmLE9BQU8sRW5DektILFVBQVU7SW1DMEtkLFVBQVUsRUFBRSxxQkFBc0IsR0FPbkM7SUF1TEQsQUFuTUEsRUFtTUUsQUFBQSxnQkFBZ0IsQ0FoTnBCLEVBQUUsQ0FhQSxDQUFDLEFBTUUsTUFBTSxDQUFDO01BQ04sVUFBVSxFeEM4a0JJLE9BQVcsR3dDN2tCMUI7SUEyTEgsQUFuTUEsRUFtTUUsQUFBQSxnQkFBZ0IsQ0FoTnBCLEVBQUUsQ0FhQSxDQUFDLEFBU0UsT0FBTyxDQUFDO01BQ1AsVUFBVSxFQTFPSyxPQUFXLEdBMk8zQjs7QUE2TEgsQUFDSSxXQURPLEdBQ1AsV0FBVyxDQUFDO0VBM1dsQixpQkFBaUIsRUFBRSw0QkFBVztFQUMzQixjQUFjLEVBQUUsNEJBQVc7RUFDMUIsYUFBYSxFQUFFLHVCQUFTO0VBQ3ZCLFlBQVksRUFBRSw0QkFBVztFQUN0QixTQUFTLEVBQUUsNEJBQVcsR0F5V3pCOztBQUhILEFBSUUsV0FKUyxDQUlULGdCQUFnQixDQUFDO0VBeFhyQiwyQkFBMkIsRUFBRSxNQUFPO0VBa01wQyxVQUFVLEVBOU1xQixJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3BDME96QixrQkFBTyxFb0MxT3FDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3JELGtCQUFPO0VvQzNCdEIsTUFBTSxFQWhOb0IsT0FBTztFQWlOakMsVUFBVSxFQWxOb0IsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBcU5uRCwyQkFBMkIsRUFBRSxXQUFJO0VBQ2pDLFVBQVUsRXBDSUssd0JBQU87RW9DSHRCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLEtBQU07RUFDZixJQUFJLEVBQUUsQ0FBRTtFQUNSLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEtBQUssRUFBRSxDQUFFO0VBQ1QsR0FBRyxFQUFFLENBQUU7RUFDUCxPQUFPLEVBQUUsSUFBSyxHQXlLOEI7RUF2SzVDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUFtS2pDLEFBSUUsV0FKUyxDQUlULGdCQUFnQixBQXRLakIsTUFBTSxDQUFDO01BQ04sVUFBVSxFcENQQyx5QkFBTyxHb0NRbkI7O0FBdUtELEFBQ0ksVUFETSxHQUNOLFdBQVcsQ0FBQztFQWxYbEIsaUJBQWlCLEVBQUUsNkJBQVc7RUFDM0IsY0FBYyxFQUFFLDZCQUFXO0VBQzFCLGFBQWEsRUFBRSx3QkFBUztFQUN2QixZQUFZLEVBQUUsNkJBQVc7RUFDdEIsU0FBUyxFQUFFLDZCQUFXLEdBaVh6Qjs7QUFKSCxBQUtFLFVBTFEsQ0FLUixnQkFBZ0IsQ0FBQztFQWhZckIsMkJBQTJCLEVBQUUsTUFBTztFQWtNcEMsVUFBVSxFQTlNcUIsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENwQzBPekIsa0JBQU8sRW9DMU9xQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3BDME9yRCxrQkFBTztFb0MzQnRCLE1BQU0sRUFoTm9CLE9BQU87RUFpTmpDLFVBQVUsRUFsTm9CLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSTtFQXFObkQsMkJBQTJCLEVBQUUsV0FBSTtFQUNqQyxVQUFVLEVwQ0lLLHdCQUFPO0VvQ0h0QixNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxLQUFNO0VBQ2YsSUFBSSxFQUFFLENBQUU7RUFDUixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxDQUFFO0VBQ1AsT0FBTyxFQUFFLElBQUssR0FpTCtCO0VBL0s3QyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBMEtqQyxBQUtFLFVBTFEsQ0FLUixnQkFBZ0IsQUE5S2pCLE1BQU0sQ0FBQztNQUNOLFVBQVUsRXBDUEMseUJBQU8sR29DUW5COztBQThLRCxBQUNJLFNBREssR0FDTCxXQUFXLENBQUM7RUF6WGxCLGlCQUFpQixFQUFFLDRCQUFXO0VBQzNCLGNBQWMsRUFBRSw0QkFBVztFQUMxQixhQUFhLEVBQUUsdUJBQVM7RUFDdkIsWUFBWSxFQUFFLDRCQUFXO0VBQ3RCLFNBQVMsRUFBRSw0QkFBVyxHQXdYekI7O0FBSkgsQUFLRSxTQUxPLENBS1AsZ0JBQWdCLENBQUM7RUF2WXJCLDJCQUEyQixFQUFFLE1BQU87RUFrTXBDLFVBQVUsRUE5TXFCLElBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3pCLGtCQUFPLEVvQzFPcUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENwQzBPckQsa0JBQU87RW9DM0J0QixNQUFNLEVBaE5vQixPQUFPO0VBaU5qQyxVQUFVLEVBbE5vQixVQUFVLENBQUMsS0FBSyxDQUFDLElBQUk7RUFxTm5ELDJCQUEyQixFQUFFLFdBQUk7RUFDakMsVUFBVSxFcENJSyx3QkFBTztFb0NIdEIsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsS0FBTTtFQUNmLElBQUksRUFBRSxDQUFFO0VBQ1IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLENBQUU7RUFDVCxHQUFHLEVBQUUsQ0FBRTtFQUNQLE9BQU8sRUFBRSxJQUFLLEdBd0wrQjtFQXRMN0MsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQWlMakMsQUFLRSxTQUxPLENBS1AsZ0JBQWdCLEFBckxqQixNQUFNLENBQUM7TUFDTixVQUFVLEVwQ1BDLHlCQUFPLEdvQ1FuQjs7QUFxTEQsQUFDSSxZQURRLEdBQ1IsV0FBVyxDQUFDO0VBaFlsQixpQkFBaUIsRUFBRSwyQkFBVztFQUMzQixjQUFjLEVBQUUsMkJBQVc7RUFDMUIsYUFBYSxFQUFFLHNCQUFTO0VBQ3ZCLFlBQVksRUFBRSwyQkFBVztFQUN0QixTQUFTLEVBQUUsMkJBQVcsR0ErWHpCOztBQUpILEFBS0UsWUFMVSxDQUtWLGdCQUFnQixDQUFDO0VBOVlyQiwyQkFBMkIsRUFBRSxNQUFPO0VBa01wQyxVQUFVLEVBOU1xQixJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3BDME96QixrQkFBTyxFb0MxT3FDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3JELGtCQUFPO0VvQzNCdEIsTUFBTSxFQWhOb0IsT0FBTztFQWlOakMsVUFBVSxFQWxOb0IsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBcU5uRCwyQkFBMkIsRUFBRSxXQUFJO0VBQ2pDLFVBQVUsRXBDSUssd0JBQU87RW9DSHRCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLEtBQU07RUFDZixJQUFJLEVBQUUsQ0FBRTtFQUNSLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEtBQUssRUFBRSxDQUFFO0VBQ1QsR0FBRyxFQUFFLENBQUU7RUFDUCxPQUFPLEVBQUUsSUFBSyxHQStMK0I7RUE3TDdDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUF3TGpDLEFBS0UsWUFMVSxDQUtWLGdCQUFnQixBQTVMakIsTUFBTSxDQUFDO01BQ04sVUFBVSxFcENQQyx5QkFBTyxHb0NRbkI7O0FBNExELEFBQ0Usa0JBRGdCLENBQ2hCLHFCQUFxQixFQUR2QixBQUN5QixrQkFEUCxDQUNPLHNCQUFzQjtBQUQvQyxBQUVFLGtCQUZnQixDQUVoQixvQkFBb0IsRUFGdEIsQUFFd0Isa0JBRk4sQ0FFTSx1QkFBdUIsQ0FBQztFQUM1QyxhQUFhLEVBQUUsSUFBSztFQUNwQixpQkFBaUIsRUFBRSxJQUFLO0VBQ3hCLGNBQWMsRUFBRSxJQUFLO0VBQ3JCLFlBQVksRUFBRSxJQUFLO0VBQ25CLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLE9BQU8sRUFBRSxJQUFLLEdBQ2Y7O0FBVEgsQUFVRSxrQkFWZ0IsQ0FVaEIsZ0JBQWdCLENBQUM7RUExWnJCLDJCQUEyQixFQUFFLE1BQU87RUFrTXBDLFVBQVUsRUE5TXFCLElBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3pCLGtCQUFPLEVvQzFPcUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENwQzBPckQsa0JBQU87RW9DM0J0QixNQUFNLEVBaE5vQixPQUFPO0VBaU5qQyxVQUFVLEVBbE5vQixVQUFVLENBQUMsS0FBSyxDQUFDLElBQUk7RUFxTm5ELDJCQUEyQixFQUFFLFdBQUk7RUFDakMsVUFBVSxFcENJSyx3QkFBTztFb0NIdEIsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsS0FBTTtFQUNmLElBQUksRUFBRSxDQUFFO0VBQ1IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLENBQUU7RUFDVCxHQUFHLEVBQUUsQ0FBRTtFQUNQLE9BQU8sRUFBRSxJQUFLLEdBMk0rQjtFQXpNN0MsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQStMakMsQUFVRSxrQkFWZ0IsQ0FVaEIsZ0JBQWdCLEFBeE1qQixNQUFNLENBQUM7TUFDTixVQUFVLEVwQ1BDLHlCQUFPLEdvQ1FuQjs7QUF3TUQsQUFDRSx1QkFEcUIsQ0FDckIsc0JBQXNCLENBQUM7RUFDckIsYUFBYSxFQUFFLElBQUs7RUFDcEIsaUJBQWlCLEVBQUUsSUFBSztFQUN4QixjQUFjLEVBQUUsSUFBSztFQUNyQixZQUFZLEVBQUUsSUFBSztFQUNuQixTQUFTLEVBQUUsSUFBSztFQUNoQixPQUFPLEVBQUUsSUFBSyxHQUNmOztBQVJILEFBU0UsdUJBVHFCLENBU3JCLGdCQUFnQixDQUFDO0VBcmFyQiwyQkFBMkIsRUFBRSxNQUFPO0VBa01wQyxVQUFVLEVBOU1xQixJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3BDME96QixrQkFBTyxFb0MxT3FDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3JELGtCQUFPO0VvQzNCdEIsTUFBTSxFQWhOb0IsT0FBTztFQWlOakMsVUFBVSxFQWxOb0IsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBcU5uRCwyQkFBMkIsRUFBRSxXQUFJO0VBQ2pDLFVBQVUsRXBDSUssd0JBQU87RW9DSHRCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLEtBQU07RUFDZixJQUFJLEVBQUUsQ0FBRTtFQUNSLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEtBQUssRUFBRSxDQUFFO0VBQ1QsR0FBRyxFQUFFLENBQUU7RUFDUCxPQUFPLEVBQUUsSUFBSyxHQXNOK0I7RUFwTjdDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUEyTWpDLEFBU0UsdUJBVHFCLENBU3JCLGdCQUFnQixBQW5OakIsTUFBTSxDQUFDO01BQ04sVUFBVSxFcENQQyx5QkFBTyxHb0NRbkI7O0FBbU5ELEFBQ0Usd0JBRHNCLENBQ3RCLHFCQUFxQixDQUFDO0VBQ3BCLGFBQWEsRUFBRSxJQUFLO0VBQ3BCLGlCQUFpQixFQUFFLElBQUs7RUFDeEIsY0FBYyxFQUFFLElBQUs7RUFDckIsWUFBWSxFQUFFLElBQUs7RUFDbkIsU0FBUyxFQUFFLElBQUs7RUFDaEIsT0FBTyxFQUFFLElBQUssR0FDZjs7QUFSSCxBQVNFLHdCQVRzQixDQVN0QixnQkFBZ0IsQ0FBQztFQWhickIsMkJBQTJCLEVBQUUsTUFBTztFQWtNcEMsVUFBVSxFQTlNcUIsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENwQzBPekIsa0JBQU8sRW9DMU9xQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3BDME9yRCxrQkFBTztFb0MzQnRCLE1BQU0sRUFoTm9CLE9BQU87RUFpTmpDLFVBQVUsRUFsTm9CLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSTtFQXFObkQsMkJBQTJCLEVBQUUsV0FBSTtFQUNqQyxVQUFVLEVwQ0lLLHdCQUFPO0VvQ0h0QixNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxLQUFNO0VBQ2YsSUFBSSxFQUFFLENBQUU7RUFDUixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxDQUFFO0VBQ1AsT0FBTyxFQUFFLElBQUssR0FpTytCO0VBL043QyxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBQyxRQUFRO0lBc05qQyxBQVNFLHdCQVRzQixDQVN0QixnQkFBZ0IsQUE5TmpCLE1BQU0sQ0FBQztNQUNOLFVBQVUsRXBDUEMseUJBQU8sR29DUW5COztBQThORCxBQUNFLHNCQURvQixDQUNwQix1QkFBdUIsQ0FBQztFQUN0QixhQUFhLEVBQUUsSUFBSztFQUNwQixpQkFBaUIsRUFBRSxJQUFLO0VBQ3hCLGNBQWMsRUFBRSxJQUFLO0VBQ3JCLFlBQVksRUFBRSxJQUFLO0VBQ25CLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLE9BQU8sRUFBRSxJQUFLLEdBQ2Y7O0FBUkgsQUFTRSxzQkFUb0IsQ0FTcEIsZ0JBQWdCLENBQUM7RUEzYnJCLDJCQUEyQixFQUFFLE1BQU87RUFrTXBDLFVBQVUsRUE5TXFCLElBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3pCLGtCQUFPLEVvQzFPcUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENwQzBPckQsa0JBQU87RW9DM0J0QixNQUFNLEVBaE5vQixPQUFPO0VBaU5qQyxVQUFVLEVBbE5vQixVQUFVLENBQUMsS0FBSyxDQUFDLElBQUk7RUFxTm5ELDJCQUEyQixFQUFFLFdBQUk7RUFDakMsVUFBVSxFcENJSyx3QkFBTztFb0NIdEIsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsS0FBTTtFQUNmLElBQUksRUFBRSxDQUFFO0VBQ1IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLENBQUU7RUFDVCxHQUFHLEVBQUUsQ0FBRTtFQUNQLE9BQU8sRUFBRSxJQUFLLEdBNE8rQjtFQTFPN0MsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUMsUUFBUTtJQWlPakMsQUFTRSxzQkFUb0IsQ0FTcEIsZ0JBQWdCLEFBek9qQixNQUFNLENBQUM7TUFDTixVQUFVLEVwQ1BDLHlCQUFPLEdvQ1FuQjs7QUF5T0QsQUFDRSx5QkFEdUIsQ0FDdkIsb0JBQW9CLENBQUM7RUFDbkIsYUFBYSxFQUFFLElBQUs7RUFDcEIsaUJBQWlCLEVBQUUsSUFBSztFQUN4QixjQUFjLEVBQUUsSUFBSztFQUNyQixZQUFZLEVBQUUsSUFBSztFQUNuQixTQUFTLEVBQUUsSUFBSztFQUNoQixPQUFPLEVBQUUsSUFBSyxHQUNmOztBQVJILEFBU0UseUJBVHVCLENBU3ZCLGdCQUFnQixDQUFDO0VBdGNyQiwyQkFBMkIsRUFBRSxNQUFPO0VBa01wQyxVQUFVLEVBOU1xQixJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3BDME96QixrQkFBTyxFb0MxT3FDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDcEMwT3JELGtCQUFPO0VvQzNCdEIsTUFBTSxFQWhOb0IsT0FBTztFQWlOakMsVUFBVSxFQWxOb0IsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJO0VBcU5uRCwyQkFBMkIsRUFBRSxXQUFJO0VBQ2pDLFVBQVUsRXBDSUssd0JBQU87RW9DSHRCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLEtBQU07RUFDZixJQUFJLEVBQUUsQ0FBRTtFQUNSLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEtBQUssRUFBRSxDQUFFO0VBQ1QsR0FBRyxFQUFFLENBQUU7RUFDUCxPQUFPLEVBQUUsSUFBSyxHQXVQK0I7RUFyUDdDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFDLFFBQVE7SUE0T2pDLEFBU0UseUJBVHVCLENBU3ZCLGdCQUFnQixBQXBQakIsTUFBTSxDQUFDO01BQ04sVUFBVSxFcENQQyx5QkFBTyxHb0NRbkI7O0FBc1BELEFBQ0UsaUJBRGUsQ0FDZixxQkFBcUIsQ0FBQztFQUFFLElBQUksRW5DcGN4QixVQUFVLEdtQ29jd0M7O0FBRHhELEFBRUUsaUJBRmUsQ0FFZixzQkFBc0IsQ0FBQztFQUFFLEtBQUssRW5DcmMxQixVQUFVLEdtQ3FjMEM7O0FBRjFELEFBR0UsaUJBSGUsQ0FHZixvQkFBb0IsQ0FBQztFQUFFLEdBQUcsRW5DdGN0QixTQUFVLEdtQ3NjdUM7O0FBSHZELEFBSUUsaUJBSmUsQ0FJZix1QkFBdUIsQ0FBQztFQUFFLE1BQU0sRW5DdmM1QixTQUFVLEdtQ3VjNkM7O0FBSjdELEFBTWUsaUJBTkUsQ0FNZixVQUFVLEdBQUcsV0FBVyxDQUFDO0VBQUUsS0FBSyxFbkN6YzVCLFNBQVUsR21DeWN5Qzs7QUFOekQsQUFPZ0IsaUJBUEMsQ0FPZixXQUFXLEdBQUcsV0FBVyxDQUFDO0VBQUUsSUFBSSxFbkMxYzVCLFNBQVUsR21DMGN5Qzs7QUFQekQsQUFRYyxpQkFSRyxDQVFmLFNBQVMsR0FBRyxXQUFXLENBQUM7RUFBRSxLQUFLLEVuQzNjM0IsUUFBVSxHbUMyY3lDOztBQVJ6RCxBQVNpQixpQkFUQSxDQVNmLFlBQVksR0FBRyxXQUFXLENBQUM7RUFBRSxJQUFJLEVuQzVjN0IsUUFBVSxHbUM0YzJDOztBQUszRCxBQUFBLGFBQWEsQ0FBQztFQXhkaEIsMkJBQTJCLEVBQUUsTUFBTztFQThOcEMsMEJBQTBCLEVBQUUsS0FBTTtFQUNsQyxVQUFVLEV4QzlNSSxPQUFPO0V3QytNckIsTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsV0FBWTtFQUN4QixNQUFNLEVBQUUsQ0FBRTtFQUNWLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFbkNoT0csU0FBVTtFbUNpT2xCLE1BQU0sRW5Dak9FLFFBQVU7RW1Da09sQixPQUFPLEVBQUUsSUFBSztFQS9OZCxpQkFBaUIsRUFBRSx3QkFBVztFQUMzQixjQUFjLEVBQUUsd0JBQVc7RUFDMUIsYUFBYSxFQUFFLG1CQUFTO0VBQ3ZCLFlBQVksRUFBRSx3QkFBVztFQUN0QixTQUFTLEVBQUUsd0JBQVc7RUE4TjVCLElBQUksRUFBRSxDQUFFO0VBZ0JWLGtCQUFrQixFQUFDLDRCQUFDO0VBQ3BCLGVBQWUsRUFBQyx5QkFBQztFQUNqQixjQUFjLEVBQUMsd0JBQUM7RUFDaEIsYUFBYSxFQUFDLHVCQUFDO0VBQ2YsVUFBVSxFQUFDLG9CQUFDLEdBNk5UO0VBTEQsQUEzUEYsYUEyUGUsQ0EzUGYsQ0FBQyxDQUFDO0lBN05GLDJCQUEyQixFQUFFLE1BQU8sR0E2TlA7RUEyUDNCLEFBck5NLGFBcU5PLENBck5mLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDUixVQUFVLEVBelNPLElBQUk7SUEwU3JCLGFBQWEsRUEvU2dCLElBQUk7SUFnVGpDLFVBQVUsRUFqVGdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBVztJQWtUL0MsS0FBSyxFeEM4ZmdCLElBQUk7SXdDN2Z6QixXQUFXLEV4Q25RSSxJQUFJO0l3Q29RbkIsT0FBTyxFQTFUZ0IsTUFBSyxDbkN3RHRCLFNBQVU7SW1DbVFoQixjQUFjLEVBelRnQixTQUFTO0lBaVV2QyxNQUFNLEVBM1RlLENBQUMsR0FrVnZCO0lBK0tDLEFBck5NLGFBcU5PLENBck5mLEtBQUssR0FBRyxDQUFDLEFBU04sTUFBTSxDQUFDO01BQ04sVUFBVSxFQS9TVyxPQUFXO01BZ1RoQyxhQUFhLEVBOVNtQixJQUFJO01BK1NwQyxVQUFVLEVBaFRtQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQVcsR0FpVG5EO0lBd01ELEFBck5NLGFBcU5PLENBck5mLEtBQUssR0FBRyxDQUFDLEFBaUNGLE9BQU8sQ0FBQztNQVViLE9BQU8sRUFBRSxLQUFNO01BSWIsWUFBWSxFQUFFLEtBQU07TUFXeEIsT0FBTyxFQUFFLE1BQU8sR0F2QlQ7RUFrTEwsQUFBQSxhQUFhLEFBRVYsV0FBVyxFQUZkLEFBQUEsYUFBYSxBQUVJLHdCQUF3QixFQUZ6QyxBQUFBLGFBQWEsQUFFK0Isa0JBQWtCLENBQUM7SUFoZGpFLGlCQUFpQixFQUFFLHFCQUFXO0lBQzNCLGNBQWMsRUFBRSxxQkFBVztJQUMxQixhQUFhLEVBQUUsZ0JBQVM7SUFDdkIsWUFBWSxFQUFFLHFCQUFXO0lBQ3RCLFNBQVMsRUFBRSxxQkFBVyxHQThjekI7O0FBR0gsQUFBQSxjQUFjLENBQUM7RUEvZGpCLDJCQUEyQixFQUFFLE1BQU87RUE4TnBDLDBCQUEwQixFQUFFLEtBQU07RUFDbEMsVUFBVSxFeEM5TUksT0FBTztFd0MrTXJCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsVUFBVSxFQUFFLFdBQVk7RUFDeEIsTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsTUFBTztFQUNuQixVQUFVLEVBQUUsSUFBSztFQUNqQixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRW5DaE9HLFNBQVU7RW1DaU9sQixNQUFNLEVuQ2pPRSxRQUFVO0VtQ2tPbEIsT0FBTyxFQUFFLElBQUs7RUEvTmQsaUJBQWlCLEVBQUUsdUJBQVc7RUFDM0IsY0FBYyxFQUFFLHVCQUFXO0VBQzFCLGFBQWEsRUFBRSxrQkFBUztFQUN2QixZQUFZLEVBQUUsdUJBQVc7RUFDdEIsU0FBUyxFQUFFLHVCQUFXO0VBa081QixLQUFLLEVBQUUsQ0FBRTtFQVlYLGtCQUFrQixFQUFDLDRCQUFDO0VBQ3BCLGVBQWUsRUFBQyx5QkFBQztFQUNqQixjQUFjLEVBQUMsd0JBQUM7RUFDaEIsYUFBYSxFQUFDLHVCQUFDO0VBQ2YsVUFBVSxFQUFDLG9CQUFDLEdBb09UO0VBTEQsQUFsUUYsY0FrUWdCLENBbFFoQixDQUFDLENBQUM7SUE3TkYsMkJBQTJCLEVBQUUsTUFBTyxHQTZOUDtFQWtRM0IsQUE1Tk0sY0E0TlEsQ0E1TmhCLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDUixVQUFVLEVBelNPLElBQUk7SUEwU3JCLGFBQWEsRUEvU2dCLElBQUk7SUFnVGpDLFVBQVUsRUFqVGdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBVztJQWtUL0MsS0FBSyxFeEM4ZmdCLElBQUk7SXdDN2Z6QixXQUFXLEV4Q25RSSxJQUFJO0l3Q29RbkIsT0FBTyxFQTFUZ0IsTUFBSyxDbkN3RHRCLFNBQVU7SW1DbVFoQixjQUFjLEVBelRnQixTQUFTO0lBaVV2QyxNQUFNLEVBM1RlLENBQUMsR0FrVnZCO0lBc0xDLEFBNU5NLGNBNE5RLENBNU5oQixLQUFLLEdBQUcsQ0FBQyxBQVNOLE1BQU0sQ0FBQztNQUNOLFVBQVUsRUEvU1csT0FBVztNQWdUaEMsYUFBYSxFQTlTbUIsSUFBSTtNQStTcEMsVUFBVSxFQWhUbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFXLEdBaVRuRDtJQStNRCxBQTVOTSxjQTROUSxDQTVOaEIsS0FBSyxHQUFHLENBQUMsQUFzQkYsTUFBTSxDQUFDO01BNkJaLE9BQU8sRUFBRSxLQUFNO01BSWIsV0FBVyxFQUFFLEtBQU07TUFHdkIsT0FBTyxFQUFFLE1BQU8sR0FsQ1Q7RUFvTUwsQUFBQSxjQUFjLEFBRVgsVUFBVSxFQUZiLEFBQUEsY0FBYyxBQUVFLHVCQUF1QixFQUZ2QyxBQUFBLGNBQWMsQUFFNEIsa0JBQWtCLENBQUM7SUF2ZC9ELGlCQUFpQixFQUFFLHFCQUFXO0lBQzNCLGNBQWMsRUFBRSxxQkFBVztJQUMxQixhQUFhLEVBQUUsZ0JBQVM7SUFDdkIsWUFBWSxFQUFFLHFCQUFXO0lBQ3RCLFNBQVMsRUFBRSxxQkFBVyxHQXFkekI7O0FBR0gsQUFBQSxZQUFZLENBQUM7RUF0ZWYsMkJBQTJCLEVBQUUsTUFBTztFQThOcEMsMEJBQTBCLEVBQUUsS0FBTTtFQUNsQyxVQUFVLEV4QzlNSSxPQUFPO0V3QytNckIsTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsV0FBWTtFQUN4QixNQUFNLEVBQUUsQ0FBRTtFQUNWLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFbkNoT0csU0FBVTtFbUNpT2xCLE1BQU0sRW5Dak9FLFFBQVU7RW1Da09sQixPQUFPLEVBQUUsSUFBSztFQS9OZCxpQkFBaUIsRUFBRSx3QkFBVztFQUMzQixjQUFjLEVBQUUsd0JBQVc7RUFDMUIsYUFBYSxFQUFFLG1CQUFTO0VBQ3ZCLFlBQVksRUFBRSx3QkFBVztFQUN0QixTQUFTLEVBQUUsd0JBQVc7RUFzTzVCLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFQUFFLElBQUs7RUFPZCxrQkFBa0IsRUFBQyw0QkFBQztFQUNwQixlQUFlLEVBQUMseUJBQUM7RUFDakIsY0FBYyxFQUFDLHdCQUFDO0VBQ2hCLGFBQWEsRUFBQyx1QkFBQztFQUNmLFVBQVUsRUFBQyxvQkFBQyxHQTJPVDtFQUxELEFBelFGLFlBeVFjLENBelFkLENBQUMsQ0FBQztJQTdORiwyQkFBMkIsRUFBRSxNQUFPLEdBNk5QO0VBeVEzQixBQW5PTSxZQW1PTSxDQW5PZCxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsVUFBVSxFQXpTTyxJQUFJO0lBMFNyQixhQUFhLEVBL1NnQixJQUFJO0lBZ1RqQyxVQUFVLEVBalRnQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQVc7SUFrVC9DLEtBQUssRXhDOGZnQixJQUFJO0l3QzdmekIsV0FBVyxFeENuUUksSUFBSTtJd0NvUW5CLE9BQU8sRUExVGdCLE1BQUssQ25Dd0R0QixTQUFVO0ltQ21RaEIsY0FBYyxFQXpUZ0IsU0FBUztJQWlVdkMsTUFBTSxFQTNUZSxDQUFDLEdBa1Z2QjtJQTZMQyxBQW5PTSxZQW1PTSxDQW5PZCxLQUFLLEdBQUcsQ0FBQyxBQVNOLE1BQU0sQ0FBQztNQUNOLFVBQVUsRUEvU1csT0FBVztNQWdUaEMsYUFBYSxFQTlTbUIsSUFBSTtNQStTcEMsVUFBVSxFQWhUbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFXLEdBaVRuRDtFQXNORCxBQUFBLFlBQVksQUFFVCxZQUFZLEVBRmYsQUFBQSxZQUFZLEFBRU0seUJBQXlCLEVBRjNDLEFBQUEsWUFBWSxBQUVrQyxrQkFBa0IsQ0FBQztJQTlkbkUsaUJBQWlCLEVBQUUscUJBQVc7SUFDM0IsY0FBYyxFQUFFLHFCQUFXO0lBQzFCLGFBQWEsRUFBRSxnQkFBUztJQUN2QixZQUFZLEVBQUUscUJBQVc7SUFDdEIsU0FBUyxFQUFFLHFCQUFXLEdBNGR6Qjs7QUFHSCxBQUFBLGVBQWUsQ0FBQztFQTdlbEIsMkJBQTJCLEVBQUUsTUFBTztFQThOcEMsMEJBQTBCLEVBQUUsS0FBTTtFQUNsQyxVQUFVLEV4QzlNSSxPQUFPO0V3QytNckIsTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsV0FBWTtFQUN4QixNQUFNLEVBQUUsQ0FBRTtFQUNWLFVBQVUsRUFBRSxNQUFPO0VBQ25CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFbkNoT0csU0FBVTtFbUNpT2xCLE1BQU0sRW5Dak9FLFFBQVU7RW1Da09sQixPQUFPLEVBQUUsSUFBSztFQS9OZCxpQkFBaUIsRUFBRSx1QkFBVztFQUMzQixjQUFjLEVBQUUsdUJBQVc7RUFDMUIsYUFBYSxFQUFFLGtCQUFTO0VBQ3ZCLFlBQVksRUFBRSx1QkFBVztFQUN0QixTQUFTLEVBQUUsdUJBQVc7RUEyTzVCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsS0FBSyxFQUFFLElBQUs7RUFFZCxrQkFBa0IsRUFBQyw0QkFBQztFQUNwQixlQUFlLEVBQUMseUJBQUM7RUFDakIsY0FBYyxFQUFDLHdCQUFDO0VBQ2hCLGFBQWEsRUFBQyx1QkFBQztFQUNmLFVBQVUsRUFBQyxvQkFBQyxHQWtQVDtFQUxELEFBaFJGLGVBZ1JpQixDQWhSakIsQ0FBQyxDQUFDO0lBN05GLDJCQUEyQixFQUFFLE1BQU8sR0E2TlA7RUFnUjNCLEFBMU9NLGVBME9TLENBMU9qQixLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsVUFBVSxFQXpTTyxJQUFJO0lBMFNyQixhQUFhLEVBL1NnQixJQUFJO0lBZ1RqQyxVQUFVLEVBalRnQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQVc7SUFrVC9DLEtBQUssRXhDOGZnQixJQUFJO0l3QzdmekIsV0FBVyxFeENuUUksSUFBSTtJd0NvUW5CLE9BQU8sRUExVGdCLE1BQUssQ25Dd0R0QixTQUFVO0ltQ21RaEIsY0FBYyxFQXpUZ0IsU0FBUztJQWlVdkMsTUFBTSxFQTNUZSxDQUFDLEdBa1Z2QjtJQW9NQyxBQTFPTSxlQTBPUyxDQTFPakIsS0FBSyxHQUFHLENBQUMsQUFTTixNQUFNLENBQUM7TUFDTixVQUFVLEVBL1NXLE9BQVc7TUFnVGhDLGFBQWEsRUE5U21CLElBQUk7TUErU3BDLFVBQVUsRUFoVG1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBVyxHQWlUbkQ7RUE2TkQsQUFBQSxlQUFlLEFBRVosU0FBUyxFQUZaLEFBQUEsZUFBZSxBQUVBLHNCQUFzQixFQUZyQyxBQUFBLGVBQWUsQUFFeUIsa0JBQWtCLENBQUM7SUFyZTdELGlCQUFpQixFQUFFLHFCQUFXO0lBQzNCLGNBQWMsRUFBRSxxQkFBVztJQUMxQixhQUFhLEVBQUUsZ0JBQVM7SUFDdkIsWUFBWSxFQUFFLHFCQUFXO0lBQ3RCLFNBQVMsRUFBRSxxQkFBVyxHQW1lekI7O0FBV0QsQUFBMkQscUJBQXRDLENBQUMsRUFBRSxBQUFBLGdCQUFnQixDQUFDLEVBQUUsQUFBQSxZQUFZLEdBQUcsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQXRNcEUsT0FBTyxFQUFFLEtBQU07RUFJYixXQUFXLEVBQUUsS0FBTTtFQUd2QixPQUFPLEVBQUUsTUFBTyxHQWlNWDs7QUFDRCxBQUE0RCxzQkFBdEMsQ0FBQyxFQUFFLEFBQUEsZ0JBQWdCLENBQUMsRUFBRSxBQUFBLFlBQVksR0FBRyxDQUFDLEFBQUEsT0FBTyxDQUFDO0VBak50RSxPQUFPLEVBQUUsS0FBTTtFQUliLFlBQVksRUFBRSxLQUFNO0VBV3hCLE9BQU8sRUFBRSxNQUFPLEdBb01YOztBQ3JXSCxvQkFBZ0Q7QUFDaEQsTUFBTSxNQUFELE1BQU07RUFDVCxBQUFBLG9CQUFvQixFQUFFLEFBQUEsa0JBQWtCLEVBQUUsQUFBQSxlQUFlLEVBQUUsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLHFCQUFxQixFQUFFLEFBQUEsbUJBQW1CLEVBQUUsQUFBQSxnQkFBZ0IsRUFBRSxBQUFBLHFCQUFxQixFQUFFLEFBQUEsb0JBQW9CLEVBQUUsQUFBQSxrQkFBa0IsRUFBRSxBQUFBLGVBQWUsRUFBRSxBQUFBLG9CQUFvQixFQUFFLEFBQUEscUJBQXFCLEVBQUUsQUFBQSxtQkFBbUIsRUFBRSxBQUFBLGdCQUFnQixFQUFFLEFBQUEscUJBQXFCLEVBQUUsQUFBQSxzQkFBc0IsRUFBRSxBQUFBLG9CQUFvQixFQUFFLEFBQUEsaUJBQWlCLEVBQUUsQUFBQSxzQkFBc0IsQ0FBbmE7SUFDRSxPQUFPLEVBQUUsa0JBQW1CLEdBQzdCO0VBQ0QsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLGtCQUFrQixFQUFFLEFBQUEsZUFBZSxFQUFFLEFBQUEsb0JBQW9CLEVBQUUsQUFBQSxxQkFBcUIsRUFBRSxBQUFBLG1CQUFtQixFQUFFLEFBQUEsZ0JBQWdCLEVBQUUsQUFBQSxxQkFBcUIsRUFBRSxBQUFBLG9CQUFvQixFQUFFLEFBQUEsa0JBQWtCLEVBQUUsQUFBQSxlQUFlLEVBQUUsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLHFCQUFxQixFQUFFLEFBQUEsbUJBQW1CLEVBQUUsQUFBQSxnQkFBZ0IsRUFBRSxBQUFBLHFCQUFxQixFQUFFLEFBQUEsc0JBQXNCLEVBQUUsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLGlCQUFpQixFQUFFLEFBQUEsc0JBQXNCLENBQW5hO0lBQ0UsT0FBTyxFQUFFLGVBQWdCLEdBQzFCO0VBRUMsQUFBQSx1QkFBdUIsRUFBRSxBQUFBLHFCQUFxQixFQUFFLEFBQUEsa0JBQWtCLEVBQUUsQUFBQSx1QkFBdUIsRUFBRSxBQUFBLHVCQUF1QixFQUFFLEFBQUEscUJBQXFCLEVBQUUsQUFBQSxrQkFBa0IsRUFBRSxBQUFBLHdCQUF3QixFQUFFLEFBQUEsc0JBQXNCLEVBQUUsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLGlCQUFpQixFQUFFLEFBQUEsdUJBQXVCLEVBQUUsQUFBQSx1QkFBdUIsRUFBRSxBQUFBLHFCQUFxQixFQUFFLEFBQUEsa0JBQWtCLEVBQUUsQUFBQSx3QkFBd0IsRUFBRSxBQUFBLHdCQUF3QixFQUFFLEFBQUEsc0JBQXNCLEVBQUUsQUFBQSxtQkFBbUIsRUFBRSxBQUFBLHlCQUF5QixDQUFuZDtJckNnQ04sUUFBUSxFQUFFLGlCQUFrQjtJQUM1QixNQUFNLEVBQUUsSUFBSztJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osUUFBUSxFQUFFLE9BQVE7SUFDbEIsSUFBSSxFQUFFLElBQUssR3FDbENKO0VBQ0QsQUFBQSxzQkFBc0IsRUFBRSxBQUFBLG9CQUFvQixFQUFFLEFBQUEsaUJBQWlCLEVBQUUsQUFBQSxzQkFBc0IsRUFBRSxBQUFBLHdCQUF3QixFQUFFLEFBQUEsc0JBQXNCLEVBQUUsQUFBQSxtQkFBbUIsRUFBRSxBQUFBLHVCQUF1QixFQUFFLEFBQUEsdUJBQXVCLEVBQUUsQUFBQSxxQkFBcUIsRUFBRSxBQUFBLGtCQUFrQixFQUFFLEFBQUEsc0JBQXNCLEVBQUUsQUFBQSx3QkFBd0IsRUFBRSxBQUFBLHNCQUFzQixFQUFFLEFBQUEsbUJBQW1CLEVBQUUsQUFBQSx1QkFBdUIsRUFBRSxBQUFBLHlCQUF5QixFQUFFLEFBQUEsdUJBQXVCLEVBQUUsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLHdCQUF3QixDQUF2ZDtJckNrQk4sSUFBSSxFQUFFLHdCQUFJO0lBQ1YsTUFBTSxFQUFFLEdBQUk7SUFDWixRQUFRLEVBQUUsTUFBTztJQUNqQixRQUFRLEVBQUUsbUJBQW9CO0lBQzlCLEtBQUssRUFBRSxHQUFJLEdxQ3BCSjtFQUdELEFBQUssS0FBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUssS0FBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUssS0FBQSxBQUFBLGVBQWUsRUFBRSxBQUFLLEtBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxtQkFBbUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxnQkFBZ0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxlQUFlLEVBQUUsQUFBSyxLQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBSyxLQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBSyxLQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBSyxLQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBSyxLQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBSyxLQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBSyxLQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBSyxLQUFBLEFBQUEsaUJBQWlCLEVBQUUsQUFBSyxLQUFBLEFBQUEsc0JBQXNCLENBQXZnQjtJQUNFLE9BQU8sRUFBRSxnQkFBaUIsR0FDM0I7RUFDRCxBQUFLLEtBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxlQUFlLEVBQUUsQUFBSyxLQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBSyxLQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBSyxLQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBSyxLQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBSyxLQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBSyxLQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBSyxLQUFBLEFBQUEsa0JBQWtCLEVBQUUsQUFBSyxLQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUssS0FBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUssS0FBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUssS0FBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUssS0FBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUssS0FBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUssS0FBQSxBQUFBLHNCQUFzQixFQUFFLEFBQUssS0FBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUssS0FBQSxBQUFBLGlCQUFpQixFQUFFLEFBQUssS0FBQSxBQUFBLHNCQUFzQixDQUF2Z0I7SUFDRSxPQUFPLEVBQUUsNkJBQThCLEdBQ3hDO0VBQ0QsQUFBSyxLQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBSyxLQUFBLEFBQUEsa0JBQWtCLEVBQUUsQUFBSyxLQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUssS0FBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUssS0FBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUssS0FBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUssS0FBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUssS0FBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUssS0FBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUssS0FBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUssS0FBQSxBQUFBLGVBQWUsRUFBRSxBQUFLLEtBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxtQkFBbUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxnQkFBZ0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxzQkFBc0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFLLEtBQUEsQUFBQSxpQkFBaUIsRUFBRSxBQUFLLEtBQUEsQUFBQSxzQkFBc0IsQ0FBdmdCO0lBQ0UsT0FBTyxFQUFFLDBCQUEyQixHQUNyQztFQUNELEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGVBQWUsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxtQkFBbUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxnQkFBZ0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxxQkFBcUIsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsaUJBQWlCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLENBQTNjO0lBQ0UsT0FBTyxFQUFFLFNBQVUsR0FDcEI7RUFDRCxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxvQkFBb0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGVBQWUsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9C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RSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxrQkFBa0IsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsZUFBZSxFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLG1CQUFtQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLGdCQUFnQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLHFCQUFxQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLG9CQUFvQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGtCQUFrQixFQUFFLEFBQUUsRUFBQSxBQUFBLGVBQWUsRUFBRSxBQUFFLEVBQUEsQUFBQSxlQUFlLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsbUJBQW1CLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEsZ0JBQWdCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEscUJBQXFCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsc0JBQXNCLEVBQUUsQUFBRSxFQUFBLEFBQUEsb0JBQW9CLEVBQUUsQUFBRSxFQUFBLEFBQUEs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QUNwRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsR0FBSSxHQUFJOztBQUNsRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN2RCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN2RCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN2RCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsUUFBUyxHQUFJOztBQUN4RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsUUFBUyxHQUFJOztBQUN6RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsUUFBUyxHQUFJOztBQUN6RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN6RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM5RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM5RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM5RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNoRSxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMzRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMxRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMzRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMxRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMzRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMxRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUM1RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUMzRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNqRSxBQUFBLHlCQUF5QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNsRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLHlCQUF5QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNsRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDZCQUE2QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJ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bUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN2RCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN2RCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsUUFBUyxHQUFJOztBQUN4RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsUUFBUyxHQUFJOztBQUN6RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsUUFBUyxHQUFJOztBQUN6RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN6RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM5RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM5RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM5RCxBQUFBLHFCQUFxQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNoRSxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUN0RCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMzRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMxRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMzRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMxRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMzRCxBQUFBLGtCQUFrQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMxRCxBQUFBLG1CQUFtQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUM1RCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLG9CQUFvQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUM3RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUMvRCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUMzRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNoRSxBQUFBLHVCQUF1QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUMvRCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNqRSxBQUFBLHlCQUF5QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNsRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLHlCQUF5QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNsRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDJCQUEyQixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsWUFBYSxHQUFJOztBQUNwRSxBQUFBLDZCQUE2QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsT0FBUSxHQUFJOztBQUNqRSxBQUFBLDZCQUE2QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNyRSxBQUFBLDZCQUE2QixDQUFDO0VBQUUsbUJBQW1CLEVBQUUsV0FBWSxHQUFJOztBQUNyRSxBQUFBLDZCQUE2QixDQUFDO0VB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QUFOLEtBQUs7RUFDRCxBQUFBLENBQUMsQ0FBQztJQUNFLFVBQVUsRUFBRSxzQkFBdUI7SUFDbkMsS0FBSyxFQUFFLGVBQWdCO0lBQUUscUNBQXFDO0lBQzlELFVBQVUsRUFBRSxlQUFnQjtJQUM1QixXQUFXLEVBQUUsZUFBZ0IsR0FDaEM7RUFFRCxBQUFBLENBQUM7RUFDRCxBQUFDLENBQUEsQUFBQSxRQUFRLENBQUM7SUFDTixlQUFlLEVBQUUsU0FBVSxHQUM5QjtFQUVELEFBQU8sQ0FBTixDQUFBLEFBQUEsSUFBQyxBQUFBLENBQUssTUFBTSxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFJLENBQU8sR0FBRyxHQUMvQjtFQUVELEFBQVcsSUFBUCxDQUFBLEFBQUEsS0FBQyxBQUFBLENBQU0sTUFBTSxDQUFDO0lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFJLENBQVEsR0FBRyxHQUNoQztFQUVEOztPQUVHO0VBRUgsQUFBSyxHQUFGLENBQUMsQ0FBQyxBQUFBLE1BQU07RUFDWCxBQUFzQixDQUFyQixDQUFBLEFBQUEsSUFBQyxFQUFNLGFBQWEsQUFBbkIsQ0FBb0IsTUFBTTtFQUM1QixBQUFZLENBQVgsQ0FBQSxBQUFBLElBQUMsRUFBTSxHQUFHLEFBQVQsQ0FBVSxNQUFNLENBQUM7SUFDZixPQUFPLEVBQUUsRUFBRyxHQUNmO0VBRUQsQUFBQSxHQUFHO0VBQ0gsQUFBQSxVQUFVLENBQUM7SUFDUCxNQUFNLEVBQUUsY0FBZTtJQUN2QixpQkFBaUIsRUFBRSxLQUFNLEdBQzVCO0VBRUQsQUFBQSxLQUFLLENBQUM7SUFDRixPQUFPLEVBQUUsa0JBQW1CO0lBQUUsZ0JBQWdCLEVBQ2pEO0VBRUQsQUFBQSxFQUFFO0VBQ0YsQUFBQSxHQUFHLENBQUM7SUFDQSxpQkFBaUIsRUFBRSxLQUFNLEdBQzVCO0VBRUQsQUFBQSxHQUFHLENBQUM7SUFDQSxTQUFTLEVBQUUsZUFBZ0IsR0FDOUI7RUFFRCxLQUFLO0lBQ0QsTUFBTSxFQUFFLEtBQU07RUFHbEIsQUFBQSxDQUFDO0VBQ0QsQUFBQSxFQUFFO0VBQ0YsQUFBQSxFQUFFLENBQUM7SUFDQyxPQUFPLEVBQUUsQ0FBRTtJQUNYLE1BQU0sRUFBRSxDQUFFLEdBQ2I7RUFFRCxBQUFBLEVBQUU7RUFDRixBQUFBLEVBQUUsQ0FBQztJQUNDLGdCQUFnQixFQUFFLEtBQU0sR0FDM0I7RUFFRCxBQUFBLGVBQWUsQ0FBQTtJQUNYLE9BQU8sRUFBRSxJQUFLLEdBQ2pCIiwibmFtZXMiOltdfQ== */
