meta.foundation-version { font-family: "/{{VERSION}}/"; }

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:48em)/"; width: 48em; }

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

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%; }

html { box-sizing: border-box; }

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

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

body { background: #fff; color: #222; cursor: auto; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-style: normal; font-weight: normal; line-height: 1.5; margin: 0; padding: 0; position: relative; }

a:hover { cursor: pointer; }

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

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

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

.left { float: left !important; }

.right { float: right !important; }

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

.clearfix:after { clear: both; }

.hide { display: none; }

.invisible { visibility: hidden; }

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

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

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

select { width: 100%; }

.row { margin: 0 auto; max-width: 62.5rem; width: 100%; }

.row:before, .row:after { content: " "; display: table; }

.row:after { clear: both; }

.row.collapse > .column, .row.collapse > .columns { padding-left: 0; padding-right: 0; }

.row.collapse .row { margin-left: 0; margin-right: 0; }

.row .row { margin: 0 -0.9375rem; max-width: none; width: auto; }

.row .row:before, .row .row:after { content: " "; display: table; }

.row .row:after { clear: both; }

.row .row.collapse { margin: 0; max-width: none; width: auto; }

.row .row.collapse:before, .row .row.collapse:after { content: " "; display: table; }

.row .row.collapse:after { clear: both; }

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

[class*="column"] + [class*="column"]:last-child { float: right; }

[class*="column"] + [class*="column"].end { float: left; }

@media only screen { .small-push-0 { position: relative; left: 0; right: auto; }
  .small-pull-0 { position: relative; right: 0; left: auto; }
  .small-push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .small-pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .small-push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .small-pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .small-push-3 { position: relative; left: 25%; right: auto; }
  .small-pull-3 { position: relative; right: 25%; left: auto; }
  .small-push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .small-pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .small-push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .small-pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .small-push-6 { position: relative; left: 50%; right: auto; }
  .small-pull-6 { position: relative; right: 50%; left: auto; }
  .small-push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .small-pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .small-push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .small-pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .small-push-9 { position: relative; left: 75%; right: auto; }
  .small-pull-9 { position: relative; right: 75%; left: auto; }
  .small-push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .small-pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .small-push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .small-pull-11 { position: relative; right: 91.6666666667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .small-1 { width: 8.3333333333%; }
  .small-2 { width: 16.6666666667%; }
  .small-3 { width: 25%; }
  .small-4 { width: 33.3333333333%; }
  .small-5 { width: 41.6666666667%; }
  .small-6 { width: 50%; }
  .small-7 { width: 58.3333333333%; }
  .small-8 { width: 66.6666666667%; }
  .small-9 { width: 75%; }
  .small-10 { width: 83.3333333333%; }
  .small-11 { width: 91.6666666667%; }
  .small-12 { width: 100%; }
  .small-offset-0 { margin-left: 0 !important; }
  .small-offset-1 { margin-left: 8.3333333333% !important; }
  .small-offset-2 { margin-left: 16.6666666667% !important; }
  .small-offset-3 { margin-left: 25% !important; }
  .small-offset-4 { margin-left: 33.3333333333% !important; }
  .small-offset-5 { margin-left: 41.6666666667% !important; }
  .small-offset-6 { margin-left: 50% !important; }
  .small-offset-7 { margin-left: 58.3333333333% !important; }
  .small-offset-8 { margin-left: 66.6666666667% !important; }
  .small-offset-9 { margin-left: 75% !important; }
  .small-offset-10 { margin-left: 83.3333333333% !important; }
  .small-offset-11 { margin-left: 91.6666666667% !important; }
  .small-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.small-centered, .columns.small-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.small-uncentered, .columns.small-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.small-centered:last-child, .columns.small-centered:last-child { float: none; }
  .column.small-uncentered:last-child, .columns.small-uncentered:last-child { float: left; }
  .column.small-uncentered.opposite, .columns.small-uncentered.opposite { float: right; }
  .row.small-collapse > .column, .row.small-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.small-collapse .row { margin-left: 0; margin-right: 0; }
  .row.small-uncollapse > .column, .row.small-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; } }

@media only screen and (min-width: 48em) { .medium-push-0 { position: relative; left: 0; right: auto; }
  .medium-pull-0 { position: relative; right: 0; left: auto; }
  .medium-push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .medium-pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .medium-push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .medium-pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .medium-push-3 { position: relative; left: 25%; right: auto; }
  .medium-pull-3 { position: relative; right: 25%; left: auto; }
  .medium-push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .medium-pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .medium-push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .medium-pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .medium-push-6 { position: relative; left: 50%; right: auto; }
  .medium-pull-6 { position: relative; right: 50%; left: auto; }
  .medium-push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .medium-pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .medium-push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .medium-pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .medium-push-9 { position: relative; left: 75%; right: auto; }
  .medium-pull-9 { position: relative; right: 75%; left: auto; }
  .medium-push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .medium-pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .medium-push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .medium-pull-11 { position: relative; right: 91.6666666667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .medium-1 { width: 8.3333333333%; }
  .medium-2 { width: 16.6666666667%; }
  .medium-3 { width: 25%; }
  .medium-4 { width: 33.3333333333%; }
  .medium-5 { width: 41.6666666667%; }
  .medium-6 { width: 50%; }
  .medium-7 { width: 58.3333333333%; }
  .medium-8 { width: 66.6666666667%; }
  .medium-9 { width: 75%; }
  .medium-10 { width: 83.3333333333%; }
  .medium-11 { width: 91.6666666667%; }
  .medium-12 { width: 100%; }
  .medium-offset-0 { margin-left: 0 !important; }
  .medium-offset-1 { margin-left: 8.3333333333% !important; }
  .medium-offset-2 { margin-left: 16.6666666667% !important; }
  .medium-offset-3 { margin-left: 25% !important; }
  .medium-offset-4 { margin-left: 33.3333333333% !important; }
  .medium-offset-5 { margin-left: 41.6666666667% !important; }
  .medium-offset-6 { margin-left: 50% !important; }
  .medium-offset-7 { margin-left: 58.3333333333% !important; }
  .medium-offset-8 { margin-left: 66.6666666667% !important; }
  .medium-offset-9 { margin-left: 75% !important; }
  .medium-offset-10 { margin-left: 83.3333333333% !important; }
  .medium-offset-11 { margin-left: 91.6666666667% !important; }
  .medium-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.medium-centered, .columns.medium-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.medium-uncentered, .columns.medium-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.medium-centered:last-child, .columns.medium-centered:last-child { float: none; }
  .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child { float: left; }
  .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite { float: right; }
  .row.medium-collapse > .column, .row.medium-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.medium-collapse .row { margin-left: 0; margin-right: 0; }
  .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .push-0 { position: relative; left: 0; right: auto; }
  .pull-0 { position: relative; right: 0; left: auto; }
  .push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .push-3 { position: relative; left: 25%; right: auto; }
  .pull-3 { position: relative; right: 25%; left: auto; }
  .push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .push-6 { position: relative; left: 50%; right: auto; }
  .pull-6 { position: relative; right: 50%; left: auto; }
  .push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .push-9 { position: relative; left: 75%; right: auto; }
  .pull-9 { position: relative; right: 75%; left: auto; }
  .push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .pull-11 { position: relative; right: 91.6666666667%; left: auto; } }

@media only screen and (min-width: 64.0625em) { .large-push-0 { position: relative; left: 0; right: auto; }
  .large-pull-0 { position: relative; right: 0; left: auto; }
  .large-push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .large-pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .large-push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .large-pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .large-push-3 { position: relative; left: 25%; right: auto; }
  .large-pull-3 { position: relative; right: 25%; left: auto; }
  .large-push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .large-pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .large-push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .large-pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .large-push-6 { position: relative; left: 50%; right: auto; }
  .large-pull-6 { position: relative; right: 50%; left: auto; }
  .large-push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .large-pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .large-push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .large-pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .large-push-9 { position: relative; left: 75%; right: auto; }
  .large-pull-9 { position: relative; right: 75%; left: auto; }
  .large-push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .large-pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .large-push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .large-pull-11 { position: relative; right: 91.6666666667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .large-1 { width: 8.3333333333%; }
  .large-2 { width: 16.6666666667%; }
  .large-3 { width: 25%; }
  .large-4 { width: 33.3333333333%; }
  .large-5 { width: 41.6666666667%; }
  .large-6 { width: 50%; }
  .large-7 { width: 58.3333333333%; }
  .large-8 { width: 66.6666666667%; }
  .large-9 { width: 75%; }
  .large-10 { width: 83.3333333333%; }
  .large-11 { width: 91.6666666667%; }
  .large-12 { width: 100%; }
  .large-offset-0 { margin-left: 0 !important; }
  .large-offset-1 { margin-left: 8.3333333333% !important; }
  .large-offset-2 { margin-left: 16.6666666667% !important; }
  .large-offset-3 { margin-left: 25% !important; }
  .large-offset-4 { margin-left: 33.3333333333% !important; }
  .large-offset-5 { margin-left: 41.6666666667% !important; }
  .large-offset-6 { margin-left: 50% !important; }
  .large-offset-7 { margin-left: 58.3333333333% !important; }
  .large-offset-8 { margin-left: 66.6666666667% !important; }
  .large-offset-9 { margin-left: 75% !important; }
  .large-offset-10 { margin-left: 83.3333333333% !important; }
  .large-offset-11 { margin-left: 91.6666666667% !important; }
  .large-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.large-centered, .columns.large-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.large-uncentered, .columns.large-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.large-centered:last-child, .columns.large-centered:last-child { float: none; }
  .column.large-uncentered:last-child, .columns.large-uncentered:last-child { float: left; }
  .column.large-uncentered.opposite, .columns.large-uncentered.opposite { float: right; }
  .row.large-collapse > .column, .row.large-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.large-collapse .row { margin-left: 0; margin-right: 0; }
  .row.large-uncollapse > .column, .row.large-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .push-0 { position: relative; left: 0; right: auto; }
  .pull-0 { position: relative; right: 0; left: auto; }
  .push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .push-3 { position: relative; left: 25%; right: auto; }
  .pull-3 { position: relative; right: 25%; left: auto; }
  .push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .push-6 { position: relative; left: 50%; right: auto; }
  .pull-6 { position: relative; right: 50%; left: auto; }
  .push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .push-9 { position: relative; left: 75%; right: auto; }
  .pull-9 { position: relative; right: 75%; left: auto; }
  .push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .pull-11 { position: relative; right: 91.6666666667%; left: auto; } }

.accordion { margin-bottom: 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; }

.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: #008CBA; border-color: #0078a0; 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: 3px; }

.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: #e7e7e7; border-color: #c7c7c7; color: #4f4f4f; }

.alert-box.warning { background-color: #f08a24; border-color: #de770f; color: #FFFFFF; }

.alert-box.info { background-color: #a0d3e8; border-color: #74bfdd; color: #4f4f4f; }

.alert-box.alert-close { opacity: 0; }

[class*="block-grid-"] { display: block; padding: 0; margin: 0 -0.625rem; }

[class*="block-grid-"]:before, [class*="block-grid-"]:after { content: " "; display: table; }

[class*="block-grid-"]:after { clear: both; }

[class*="block-grid-"] > li { display: block; float: left; height: auto; padding: 0 0.625rem 1.25rem; }

@media only screen { .small-block-grid-1 > li { list-style: none; width: 100%; }
  .small-block-grid-1 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-1 > li:nth-of-type(1n+1) { clear: both; }
  .small-block-grid-2 > li { list-style: none; width: 50%; }
  .small-block-grid-2 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-2 > li:nth-of-type(2n+1) { clear: both; }
  .small-block-grid-3 > li { list-style: none; width: 33.3333333333%; }
  .small-block-grid-3 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-3 > li:nth-of-type(3n+1) { clear: both; }
  .small-block-grid-4 > li { list-style: none; width: 25%; }
  .small-block-grid-4 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-4 > li:nth-of-type(4n+1) { clear: both; }
  .small-block-grid-5 > li { list-style: none; width: 20%; }
  .small-block-grid-5 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-5 > li:nth-of-type(5n+1) { clear: both; }
  .small-block-grid-6 > li { list-style: none; width: 16.6666666667%; }
  .small-block-grid-6 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-6 > li:nth-of-type(6n+1) { clear: both; }
  .small-block-grid-7 > li { list-style: none; width: 14.2857142857%; }
  .small-block-grid-7 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-7 > li:nth-of-type(7n+1) { clear: both; }
  .small-block-grid-8 > li { list-style: none; width: 12.5%; }
  .small-block-grid-8 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-8 > li:nth-of-type(8n+1) { clear: both; }
  .small-block-grid-9 > li { list-style: none; width: 11.1111111111%; }
  .small-block-grid-9 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-9 > li:nth-of-type(9n+1) { clear: both; }
  .small-block-grid-10 > li { list-style: none; width: 10%; }
  .small-block-grid-10 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-10 > li:nth-of-type(10n+1) { clear: both; }
  .small-block-grid-11 > li { list-style: none; width: 9.0909090909%; }
  .small-block-grid-11 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-11 > li:nth-of-type(11n+1) { clear: both; }
  .small-block-grid-12 > li { list-style: none; width: 8.3333333333%; }
  .small-block-grid-12 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-12 > li:nth-of-type(12n+1) { clear: both; } }

@media only screen and (min-width: 48em) { .medium-block-grid-1 > li { list-style: none; width: 100%; }
  .medium-block-grid-1 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-1 > li:nth-of-type(1n+1) { clear: both; }
  .medium-block-grid-2 > li { list-style: none; width: 50%; }
  .medium-block-grid-2 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-2 > li:nth-of-type(2n+1) { clear: both; }
  .medium-block-grid-3 > li { list-style: none; width: 33.3333333333%; }
  .medium-block-grid-3 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-3 > li:nth-of-type(3n+1) { clear: both; }
  .medium-block-grid-4 > li { list-style: none; width: 25%; }
  .medium-block-grid-4 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-4 > li:nth-of-type(4n+1) { clear: both; }
  .medium-block-grid-5 > li { list-style: none; width: 20%; }
  .medium-block-grid-5 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-5 > li:nth-of-type(5n+1) { clear: both; }
  .medium-block-grid-6 > li { list-style: none; width: 16.6666666667%; }
  .medium-block-grid-6 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-6 > li:nth-of-type(6n+1) { clear: both; }
  .medium-block-grid-7 > li { list-style: none; width: 14.2857142857%; }
  .medium-block-grid-7 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-7 > li:nth-of-type(7n+1) { clear: both; }
  .medium-block-grid-8 > li { list-style: none; width: 12.5%; }
  .medium-block-grid-8 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-8 > li:nth-of-type(8n+1) { clear: both; }
  .medium-block-grid-9 > li { list-style: none; width: 11.1111111111%; }
  .medium-block-grid-9 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-9 > li:nth-of-type(9n+1) { clear: both; }
  .medium-block-grid-10 > li { list-style: none; width: 10%; }
  .medium-block-grid-10 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-10 > li:nth-of-type(10n+1) { clear: both; }
  .medium-block-grid-11 > li { list-style: none; width: 9.0909090909%; }
  .medium-block-grid-11 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-11 > li:nth-of-type(11n+1) { clear: both; }
  .medium-block-grid-12 > li { list-style: none; width: 8.3333333333%; }
  .medium-block-grid-12 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-12 > li:nth-of-type(12n+1) { clear: both; } }

@media only screen and (min-width: 64.0625em) { .large-block-grid-1 > li { list-style: none; width: 100%; }
  .large-block-grid-1 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-1 > li:nth-of-type(1n+1) { clear: both; }
  .large-block-grid-2 > li { list-style: none; width: 50%; }
  .large-block-grid-2 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-2 > li:nth-of-type(2n+1) { clear: both; }
  .large-block-grid-3 > li { list-style: none; width: 33.3333333333%; }
  .large-block-grid-3 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-3 > li:nth-of-type(3n+1) { clear: both; }
  .large-block-grid-4 > li { list-style: none; width: 25%; }
  .large-block-grid-4 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-4 > li:nth-of-type(4n+1) { clear: both; }
  .large-block-grid-5 > li { list-style: none; width: 20%; }
  .large-block-grid-5 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-5 > li:nth-of-type(5n+1) { clear: both; }
  .large-block-grid-6 > li { list-style: none; width: 16.6666666667%; }
  .large-block-grid-6 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-6 > li:nth-of-type(6n+1) { clear: both; }
  .large-block-grid-7 > li { list-style: none; width: 14.2857142857%; }
  .large-block-grid-7 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-7 > li:nth-of-type(7n+1) { clear: both; }
  .large-block-grid-8 > li { list-style: none; width: 12.5%; }
  .large-block-grid-8 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-8 > li:nth-of-type(8n+1) { clear: both; }
  .large-block-grid-9 > li { list-style: none; width: 11.1111111111%; }
  .large-block-grid-9 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-9 > li:nth-of-type(9n+1) { clear: both; }
  .large-block-grid-10 > li { list-style: none; width: 10%; }
  .large-block-grid-10 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-10 > li:nth-of-type(10n+1) { clear: both; }
  .large-block-grid-11 > li { list-style: none; width: 9.0909090909%; }
  .large-block-grid-11 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-11 > li:nth-of-type(11n+1) { clear: both; }
  .large-block-grid-12 > li { list-style: none; width: 8.3333333333%; }
  .large-block-grid-12 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-12 > li:nth-of-type(12n+1) { clear: both; } }

.breadcrumbs { border-style: solid; border-width: 1px; display: block; list-style: none; margin-left: 0; overflow: hidden; padding: 0.5625rem 0.875rem 0.5625rem; background-color: #f4f4f4; border-color: gainsboro; border-radius: 3px; }

.breadcrumbs > * { color: #008CBA; float: left; font-size: 0.6875rem; line-height: 0.6875rem; margin: 0; text-transform: uppercase; }

.breadcrumbs > *:hover a, .breadcrumbs > *:focus a { text-decoration: underline; }

.breadcrumbs > * a { color: #008CBA; }

.breadcrumbs > *.current { color: #333333; cursor: default; }

.breadcrumbs > *.current a { color: #333333; cursor: default; }

.breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a { text-decoration: none; }

.breadcrumbs > *.unavailable { color: #999999; }

.breadcrumbs > *.unavailable a { color: #999999; }

.breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, .breadcrumbs > *.unavailable a:focus { color: #999999; cursor: not-allowed; text-decoration: none; }

.breadcrumbs > *: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: #008CBA; border-color: #007095; color: #FFFFFF; transition: background-color 300ms ease-out; }

button:hover, button:focus, .button:hover, .button:focus { background-color: #007095; }

button:hover, button:focus, .button:hover, .button:focus { color: #FFFFFF; }

button.secondary, .button.secondary { background-color: #e7e7e7; border-color: #b9b9b9; color: #333333; }

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { background-color: #b9b9b9; }

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-left: 0; padding-right: 0; width: 100%; }

button.left-align, .button.left-align { text-align: left; text-indent: 0.75rem; }

button.right-align, .button.right-align { text-align: right; padding-right: 0.75rem; }

button.radius, .button.radius { border-radius: 3px; }

button.round, .button.round { border-radius: 1000px; }

button.disabled, button[disabled], .button.disabled, .button[disabled] { background-color: #008CBA; border-color: #007095; 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: #007095; }

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: #008CBA; }

button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { background-color: #e7e7e7; border-color: #b9b9b9; 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: #b9b9b9; }

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: #e7e7e7; }

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: 48em) { 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.3333333333%; }

.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.6666666667%; }

.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.2857142857%; }

.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; }
  .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: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

.button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.button-group.radius.stack > * { 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: 3px; -webkit-top-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; }

.button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button { -webkit-bottom-left-radius: 3px; -webkit-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; }

@media only screen and (min-width: 48em) { .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: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; } }

@media only screen and (max-width: 40em) { .button-group.radius.stack-for-small > * { 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: 3px; -webkit-top-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { -webkit-bottom-left-radius: 3px; -webkit-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } }

.button-group.round > * { 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: 48em) { .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: 48em) { .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.radius { border-radius: 3px; }

.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.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 { margin: 0 -0.5rem; }

form .row .row .column, form .row .row .columns { padding: 0 0.5rem; }

form .row .row.collapse { margin: 0; }

form .row .row.collapse .column, form .row .row.collapse .columns { padding: 0; }

form .row .row.collapse input { -webkit-border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }

form .row input.column, form .row input.columns, form .row textarea.column, form .row textarea.columns { padding-left: 0.5rem; }

/* Label Styles */
label { color: #4d4c4c; 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: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

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

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

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

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix { background: #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[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; background-color: #FFFFFF; border-style: solid; border-width: 1px; border-color: #cccccc; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); color: 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[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[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[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[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius { border-radius: 3px; }

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

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

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

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

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

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

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

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

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

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

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

/* 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: 3px; }

select:hover { background-color: #f3f2f2; 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 { background: #FFFFFF; font-weight: bold; margin-left: -0.1875rem; margin: 0; 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: 48em) { .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; }

.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: #008CBA; }

.icon-bar > a:hover label { color: #FFFFFF; }

.icon-bar > a:hover i { color: #FFFFFF; }

.icon-bar > a.active { background: #008CBA; }

.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: 48em) { .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: 48em) { .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: 48em) { .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: 48em) { .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: 48em) { .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: 48em) { .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: 48em) { .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-left: -1.375rem; margin-right: 0; margin: 0 auto 1.0625rem auto; 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: 101; 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-bottom-color: transparent !important; border-bottom-style: solid; border-color: #333333 !important; 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 and (min-width: 48em) { .joyride-tip-guide { width: 300px; left: inherit; }
  .joyride-tip-guide .joyride-nub.bottom { border-bottom-color: transparent !important; border-color: #333333 !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-bottom-color: transparent !important; border-color: #333333 !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: 3px; }

.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: #008CBA; color: #FFFFFF; }

.label.radius { border-radius: 3px; }

.label.round { border-radius: 1000px; }

.label.alert { background-color: #f04124; color: #FFFFFF; }

.label.warning { background-color: #f08a24; color: #FFFFFF; }

.label.success { background-color: #43AC6A; color: #FFFFFF; }

.label.secondary { background-color: #e7e7e7; 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: rgba(0, 0, 0, 0); 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 { height: 6px; position: absolute; top: 12px; width: 100px; z-index: 10; right: 10px; }

.orbit-container .orbit-timer .orbit-progress { background-color: rgba(255, 255, 255, 0.3); display: block; height: 3px; position: relative; right: 20px; top: 5px; width: 0; }

.orbit-container .orbit-timer > span { border-bottom: none; border-top: none; border: solid 4px #FFFFFF; display: none; height: 14px; position: absolute; top: 0; width: 11px; right: 0; }

.orbit-container .orbit-timer.paused > span { border-color: transparent; border-left-color: #FFFFFF; border-left-style: solid; border: inset 8px; height: 14px; top: 0; width: 11px; 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: 48em) { .touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next { display: inherit; }
  .touch .orbit-bullets { display: block; } }

@media only screen and (max-width: 40em) { .orbit-stack-on-small .orbit-slides-container { height: auto !important; }
  .orbit-stack-on-small .orbit-slides-container > * { margin: 0  !important; opacity: 1 !important; position: relative; }
  .orbit-stack-on-small .orbit-slide-number { display: none; }
  .orbit-timer { display: none; }
  .orbit-next, .orbit-prev { display: none; }
  .orbit-bullets { display: none; } }

ul.pagination { display: block; margin-left: -0.3125rem; min-height: 1.5rem; }

ul.pagination li { color: #222222; font-size: 0.875rem; height: 1.5rem; margin-left: 0.3125rem; }

ul.pagination li a, ul.pagination li button { border-radius: 3px; transition: background-color 300ms ease-out; background: none; color: #999999; display: block; font-size: 1em; font-weight: normal; line-height: inherit; padding: 0.0625rem 0.625rem 0.0625rem; }

ul.pagination li:hover a, ul.pagination li a:focus, ul.pagination li:hover button, ul.pagination li button:focus { background: #e6e5e5; }

ul.pagination li.unavailable a, ul.pagination li.unavailable button { cursor: default; color: #999999; }

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: #008CBA; 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: #008CBA; }

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-color: #d8d8d8; border-style: solid; border-width: 1px; 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-color: #b6edff; border-style: solid; border-width: 1px; margin-bottom: 1.25rem; padding: 1.25rem; background: #ecfaff; 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: #008CBA; }

.panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus { color: #0078a0; }

.panel.radius { border-radius: 3px; }

/* Pricing Tables */
.pricing-table { border: solid 1px #DDDDDD; margin-left: 0; margin-bottom: 1.25rem; }

.pricing-table * { list-style: none; line-height: 1; }

.pricing-table .title { background-color: #333333; color: #EEEEEE; font-family: "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: #008CBA; display: block; height: 100%; }

.progress.secondary .meter { background: #e7e7e7; display: block; height: 100%; }

.progress.success .meter { background: #43AC6A; display: block; height: 100%; }

.progress.alert .meter { background: #f04124; display: block; height: 100%; }

.progress.radius { border-radius: 3px; }

.progress.radius .meter { border-radius: 2px; }

.progress.round { border-radius: 1000px; }

.progress.round .meter { border-radius: 999px; }

.range-slider { border: 1px solid #DDDDDD; margin: 1.25rem 0; position: relative; -ms-touch-action: none; touch-action: none; display: block; height: 1rem; width: 100%; background: #FAFAFA; }

.range-slider.vertical-range { border: 1px solid #DDDDDD; margin: 1.25rem 0; position: relative; -ms-touch-action: none; touch-action: none; display: inline-block; height: 12.5rem; width: 1rem; }

.range-slider.vertical-range .range-slider-handle { bottom: -10.5rem; margin-left: -0.5rem; margin-top: 0; position: absolute; }

.range-slider.vertical-range .range-slider-active-segment { bottom: 0; height: auto; width: 0.875rem; }

.range-slider.radius { background: #FAFAFA; border-radius: 3px; }

.range-slider.radius .range-slider-handle { background: #008CBA; border-radius: 3px; }

.range-slider.radius .range-slider-handle:hover { background: #007ba4; }

.range-slider.round { background: #FAFAFA; border-radius: 1000px; }

.range-slider.round .range-slider-handle { background: #008CBA; border-radius: 1000px; }

.range-slider.round .range-slider-handle:hover { background: #007ba4; }

.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: #008CBA; cursor: default; opacity: 0.7; }

.range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover { background: #007ba4; }

.range-slider-active-segment { background: #e5e5e5; 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: #008CBA; }

.range-slider-handle:hover { background: #007ba4; }

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

.reveal-modal { border-radius: 3px; display: none; position: absolute; top: 0; visibility: hidden; width: 100%; z-index: 1005; left: 0; 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: 48em) { .reveal-modal { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 80%; } }

@media only screen and (min-width: 48em) { .reveal-modal { top: 6.25rem; } }

.reveal-modal.radius { border-radius: 3px; }

.reveal-modal.round { border-radius: 1000px; }

.reveal-modal.collapse { padding: 0; }

@media only screen and (min-width: 48em) { .reveal-modal.tiny { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 30%; } }

@media only screen and (min-width: 48em) { .reveal-modal.small { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 40%; } }

@media only screen and (min-width: 48em) { .reveal-modal.medium { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 60%; } }

@media only screen and (min-width: 48em) { .reveal-modal.large { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 70%; } }

@media only screen and (min-width: 48em) { .reveal-modal.xlarge { left: 0; margin: 0 auto; max-width: 62.5rem; 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: 48em) { .reveal-modal.full { left: 0; margin: 0 auto; max-width: 62.5rem; 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: #008CBA; 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: #1cc7ff; }

.side-nav li a:not(.button):active { color: #1cc7ff; }

.side-nav li.active > a:first-child:not(.button) { color: #1cc7ff; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-weight: normal; }

.side-nav li.divider { border-top-color: white; border-top: 1px solid; height: 0; list-style: none; padding: 0; }

.side-nav li.heading { color: #008CBA; font-size: 0.875rem; font-weight: bold; text-transform: uppercase; }

.split.button { position: relative; padding-right: 5.0625rem; }

.split.button span { border-left: solid 1px; display: block; height: 100%; position: absolute; top: 0; right: 0; }

.split.button span:after { border-style: inset; content: ""; display: block; height: 0; position: absolute; top: 50%; width: 0; 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: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

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

.split.button.no-pip span:before { border-style: none; }

.split.button.no-pip span:after { border-style: none; }

.split.button.no-pip span > i { display: block; left: 50%; margin-left: -0.28889em; margin-top: -0.48889em; position: absolute; top: 50%; }

.sub-nav { display: block; margin: -0.25rem 0 1.125rem; overflow: hidden; padding-top: 0.25rem; width: auto; }

.sub-nav dt { text-transform: uppercase; }

.sub-nav dt, .sub-nav dd, .sub-nav li { color: #999999; float: left; font-family: "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: #008CBA; 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: #0078a0; }

.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: #008CBA; }

.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: #008CBA; }

.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: #FFFFFF; border: solid 1px #DDDDDD; margin-bottom: 1.25rem; table-layout: auto; }

table caption { background: transparent; color: #222222; font-size: 1rem; font-weight: bold; }

table thead { background: #F5F5F5; }

table thead tr th, table thead tr td { color: #222222; font-size: 0.875rem; font-weight: bold; padding: 0.5rem 0.625rem 0.625rem; }

table tfoot { background: #F5F5F5; }

table tfoot tr th, table tfoot tr td { color: #222222; font-size: 0.875rem; font-weight: bold; padding: 0.5rem 0.625rem 0.625rem; }

table tr th, table tr td { color: #222222; font-size: 0.875rem; padding: 0.5625rem 0.625rem; text-align: left; }

table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #F9F9F9; }

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

.tabs.radius dd:last-child a, .tabs.radius .tab:last-child a { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.tabs.vertical dd, .tabs.vertical .tab-title { position: inherit; float: none; display: block; top: auto; }

.tabs-content { 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: 48em) { .tabs.vertical { float: left; margin: 0 0 1.25rem; 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(0, 140, 186, 0.5); }

.th.radius { border-radius: 3px; }

/* Tooltips */
.has-tip { border-bottom: dotted 1px #CCCCCC; color: #333333; cursor: help; font-weight: bold; }

.has-tip:hover, .has-tip:focus { border-bottom: dotted 1px #003f54; color: #008CBA; }

.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-color: transparent transparent #333333 transparent; border: solid 5px; display: block; height: 0; pointer-events: none; position: absolute; top: -10px; width: 0; left: 5px; }

.tooltip > .nub.rtl { left: auto; right: 5px; }

.tooltip.radius { border-radius: 3px; }

.tooltip.round { border-radius: 1000px; }

.tooltip.round > .nub { left: 2rem; }

.tooltip.opened { border-bottom: dotted 1px #003f54 !important; color: #008CBA !important; }

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

@media only screen and (min-width: 48em) { .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:48em)/"; width: 48em; }

/* 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 { max-width: none; }

.top-bar form, .top-bar input { margin-bottom: 0; }

.top-bar input { 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; }

.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 #1a1919; 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; 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: #008CBA; border-color: #007095; color: #FFFFFF; }

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { background-color: #007095; }

.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: #e7e7e7; border-color: #b9b9b9; color: #333333; }

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { background-color: #b9b9b9; }

.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: #008CBA; border-color: #007095; color: #FFFFFF; }

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { background-color: #007095; }

.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: #e7e7e7; border-color: #b9b9b9; color: #333333; }

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { background-color: #b9b9b9; }

.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; background: #333333; color: #FFFFFF; }

.top-bar-section ul li.active > a { background: #008CBA; color: #FFFFFF; }

.top-bar-section ul li.active > a:hover { background: #0078a0; 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 { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; width: 100%; }

.top-bar-section .has-dropdown.moved > a:after { display: none; }

.top-bar-section .dropdown { padding: 0; position: absolute; top: 0; z-index: 99; display: block; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; 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: 48em) { .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 .button, .top-bar button { font-size: 0.875rem; height: 1.75rem; position: relative; top: 0.53125rem; }
  .top-bar.expanded { background: #333333; }
  .contain-to-grid .top-bar { margin-bottom: 0; margin: 0 auto; max-width: 62.5rem; }
  .top-bar-section { transition: none 0 0; left: 0 !important; }
  .top-bar-section ul { display: inline; height: auto !important; width: auto; }
  .top-bar-section ul li { float: left; }
  .top-bar-section ul li .js-generated { display: none; }
  .top-bar-section li.hover > a:not(.button) { background-color: #555555; background: #333333; 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: #333333; }
  .top-bar-section li.active:not(.has-form) a:not(.button) { background: #008CBA; color: #FFFFFF; line-height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section li.active:not(.has-form) a:not(.button):hover { background: #0078a0; 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 { display: block; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; }
  .top-bar-section .has-dropdown > a:focus + .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; }
  .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { border: none; content: "\00bb"; line-height: 1.2; margin-top: -1px; top: 1rem; 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: #333333; }
  .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: #333333; color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a { background: #008CBA; color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; } }

@media screen and (-webkit-min-device-pixel-ratio: 0) { .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul { padding: 0; } }

@media screen and (-webkit-min-device-pixel-ratio: 0) { .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul { padding: 0; } }

.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: 48em) 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: 48em) { .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: 99999999em) { .xxlarge-only-text-left { text-align: left !important; }
  .xxlarge-only-text-right { text-align: right !important; }
  .xxlarge-only-text-center { text-align: center !important; }
  .xxlarge-only-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) { .xxlarge-text-left { text-align: left !important; }
  .xxlarge-text-right { text-align: right !important; }
  .xxlarge-text-center { text-align: center !important; }
  .xxlarge-text-justify { text-align: justify !important; } }

/* Typography resets */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; }

/* Default Link Styles */
a { color: #008CBA; line-height: inherit; text-decoration: none; }

a:hover, a:focus { color: #0078a0; }

a img { border: none; }

/* Default paragraph styles */
p { font-family: inherit; font-size: 1rem; font-weight: normal; line-height: 1.6; margin-bottom: 1.25rem; text-rendering: optimizeLegibility; }

p.lead { font-size: 1.21875rem; line-height: 1.6; }

p aside { font-size: 0.875rem; font-style: italic; line-height: 1.35; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 { color: #222222; font-family: "Helvetica Neue", Helvetica, Roboto, 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: 2.125rem; }

h2 { font-size: 1.6875rem; }

h3 { font-size: 1.375rem; }

h4 { font-size: 1.125rem; }

h5 { font-size: 1.125rem; }

h6 { font-size: 1rem; }

.subheader { line-height: 1.4; color: #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: #f8f8f8; border-color: #dfdfdf; border-style: solid; border-width: 1px; color: #333333; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; padding: 0.125rem 0.3125rem 0.0625rem; }

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

ul { margin-left: 1.1rem; }

ul.no-bullet { margin-left: 0; }

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

/* 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; }

ul.no-bullet { list-style: none; }

/* Ordered Lists */
ol { margin-left: 1.4rem; }

ol li ul, ol li ol { margin-left: 1.25rem; margin-bottom: 0; }

/* 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: 48em) { h1, h2, h3, h4, h5, h6 { line-height: 1.4; }
  h1 { font-size: 2.75rem; }
  h2 { font-size: 2.3125rem; }
  h3 { font-size: 1.6875rem; }
  h4 { font-size: 1.4375rem; }
  h5 { font-size: 1.125rem; }
  h6 { font-size: 1rem; } }

.off-canvas-wrap { -webkit-backface-visibility: hidden; position: relative; width: 100%; overflow: hidden; }

.off-canvas-wrap.move-right, .off-canvas-wrap.move-left { 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 #1a1919; left: 0; }

.right-small { height: 2.8125rem; position: absolute; top: 0; width: 2.8125rem; border-left: solid 1px #1a1919; 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 #b3b2b2, 0 7px 0 1px #b3b2b2, 0 14px 0 1px #b3b2b2; }

.left-off-canvas-menu { -webkit-backface-visibility: hidden; background: #333333; bottom: 0; box-sizing: content-box; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; 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); -ms-transform: translate3d(-100%, 0, 0); -o-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); left: 0; }

.left-off-canvas-menu * { -webkit-backface-visibility: hidden; }

.right-off-canvas-menu { -webkit-backface-visibility: hidden; background: #333333; bottom: 0; box-sizing: content-box; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; 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); -ms-transform: translate3d(100%, 0, 0); -o-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); right: 0; }

.right-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: #999999; display: block; font-size: 0.75rem; font-weight: bold; margin: 0; padding: 0.3rem 0.9375rem; text-transform: uppercase; }

ul.off-canvas-list li a { border-bottom: 1px solid #262626; color: rgba(255, 255, 255, 0.7); display: block; padding: 0.6666666667rem; transition: background 300ms ease; }

ul.off-canvas-list li a:hover { background: #242424; }

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); -ms-transform: translate3d(15.625rem, 0, 0); -o-transform: translate3d(15.625rem, 0, 0); transform: translate3d(15.625rem, 0, 0); }

.move-right .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .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); -ms-transform: translate3d(-15.625rem, 0, 0); -o-transform: translate3d(-15.625rem, 0, 0); transform: translate3d(-15.625rem, 0, 0); }

.move-left .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .move-left .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu { -ms-transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; transform: none; z-index: 1003; }

.offcanvas-overlap .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .offcanvas-overlap .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-left .right-off-canvas-menu { -ms-transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; transform: none; z-index: 1003; }

.offcanvas-overlap-left .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .offcanvas-overlap-left .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-right .left-off-canvas-menu { -ms-transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; transform: none; z-index: 1003; }

.offcanvas-overlap-right .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .offcanvas-overlap-right .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 .move-left > .inner-wrap { right: 15.625rem; }

.no-csstransforms .move-right > .inner-wrap { left: 15.625rem; }

.left-submenu { -webkit-backface-visibility: hidden; -webkit-overflow-scrolling: touch; background: #333333; bottom: 0; box-sizing: content-box; margin: 0; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; width: 15.625rem; z-index: 1002; -webkit-transform: translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0); -ms-transform: translate(-100%, 0); -ms-transform: translate3d(-100%, 0, 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: #999999; 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); -ms-transform: translate3d(0%, 0, 0); -o-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); }

.right-submenu { -webkit-backface-visibility: hidden; -webkit-overflow-scrolling: touch; background: #333333; bottom: 0; box-sizing: content-box; margin: 0; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; width: 15.625rem; z-index: 1002; -webkit-transform: translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0); -ms-transform: translate(100%, 0); -ms-transform: translate3d(100%, 0, 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: #999999; 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); -ms-transform: translate3d(0%, 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: 48em) { .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 styles. Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) */
.print-only { display: none !important; }

@media print { * { background: transparent !important; box-shadow: none !important; color: #000000 !important; /* Black prints faster: h5bp.com/s */ text-shadow: none !important; }
  .show-for-print { display: block; }
  .hide-for-print { display: none; }
  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; }
  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: .5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .hide-on-print { display: none !important; }
  .print-only { display: block !important; }
  .hide-for-print { display: none !important; }
  .show-for-print { display: inherit !important; } }

/* Print visibility */
@media print { .show-for-print { display: block; }
  .hide-for-print { display: none; }
  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; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRhdGlvbi5jc3MiLCJzb3VyY2VzIjpbImZvdW5kYXRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsImZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b24tZ3JvdXBzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24tYnV0dG9ucy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2ljb24tYmFyLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2tleXN0cm9rZXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N1Yi1uYXYuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGh1bWJzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdHlwZS5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIE1ha2Ugc3VyZSB0aGUgY2hhcnNldCBpcyBzZXQgYXBwcm9wcmlhdGVseVxuXG4vLyBCZWhvbGQsIGhlcmUgYXJlIGFsbCB0aGUgRm91bmRhdGlvbiBjb21wb25lbnRzLlxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2dyaWQnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvYWxlcnQtYm94ZXMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Jsb2NrLWdyaWQnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b24tZ3JvdXBzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b25zJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9jbGVhcmluZyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbnMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Zvcm1zJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9pY29uLWJhcic7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvaW5saW5lLWxpc3RzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9qb3lyaWRlJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9rZXlzdHJva2VzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9sYWJlbHMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL21hZ2VsbGFuJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFuZWxzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9wcmljaW5nLXRhYmxlcyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFycyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3NpZGUtbmF2JztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zcGxpdC1idXR0b25zJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zdWItbmF2JztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zd2l0Y2hlcyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdGFibGVzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90aHVtYnMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Rvb2x0aXBzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy90eXBlJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9vZmZjYW52YXMnO1xuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Zpc2liaWxpdHknO1xuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMDAwKSAhZGVmYXVsdDtcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7XG5cbi8vXG4vLyBHcmlkIEZ1bmN0aW9uc1xuLy9cblxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMSwgdXNlIGdyaWQtY2FsYygpXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICBAd2FybiBcImdyaWRDYWxjKCkgaXMgZGVwcmVjYXRlZCwgdXNlIGdyaWQtY2FsYygpXCI7XG4gIEByZXR1cm4gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpO1xufVxuXG4vLyBARlVOQ1RJT05cbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG4vLyAkdG90YWxDb2x1bW5zIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQGZ1bmN0aW9uIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XG4gIEBpZiAkcmVzdWx0ID09IDAlIHsgJHJlc3VsdDogMDsgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cbi8vXG4vL1xuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxuQG1peGluIGdyaWQtcm93KCRiZWhhdmlvcjogZmFsc2UpIHtcblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XG4gIEBpZiAkYmVoYXZpb3IgPT0gbmVzdCB7XG4gICAgbWFyZ2luOiAwICgtKCRjb2x1bW4tZ3V0dGVyLzIpKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3coY29sbGFwc2UpOyB0byBjb2xsYXBzZWQgYSBjb250YWluZXIgcm93IG1hcmdpbnNcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IGNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QtY29sbGFwc2UpOyB0byBjb2xsYXBzZSBvdXRlciBtYXJnaW5zIG9uIGEgbmVzdGVkIHJvd1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xuICBAZWxzZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXJmaXggZm9yIGFsbCByb3dzXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb2x1bW4sIHNob3VsZCBiZSB1c2VkIGluc2lkZSBvZiBhIG1lZGlhIHF1ZXJ5IHRvIGNvbnRyb2wgbGF5b3V0c1xuLy9cbi8vICRjb2x1bW5zIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIHRoaXMgc2hvdWxkIGJlXG4vLyAkbGFzdC1jb2x1bW4gLSBJcyB0aGlzIHRoZSBsYXN0IGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJG9mZnNldCAtICMgb2YgY29sdW1ucyB0byBvZmZzZXQuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1c2ggLSAjIG9mIGNvbHVtbnMgdG8gcHVzaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRjb2xsYXBzZSAtIEdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmcgb24gY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRmbG9hdCAtIFNob3VsZCB0aGlzIGZsb2F0PyBEZWZhdWx0OiB0cnVlLiBPcHRpb25zOiB0cnVlLCBmYWxzZSwgbGVmdCwgcmlnaHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOmZhbHNlLFxuICAkbGFzdC1jb2x1bW46ZmFsc2UsXG4gICRjZW50ZXI6ZmFsc2UsXG4gICRvZmZzZXQ6ZmFsc2UsXG4gICRwdXNoOmZhbHNlLFxuICAkcHVsbDpmYWxzZSxcbiAgJGNvbGxhcHNlOmZhbHNlLFxuICAkZmxvYXQ6dHJ1ZSxcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgLy8gSWYgcG9zaXRpb25lZCBmb3IgZGVmYXVsdCAuY29sdW1uLCBpbmNsdWRlIHJlbGF0aXZlIHBvc2l0aW9uXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcbiAgQGlmICRwb3NpdGlvbiBvciAkcHVzaCBvciAkcHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gSWYgY29sbGFwc2VkLCBnZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nXG4gIEBpZiAkY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gR3V0dGVyIHBhZGRpbmcgd2hlbmV2ZXIgYSBjb2x1bW4gaXNuJ3Qgc2V0IHRvIGNvbGxhcHNlXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcbiAgQGVsc2UgaWYgJGNvbGxhcHNlID09IGZhbHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICB9XG5cbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcbiAgQGlmICRjb2x1bW5zIHtcbiAgICB3aWR0aDogZ3JpZC1jYWxjKCRjb2x1bW5zLCAkdG90YWwtY29sdW1ucyk7XG5cbiAgICAvLyBJZiBsYXN0IGNvbHVtbiwgZmxvYXQgbmF0dXJhbGx5IGluc3RlYWQgb2YgdG8gdGhlIHJpZ2h0XG4gICAgQGlmICRsYXN0LWNvbHVtbiB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gIH1cblxuICAvLyBTb3VyY2UgT3JkZXJpbmcsIGFkZHMgbGVmdC9yaWdodCBkZXBlbmRpbmcgb24gd2hpY2ggeW91IHVzZS5cbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XG4gIEBpZiAkcHVsbCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGdyaWQtY2FsYygkcHVsbCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bzsgfVxuXG4gIEBpZiAkZmxvYXQge1xuICAgIEBpZiAkZmxvYXQgPT0gbGVmdCBvciAkZmxvYXQgPT0gdHJ1ZSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgIEBlbHNlIGlmICRmbG9hdCA9PSByaWdodCB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxuICB9XG5cbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkb2Zmc2V0IHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XG5cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAuI3skc2l6ZX0tI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJG9mZnNldDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOnRydWUsICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGR7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBGaWdodGluZyAuY29sdW1uLjxwcmV2aW91cy1zaXplPi1jZW50ZXJlZDpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gIH1cblxuXHQucm93IHtcblx0XHQmLiN7JHNpemV9LWNvbGxhcHNlIHtcblx0XHRcdD4gLmNvbHVtbixcblx0XHRcdD4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG5cdFx0XHQucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG5cdFx0fVxuXHRcdCYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XG5cdFx0XHQ+IC5jb2x1bW4sXG5cdFx0XHQ+IC5jb2x1bW5zIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgID4gLmNvbHVtbixcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICAgIH1cblxuICAgICAgLnJvdyB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0KTtcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokdG90YWwtY29sdW1ucyk7IH1cblxuICAgIFtjbGFzcyo9XCJjb2x1bW5cIl0gKyBbY2xhc3MqPVwiY29sdW1uXCJdOmxhc3QtY2hpbGQgeyBmbG9hdDogJGxhc3QtY2hpbGQtZmxvYXQ7IH1cbiAgICBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXS5lbmQgeyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7IH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XG4gICAgICAvLyBPbGQgcHVzaCBhbmQgcHVsbCBjbGFzc2VzXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcbi8vXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xuLy9cblxuLy8gRGF0YSBhdHRyaWJ1dGUgbmFtZXNwYWNlXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDI0cHggd2hpbGUgJGJhc2UtZm9udC1zaXplIGlzIDE2cHhcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcbi8vXG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XG5AbWl4aW4gcmFkaXVzKCRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxuQG1peGluIHNpZGUtcmFkaXVzKCRzaWRlLCAkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxuLy8gJGFjdGl2ZSAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gaW5zZXQtc2hhZG93KCRhY3RpdmU6dHJ1ZSkge1xuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xuXG4gIEBpZiAkYWN0aXZlIHsgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6ZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0KSB7XG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0eSAkc3BlZWQgJGVhc2U7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYm94LXNpemluZyBhY3Jvc3MgYnJvd3NlciBwcmVmaXhlc1xuQG1peGluIGJveC1zaXppbmcoJHR5cGU6Ym9yZGVyLWJveCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICR0eXBlOyAvLyBBbmRyb2lkIDwgMi4zLCBpT1MgPCA0XG4gICAgIC1tb3otYm94LXNpemluZzogJHR5cGU7XG4gICAgICAgICAgYm94LXNpemluZzogJHR5cGU7IC8vIENocm9tZSwgSUUgOCssIE9wZXJhLCBTYWZhcmkgNS4xXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xuLy8gJHRyaWFuZ2xlLXNpemUgLSBVc2VkIHRvIHNldCBib3JkZXItc2l6ZS4gTm8gZGVmYXVsdCwgc2V0IGEgcHggb3IgZW0gc2l6ZS5cbi8vICR0cmlhbmdsZS1jb2xvciAtIFVzZWQgdG8gc2V0IGJvcmRlci1jb2xvciB3aGljaCBtYWtlcyB1cCB0cmlhbmdsZS4gTm8gZGVmYXVsdFxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuQG1peGluIGNzcy10cmlhbmdsZSgkdHJpYW5nbGUtc2l6ZSwgJHRyaWFuZ2xlLWNvbG9yLCAkdHJpYW5nbGUtZGlyZWN0aW9uKSB7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdG9wKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGJvdHRvbSkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cbi8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbVxuLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRjb2xvciAtIGljb24gY29sb3Jcbi8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3IgZHVyaW5nIGhvdmVyXG4vLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWUgb2YgQGluY2x1ZGUgaW4gb2ZmY2FudmFzXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XG4gIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaWYgJG9mZmNhbnZhcyB7XG4gICAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJHdpZHRoLzIpO1xuICAgICAgfVxuICAgICAgQGlmICRsZWZ0IHtcbiAgICAgICAgbGVmdDogJGxlZnQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6ICgkdGFiYmFyLW1lbnUtaWNvbi13aWR0aCAtICR3aWR0aCkvMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLXRvcDogLSgkd2lkdGgvMik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGNvbG9yO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbiAgc3Bhbjpob3ZlcjphZnRlciB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmJlZm9yZSwgJjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBkaXNwbGF5OiB0YWJsZTsgfVxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBhIGdsb3dpbmcgZWZmZWN0IHRvIGJsb2NrIGVsZW1lbnRzXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcbi8vICRmYWRlLXRpbWUgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yIC0gRGVmYXVsdDogZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSlcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRmYWRlLXRpbWUsIGJvcmRlci1jb2xvciAkZmFkZS10aW1lIGVhc2UtaW4tb3V0O1xuXG4gICY6I3skc2VsZWN0b3J9IHtcbiAgICBib3JkZXItY29sb3I6ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gdHJhbnNsYXRlIGVsZW1lbnRzIGluIDJEXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxuLy8gJHZlcnRpY2FsOiBEZWZhdWx0OiAwXG5AbWl4aW4gdHJhbnNsYXRlMmQoJGhvcml6b250YWw6MCwgJHZlcnRpY2FsOjApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4kd2hpdGUgICAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kc25vdyAgICAgICAgICA6ICNGOUY5RjkgIWRlZmF1bHQ7XG4kdmFwb3IgICAgICAgICA6ICNGNkY2RjYgIWRlZmF1bHQ7XG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XG4kc2lsdmVyICAgICAgICA6ICNFRkVGRUYgIWRlZmF1bHQ7XG4kc21va2UgICAgICAgICA6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XG4kaXJvbiAgICAgICAgICA6ICNDQ0NDQ0MgIWRlZmF1bHQ7XG4kYmFzZSAgICAgICAgICA6ICNBQUFBQUEgIWRlZmF1bHQ7XG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kanVtYm8gICAgICAgICA6ICM4ODg4ODggIWRlZmF1bHQ7XG4kbW9uc29vbiAgICAgICA6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XG4kY2hhcmNvYWwgICAgICA6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kdHVhdGFyYSAgICAgICA6ICM0NDQ0NDQgIWRlZmF1bHQ7XG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kamV0ICAgICAgICAgICA6ICMyMjIyMjIgIWRlZmF1bHQ7XG4kYmxhY2sgICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4kcHJpbWFyeS1jb2xvcjogIzAwOENCQSAhZGVmYXVsdDsgICAvLyBib25kaS1ibHVlXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xuJGFsZXJ0LWNvbG9yOiAjZjA0MTI0ICFkZWZhdWx0OyAgICAgLy8gY2lubmFiYXJcbiRzdWNjZXNzLWNvbG9yOiAjNDNBQzZBICFkZWZhdWx0OyAgIC8vIHNlYS1ncmVlblxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XG4kaW5mby1jb2xvcjogI2EwZDNlOCAhZGVmYXVsdDsgICAgICAvLyBjb3JuZmxvd2VyXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4kYm9keS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3NcbiR0ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XG4kb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodCAhZGVmYXVsdDtcbkBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gbHRyIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xufSBAZWxzZSB7XG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcbn1cblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2Ugc3VyZSBib3JkZXIgcmFkaXVzIG1hdGNoZXMgdW5sZXNzIHdlIHdhbnQgaXQgZGlmZmVyZW50LlxuJGdsb2JhbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KSAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgjMDAwLCAuMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG5cbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuJHNtYWxsLXJhbmdlOiAoMCwgNDBlbSkgIWRlZmF1bHQ7XG4kbWVkaXVtLXJhbmdlOiAoNDguMDAwZW0sIDY0ZW0pICFkZWZhdWx0O1xuJGxhcmdlLXJhbmdlOiAoNjQuMDYyNWVtLCA5MGVtKSAhZGVmYXVsdDtcbiR4bGFyZ2UtcmFuZ2U6ICg5MC4wNjI1ZW0sIDEyMGVtKSAhZGVmYXVsdDtcbiR4eGxhcmdlLXJhbmdlOiAoMTIwLjA2MjVlbSwgOTk5OTk5OTllbSkgIWRlZmF1bHQ7XG5cblxuJHNjcmVlbjogXCJvbmx5IHNjcmVlblwiICFkZWZhdWx0O1xuXG4kbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiICFkZWZhdWx0O1xuJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIgIWRlZmF1bHQ7XG5cbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcbiRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuLy8gTGVnYWN5XG4kc21hbGw6ICRtZWRpdW0tdXA7XG4kbWVkaXVtOiAkbWVkaXVtLXVwO1xuJGxhcmdlOiAkbGFyZ2UtdXA7XG5cblxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4kY3Vyc29yLWF1dG8tdmFsdWU6IGF1dG8gIWRlZmF1bHQ7XG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xuJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XG4kY3Vyc29yLXRleHQtdmFsdWU6IHRleHQgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdsb2JhbFwiKSB7XG5cbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGluY2x1ZGVkIGluIGFsbCBidWlsZHMsIGFzIHRoZXkgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXG5cbiAgbWV0YS5mb3VuZGF0aW9uLXZlcnNpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIi97e1ZFUlNJT059fS9cIjtcbiAgfVxuXG4gIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XG4gICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gIH1cblxuICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtb25seSkgKyBcIi9cIjtcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgfVxuXG4gIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS11cCkgKyBcIi9cIjtcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gIH1cblxuICBtZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtLW9ubHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xuICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgfVxuXG4gIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2UtdXApICsgXCIvXCI7XG4gICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gIH1cblxuICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2Utb25seSkgKyBcIi9cIjtcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgfVxuXG4gIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gIH1cblxuICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgfVxuXG4gIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4eGxhcmdlLXVwKSArIFwiL1wiO1xuICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSk7XG4gIH1cblxuICBtZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcbiAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcbiAgfVxuXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcblxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICBodG1sIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICAgIH1cblxuICAgIGh0bWwsXG4gICAgYm9keSB7IGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplOyB9XG5cbiAgICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWF1dG8tdmFsdWU7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkYm9keS1mb250LXN0eWxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRib2R5LWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0OyAvLyBTZXQgdG8gJGJhc2UtbGluZS1oZWlnaHQgdG8gdGFrZSBvbiBicm93c2VyIGRlZmF1bHQgb2YgMTUwJVxuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgYTpob3ZlciB7IGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlOyB9XG5cbiAgICAvLyBHcmlkIERlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblxuICAgIGltZyB7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuICAgICNtYXBfY2FudmFzLFxuICAgIC5tYXBfY2FudmFzLFxuICAgIC5tcWEtZGlzcGxheSB7XG4gICAgICBpbWcsXG4gICAgICBlbWJlZCxcbiAgICAgIG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1pc2NlbGxhbmVvdXMgdXNlZnVsIEhUTUwgY2xhc3Nlc1xuICAgIC5sZWZ0IHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmNsZWFyZml4IHsgQGluY2x1ZGUgY2xlYXJmaXg7IH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgICAuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAgICAuaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbiAgICAvLyBGb250IHNtb290aGluZ1xuICAgIC8vIEFudGlhbGlhc2VkIGZvbnQgc21vb3RoaW5nIHdvcmtzIGJlc3QgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQuXG4gICAgLy8gQXBwbHkgdG8gc2luZ2xlIGVsZW1lbnRzIGluc3RlYWQgb2YgZ2xvYmFsbHkgdG8gYm9keS5cbiAgICAvLyBOb3RlIHRoaXMgb25seSBhcHBsaWVzIHRvIHdlYmtpdC1iYXNlZCBkZXNrdG9wIGJyb3dzZXJzIGFuZCBGaXJlZm94IDI1IChhbmQgbGF0ZXIpIG9uIHRoZSBNYWMuXG4gICAgLmFudGlhbGlhc2VkIHsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEdsb2JhbCByZXNldHMgZm9yIGZvcm1zXG4gICAgLy9cblxuICAgIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICAgIHRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbiAgICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgICBzZWxlY3QgeyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIElNUE9SVCBPTkNFXG4vLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cbiRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcblxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXG4gICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xuICAvLyBDaGVjayBpZiBhIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBsaXN0XG4gICRtb2R1bGVfaW5kZXg6IGluZGV4KCRtb2R1bGVzLCAkbmFtZSk7XG4gIEBpZiAoKCRtb2R1bGVfaW5kZXggPT0gbnVsbCkgb3IgKCRtb2R1bGVfaW5kZXggPT0gZmFsc2UpKSB7XG4gICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9cbi8vIEBmdW5jdGlvbnNcbi8vXG5cblxuLy8gUkFOR0VTXG4vLyBXZSB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGRlZmluZSByYW5nZXMgZm9yIHZhcmlvdXMgdGhpbmdzLCBsaWtlIG1lZGlhIHF1ZXJpZXMuXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcbn1cblxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDIpO1xufVxuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gVEVYVCBJTlBVVCBUWVBFU1xuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0ICkge1xuXG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdGV4dC1pbnB1dC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yXG4gICAgdGV4dGFyZWE7XG5cbiAgQGlmICR0eXBlcyA9PSBhbGwgeyAkdHlwZXM6ICRhbGwtdGV4dC1pbnB1dC10eXBlczsgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgQGlmICR0eXBlID09IHRleHRhcmVhIHtcbiAgICAgIEBpZiAkc2VsZWN0b3IgPT0gaW5wdXQge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0nKSwgY29tbWEpXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9I3skc2VsZWN0b3J9JyksIGNvbW1hKVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHNlbGVjdG9yfVt0eXBlPVwiI3skdHlwZX1cIl0nKSwgY29tbWEpXG4gICAgfVxuICB9XG5cbiAgICBAcmV0dXJuICRyZXR1cm47XG5cbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBkYXRhKCRhdHRyKSB7XG4gIEBpZiAkbmFtZXNwYWNlIHtcbiAgICBAcmV0dXJuICdbZGF0YS0nICsgJG5hbWVzcGFjZSArICctJyArICRhdHRyICsgJ10nO1xuICB9XG5cbiAgQHJldHVybiAnW2RhdGEtJyArICRhdHRyICsgJ10nO1xufVxuXG4vLyBSRU0gQ0FMQ1xuXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcbi8vXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xuLy9cbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy9cbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxuLy9cbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XG4vL1xuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XG4vL1xuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblxuICAkcmVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbiAgfVxuICBAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG5cbi8vIE9MRCBFTSBDQUxDXG4vLyBEZXByZWNhdGVkOiBXZSdsbCBkcm9wIHN1cHBvcnQgZm9yIHRoaXMgaW4gNS4xLjAsIHVzZSByZW0tY2FsYygpXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcbiAgQHJldHVybiByZW0tY2FsYygkdmFsdWVzKTtcbn1cblxuLy8gT0xEIEVNIENBTENcbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEuMCwgdXNlIHJlbS1jYWxjKClcbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMpIHtcbiAgQHJldHVybiByZW0tY2FsYygkdmFsdWVzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250YWluZXIoKVxuLy8gIERlY3JpcHRpb246IFJlc3BvbnNpYmxlIGZvciB0aGUgY29udGFpbmVyIGNvbXBvbmVudCBvZiBhY2NvcmRpb25zLCBnZW5lcmF0aW5nIHN0eWxlcyByZWxhdGluZyB0byBhIG1hcmdpbiBvZiB6ZXJvIGFuZCBhIGNsZWFyZml4XG4vLyAgRXhwbGljaXQgRGVwZW5kZW5jaWVzOiBhIGNsZWFyZml4IG1peGluICppcyogZGVmaW5lZC5cbi8vICBJbXBsaWNpdCBEZXBlbmRlbmNpZXM6IE5vbmVcblxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmcsICRob3Zlci1iZywgJGFjdGl2ZS1iZywgJHBhZGRpbmcsICRhY3RpdmVfY2xhc3MsICAkZm9udC1jb2xvciwgJGZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5KSB7XG4vLyAgICBAcGFyYW1zICRiZy1jb2xvcjogWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxuLy8gICAgQHBhcmFtcyAkaG92ZXItYmctY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGhvdmVyZWRcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZS1iZyBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gY2xpY2tlZCBhbmQgbm90IHJlbGVhc2VkLlxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGNsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGVcbi8vICAgIEBwYXJhbXMgJGZvbnQtY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogQ29sb3Igb2YgdGhlIGZvbnQgZm9yIGFjY29yZGlvblxuLy8gICAgQHBhcmFtcyAkZm9udC1zaXplIFsgbnVtYmVyIF06IFNwZWNpZml5IHRoZSBmb250LXNpemUgb2YgdGhlIHRleHQgaW5zaWRlIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcbi8vICAgIEBwYXJhbXMgJGZvbnQtZmFtaWx5IFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IGZvciB0aGUgdGV4dCBvZiB0aGUgbmF2aWdhdGlvbiBvZiB0aGUgYWNjb3Jpb25cblxuQG1peGluIGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGhvdmVyLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3IsICRhY3RpdmUtYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScsICAkZm9udC1jb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3IsICRmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUsICRmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5ICkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPSBcInN0cmluZ1wiIHtcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoaXMgbmF2aWdhdGlvbiBjb21wb25lbnQuXCJcbiAgfVxuICBAZWxzZSB7XG4gICAgJi4jeyAkYWN0aXZlX2NsYXNzIH0gPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gbnVtYmVyIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCB3YXMgcmVhZCBhcyAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICE9IG51bGwge1xuICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyLiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZ30pIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLilcIjtcbiAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgaXMgbWlzc2luZy4gQSB2YWx1ZSBvZiBgbnVsbGAgaXMgcmV0dXJuZWQgdG8gbm90IG91dHB1dCBhbiBpbnZhbGlkIHZhbHVlIGZvciBwYWRkaW5nXCI7XG4gICAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIEBpZiB0eXBlLW9mKCRmb250LXNpemUpICE9IG51bWJlciB7XG4gICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkZm9udC1zaXplKX1cIjtcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplICE9IG51bGwge1xuICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIuIFRoZSB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIHdpbGwgYmUgdXNlZCBpbnN0ZWFkICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemV9KS5cIjtcbiAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgfVxuICAgICAgQGVsc2V7XG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgd2lsbCBiZSByZXR1cm5lZCB0byBub3QgZ2VuZXJhdGUgYW4gaW52YWxpZCB2YWx1ZSBmb3IgZm9udC1zaXplLlwiO1xuICAgICAgICBmb250LXNpemU6IG51bGw7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gIE1peGluOiBhY2NvcmRpb24tY29udGVudCgkYmcsICRwYWRkaW5nLCAkYWN0aXZlLWNsYXNzKVxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXG4vLyAgICBAcGFyYW1zICRiZyBbIGNvbG9yICBdOiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udGVudCB3aGVuIGl0J3MgdmlzaWJsZVxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IENsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGUuXG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCgkYmc6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiI3skcGFkZGluZ30gd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgIEBpZiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyAhPSBudWxsIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcbiAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xuICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGNvbnRlbnQuIFwiXG4gIH1cbiAgQGVsc2Uge1xuICAgICYuI3skYWN0aXZlX2NsYXNzfSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImFjY29yZGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5hY2NvcmRpb24tbmF2aWdhdGlvbiwgZGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAmLmFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOyB9XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcbiAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBBbGVydCBCb3ggVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cbiRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cbiRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXG4kYWxlcnQtY2xvc2UtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDAgNnB4IDRweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcbiRhbGVydC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4kYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4kYWxlcnQtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy9cbi8vIEFsZXJ0IE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBhbGVydCBiYXNlLlxuQG1peGluIGFsZXJ0LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRhbGVydC1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGFsZXJ0LWJvcmRlci13aWR0aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LWJvdHRvbS1tYXJnaW47XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXRvcCAkYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb24gJGFsZXJ0LXBhZGRpbmctYm90dG9tICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24ob3BhY2l0eSwgJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQsICRhbGVydC10cmFuc2l0aW9uLWVhc2UpXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBhbGVydCBzdHlsZXNcbi8vXG4vLyAkYmcgLSBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuQG1peGluIGFsZXJ0LXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcikge1xuXG4gIC8vIFRoaXMgZmluZHMgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3ItYWx0OyB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgIHsgY29sb3I6ICRhbGVydC1mb250LWNvbG9yOyB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gYWxlcnQtY2xvc2Uge1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYWxlcnQtY2xvc2UtcG9zaXRpb247XG4gIGJhY2tncm91bmQ6ICRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFsZXJ0LWNsb3NlLWNvbG9yO1xuICBmb250LXNpemU6ICRhbGVydC1jbG9zZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbWFyZ2luLXRvcDogLSgkYWxlcnQtY2xvc2UtZm9udC1zaXplIC8gMik7XG4gIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xuICBwYWRkaW5nOiAkYWxlcnQtY2xvc2UtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMgeyBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBhbGVydHMgd2l0aCBhIHNpbmdsZSBtaXhpbi5cbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgb2YgYWxlcnQgYm94LiBEZWZhdWx0OiBmYWxzZS5cbkBtaXhpbiBhbGVydCgkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcbiAgQGluY2x1ZGUgYWxlcnQtYmFzZTtcbiAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGJnKTtcbiAgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYWxlcnQtYm94XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlcyB7XG4gICAgLmFsZXJ0LWJveCB7XG4gICAgICBAaW5jbHVkZSBhbGVydDtcblxuICAgICAgLmNsb3NlICAgICAgeyBAaW5jbHVkZSBhbGVydC1jbG9zZTsgfVxuXG4gICAgICAmLnJhZGl1cyAgICB7IEBpbmNsdWRlIHJhZGl1cygkYWxlcnQtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCAgICAgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yb3VuZGVkKTsgfVxuXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cbiAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRpbmZvLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydC1jbG9zZSB7IG9wYWNpdHk6IDB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbiRibG9jay1ncmlkLWVsZW1lbnRzOiAxMiAhZGVmYXVsdDtcbiRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4kYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcbkBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjtcbn1cblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXG4kYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzOiB0cnVlICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBNaXhpbnNcbi8vXG5cbi8vIENyZWF0ZSBhIGN1c3RvbSBibG9jayBncmlkXG4vL1xuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXG4vLyAkc3BhY2luZyAtICMgb2YgZW1zIHRvIHVzZSBhcyBwYWRkaW5nIG9uIGVhY2ggYmxvY2sgaXRlbS4gRGVmYXVsdDogcmVtLWNhbGMoMjApLlxuLy8gJGluY2x1ZGUtc3BhY2luZyAtIEFkZHMgcGFkZGluZyB0byBvdXIgbGlzdCBpdGVtLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBibG9jay1ncmlkKFxuICAkcGVyLXJvdzpmYWxzZSxcbiAgJHNwYWNpbmc6JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLFxuICAkaW5jbHVkZS1zcGFjaW5nOnRydWUsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luOiAwICgtJHNwYWNpbmcvMik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwZXItcm93IHtcbiAgICA+IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRzcGFjaW5nLzIpICRzcGFjaW5nO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCUvJHBlci1yb3c7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIEBpZiAkcGVyLXJvdyA+PSAkaSB7XG4gICAgICAkZ3JpZC1jb2x1bW46ICcrJyArICRpO1xuICAgICAgQGlmICRwZXItcm93ID09ICRpIHtcbiAgICAgICAgJGdyaWQtY29sdW1uOiAnJztcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICgkcGVyLXJvdyAtICgkaSAtIDEpKSkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogJGkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgcHJlc2VudGF0aW9uYWwgbWFya3VwIGZvciBibG9jayBncmlkLlxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLWJsb2NrLWdyaWQtMSwgLmxhcmdlLWJsb2NrLWdyaWQtMiwgZXRjLlxuQG1peGluIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplLCAkaW5jbHVkZS1zcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIC4jeyRzaXplfS1ibG9jay1ncmlkLSN7KCRpKX0ge1xuICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZCgkaSwgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLCAkaW5jbHVkZS1zcGFjaW5nLCBmYWxzZSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJibG9jay1ncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcblxuICAgIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXSB7IEBpbmNsdWRlIGJsb2NrLWdyaWQ7IH1cblxuICAgIEBpZiAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzIHtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpzbWFsbCwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcbiAgICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQnJlYWRjcnVtYiBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXG4kY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KSAhZGVmYXVsdDtcbiRjcnVtYi1zaWRlLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRjcnVtYi1mdW5jdGlvbi1mYWN0b3I6IC0xMCUgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNydW1iLWJnLCAkbGlnaHRuZXNzOiAkY3J1bWItZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxuJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJG9pbCAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXG4kY3J1bWItc2xhc2gtY29sb3I6ICRiYXNlICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoOiBcIi9cIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJyZWFkY3J1bWIgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBjb250YWluZXIgYXJvdW5kIG91ciBicmVhZGNydW1ic1xuQG1peGluIGNydW1iLWNvbnRhaW5lciB7XG4gIGJvcmRlci1zdHlsZTogJGNydW1iLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6ICRjcnVtYi1wYWRkaW5nO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNydW1iLWJnO1xuICBib3JkZXItY29sb3I6ICRjcnVtYi1ib3JkZXItY29sb3I7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBicmVhZGNydW1iIHN0eWxlcyBmcm9tIGxpc3QgaXRlbXMuXG5AbWl4aW4gY3J1bWJzIHtcblxuICAvLyBBIG5vcm1hbCBzdGF0ZSB3aWxsIG1ha2UgdGhlIGxpbmtzIGxvb2sgYW5kIGFjdCBsaWtlIGNsaWNrYWJsZSBicmVhZGNydW1icy5cbiAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gIGZvbnQtc2l6ZTogJGNydW1iLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjcnVtYi1mb250LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjcnVtYi1mb250LXRyYW5zZm9ybTtcblxuICAmOmhvdmVyIGEsICY6Zm9jdXMgYSB7IHRleHQtZGVjb3JhdGlvbjogJGNydW1iLWxpbmstZGVjb3I7IH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBDdXJyZW50IGlzIGZvciB0aGUgbGluayBvZiB0aGUgY3VycmVudCBwYWdlXG4gICYuY3VycmVudCB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIH1cblxuICAgICY6aG92ZXIsICY6aG92ZXIgYSxcbiAgICAmOmZvY3VzLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgfVxuXG4gIC8vIFVuYXZhaWxhYmxlIHJlbW92ZWQgY29sb3IgYW5kIGxpbmsgc3R5bGVzIHNvIGl0IGxvb2tzIGluYWN0aXZlLlxuICAmLnVuYXZhaWxhYmxlIHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7XG4gICAgYSB7IGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTsgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmhvdmVyIGEsXG4gICAgJjpmb2N1cyxcbiAgICBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29sb3I6ICRjcnVtYi1zbGFzaC1jb2xvcjtcbiAgICBjb250ZW50OiBcIiN7JGNydW1iLXNsYXNofVwiO1xuICAgIG1hcmdpbjogMCAkY3J1bWItc2lkZS1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJyZWFkY3J1bWJzXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBAaW5jbHVkZSBjcnVtYi1jb250YWluZXI7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGNydW1iLXJhZGl1cyk7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIGNydW1icztcbiAgICAgIH1cbiAgICB9XG4gICAgLyogQWNjZXNzaWJpbGl0eSAtIGhpZGVzIHRoZSBmb3J3YXJkIHNsYXNoICovXG4gICAgW2FyaWEtbGFiZWw9XCJicmVhZGNydW1ic1wiXSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQnV0dG9uIEdyb3VwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbiRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcbiAgQGlmICRzdHlsZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbiAgQGlmICRmbG9hdCB7XG4gICAgZmxvYXQ6ICN7JGRlZmF1bHQtZmxvYXR9O1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XG4gICAgJiBkaXYgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBzdHlsZXMgZm9yIGJ1dHRvbiBncm91cHNcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcblxuICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG4gIH1cblxuICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZmxvdywgb3IgcmVtb3ZlIHRob3NlIHN0eWxlcyBjb21wbGV0ZWx5LlxuICBAaWYgJGZsb2F0IHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICBmbG9hdDogJGZsb2F0O1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwOyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwIC0ycHg7XG4gIH1cblxuICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuICAgID4gYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6ICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgPiBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheTogJGJ1dHRvbi1ncm91cC1kaXNwbGF5O1xuICBtYXJnaW46ICRidXR0b24tZ3JvdXAtbWFyZ2luO1xuXG5cbiAgLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGVmdCBhbmQgcmlnaHQgcmFkaXVzIG9uIGZpcnN0L2xhc3QgYnV0dG9ucyBpbiB0aGUgZ3JvdXAuXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgICYsXG4gICAgPiBhLFxuICAgID4gYnV0dG9uLFxuICAgID4gLmJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgfVxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICY6bGFzdC1jaGlsZCA+IGEsXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIG1ha2UgdGhlIGJ1dHRvbnMgZXZlbiB3aWR0aCBhY3Jvc3MgdGhlaXIgY29udGFpbmVyXG4gIEBpZiAkZXZlbiB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDEwMC8kZXZlbikgLyAxMDApO1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvbi1ncm91cFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcbiAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcjtcblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcbiAgICAgICAgJi5ldmVuLSN7JGl9IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRldmVuOiRpLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgIH1cblxuICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgpOyB9XG5cbiAgICAgICYuc3RhY2sge1xuICAgICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IGZsb2F0OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgICYuc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcbiAgICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucmFkaXVzLnN0YWNrID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yb3VuZCwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWJhciB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6ZmFsc2UsICRmbG9hdDp0cnVlKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGhvdmVyIGVmZmVjdHMuXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYm9yZGVyLWNvbG9yOiAkaW5mby1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGJ1dHRvbnMuXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBidXR0b24gYmFzZS5cbi8vXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc3BsYXkgLSBVc2VkIHRvIGNvbnRyb2wgZGlzcGxheSBwcm9wZXJ0eS4gRGVmYXVsdDogJGJ1dHRvbi1kaXNwbGF5IHx8IGlubGluZS1ibG9ja1xuXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xuICBAaWYgJHN0eWxlIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXItc3R5bGU6ICRidXR0b24tYm9yZGVyLXN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAkYnV0dG9uLW1hcmdpbi1ib3R0b207XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246ICRidXR0b24tZm9udC1hbGlnbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQGlmICRkaXNwbGF5IHsgZGlzcGxheTogJGRpc3BsYXk7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkZnVsbC13aWR0aDpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggcGFkZGluZyBzdHlsZXMgY29tZSB0aHJvdWdoLFxuICAvLyB0aGVzZSBjYW4gYmUgdHVybmVkIG9mZiBieSBzZXR0aW5nICRwYWRkaW5nOmZhbHNlXG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcgKCRwYWRkaW5nICogMikgKCRwYWRkaW5nICsgcmVtLWNhbGMoMSkpICgkcGFkZGluZyAqIDIpO1xuICAgIC8vIFdlIGNvbnRyb2wgdGhlIGZvbnQtc2l6ZSBiYXNlZCBvbiBtaXhpbiBpbnB1dC5cbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tdG55IHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtdG55OyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1zbWwgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1zbWw7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxuICBAaWYgJGZ1bGwtd2lkdGgge1xuICAgIC8vIFdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgaWYgJHBhZGRpbmcgaXMgc2V0LlxuICAgIEBpZiAkcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcgKyByZW0tY2FsYygxKTtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIGNvbG9yIHN0eWxlc1xuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRidXR0b24tcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYm9yZGVyLWNvbG9yXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgc3R5bGVzIGFyZSB1c2VkLFxuICAvLyB0aGVzZSBjYW4gYmUgcmVtb3ZlZCBieSBzZXR0aW5nICRiZzpmYWxzZVxuICBAaWYgJGJnIHtcblxuICAgIEBpZiAkYmctaG92ZXIgPT0gbnVsbCB7XG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XG4gICAgICAkYm9yZGVyLWNvbG9yOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1ib3JkZXItY29sb3IsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaG92ZXI7IH1cblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBjb2xvcjogaWYoJGJnLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi5cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6ICRidXR0b24tZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIGJ1dHRvbiByYWRpdXMgaXMgdXNlZC5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkYnV0dG9uLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cbi8vICRpcy1wcmVmaXggLSBOb3QgdXNlZD8gRGVmYXVsdDpmYWxzZS5cbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJHRyYW5zaXRpb24gLSBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zaXRpb24gcHJvcGVydHkgLSBEZWZhdWx0OnRydWUuXG5AbWl4aW4gYnV0dG9uKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGlzLXByZWZpeDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCwgJHRyYW5zaXRpb246IHRydWUpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLCAkZnVsbC13aWR0aCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmcsICRyYWRpdXMsICRkaXNhYmxlZCwgJGJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yKTtcblxuICBAaWYgJHRyYW5zaXRpb24ge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC8vIERlZmF1bHQgc3R5bGVzIGFwcGxpZWQgb3V0c2lkZSBvZiBtZWRpYSBxdWVyeVxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlO1xuXG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cblxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cbiAgICAgICYuc21hbGwgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1zbWwpOyB9XG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpudWxsLCAkZnVsbC13aWR0aDp0cnVlKTsgfVxuXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9maXJlZm94IDJweCBmaXhcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2UoJHN0eWxlOmZhbHNlLCAkZGlzcGxheTppbmxpbmUtYmxvY2spO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxuJGNsZWFyaW5nLWJnOiAkb2lsICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZyAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpICFkZWZhdWx0O1xuJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvblxuJGNsZWFyaW5nLWNsb3NlLWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4kY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSUgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSkgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJjbGVhcmluZ1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXMge1xuICAgIC8vIFdlIGRlY2lkZWQgdG8gbm90IGNyZWF0ZSBhIG1peGluIGZvciBDbGVhcmluZyBiZWNhdXNlIGl0IHJlbGllc1xuICAgIC8vIG9uIHByZWRlZmluZWQgY2xhc3NlcyBhbmQgc3RydWN0dXJlIHRvIHdvcmsgcHJvcGVybHkuXG4gICAgLy8gVGhlIHZhcmlhYmxlcyBhYm92ZSBzaG91bGQgZ2l2ZSBlbm91Z2ggY29udHJvbC5cblxuICAgIC8qIENsZWFyaW5nIFN0eWxlcyAqL1xuICAgIC5jbGVhcmluZy10aHVtYnMsICN7ZGF0YSgnY2xlYXJpbmcnKX0ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgbGkge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpIHtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWJsYWNrb3V0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1iZztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgIH1cblxuICAgIC5jbGVhcmluZy10b3VjaC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGJhc2U7XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAudmlzaWJsZS1pbWcge1xuICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIEBpZiAkZGVmYXVsdC1mbG9hdCA9PSBsZWZ0IHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1jYXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXB0aW9uLWJnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2xvc2Utc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkaXJvbjsgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTtcbiAgICAgIC5jYXJvdXNlbCA+IHVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIC8vIElmIHlvdSB3YW50IHRvIHNob3cgYSBsaWdodGJveCwgYnV0IG9ubHkgaGF2ZSBhIHNpbmdsZSBpbWFnZSBjb21lIHRocm91Z2ggYXMgdGhlIHRodW1ibmFpbFxuICAgIC5jbGVhcmluZy1mZWF0dXJlIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAmLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhcmdlIHNjcmVlbiBvdmVycmlkZXNcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgJGNsZWFyaW5nLWFycm93LXNpemU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldiB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYuZGlzYWJsZWQsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IH1cblxuICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHtcblxuICAgICAgICAuY2Fyb3VzZWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXJvdXNlbC1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHdpZHRoOiAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg7XG5cbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGEudGgge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnZpc2libGUgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aXNpYmxlLWltZyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWltZy1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7XG4gICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIGhlaWdodCBhbmQgd2lkdGggc3R5bGVzLlxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLW1heC1oZWlnaHQ6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXRvcDogMnB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4kZi1kcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbiRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgcmFkaXVzIGZvciBkcm9wZG93bi5cbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy9cbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXG4vLyAkY29udGVudC1saXN0IC0gU2V0cyBsaXN0LXN0eWxlLiBEZWZhdWx0OiBsaXN0LiBPcHRpb25zOiBbbGlzdCwgY29udGVudF1cbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lcigkY29udGVudDpsaXN0LCAkdHJpYW5nbGU6dHJ1ZSwgJG1heC13aWR0aDokZi1kcm9wZG93bi1tYXgtd2lkdGgpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogJGYtZHJvcGRvd24tbGlzdC1zdHlsZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgQGlmICRjb250ZW50ID09IGxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuICBAZWxzZSBpZiAkY29udGVudCA9PSBjb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xuICAgIG1hcmdpbi10b3A6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IDg5O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAgIHotaW5kZXg6IDg4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJGRlZmF1bHQtZmxvYXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkb3Bwb3NpdGUtZGlyZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkbWF4LXdpZHRoIHsgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyB9XG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXG5cbkBtaXhpbiBkcm9wZG93bi1zdHlsZSB7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc7IH1cblxuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZi1kcm9wZG93bi1yYWRpdXMpOyB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93blwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBEcm9wZG93bnMgKi9cbiAgICAuZi1kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcblxuICAgICAgJi5kcm9wLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC10b3Age1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgdG9wKTtcbiAgICAgIH1cbiAgICAgIC8vIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxuXG4gICAgICAvLyBZb3UgY2FuIGFsc28gcHV0IGN1c3RvbSBjb250ZW50IGluIHRoZXNlIGRyb3Bkb3duc1xuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cblxuICAgICAgLy8gU2l6ZXNcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICYuc21hbGwgICB7IG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICYubWVkaXVtICB7IG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cbiAgICAgICYubWVnYSAgICB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDogKC0kYnV0dG9uLXBpcC1zbWwgLyAyKSArIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogKC0kYnV0dG9uLXBpcC1tZWQgLyAyKSArIHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBidWlsZCBvZmYgb2YgdGhlIGJ1dHRvbiBtaXhpbiBhbmQgYWRkIGRyb3Bkb3duIGJ1dHRvbiBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIERldGVybWluZXMgdGhlIHNpemUgb2YgYnV0dG9uIHlvdSdyZSB3b3JraW5nIHdpdGguIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9ucyBbdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2VdXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIGxpdHRsZSB0cmlhbmdsZSB0aGF0IHBvaW50cyB0byB0aGUgZHJvcGRvd24uIERlZmF1bHQ6ICR3aGl0ZS5cbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxuXG5AbWl4aW4gZHJvcGRvd24tYnV0dG9uKCRwYWRkaW5nOm1lZGl1bSwgJHBpcC1jb2xvcjokZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdlIGFkZCBpbiBiYXNlIHN0eWxlcywgYnV0IHRoZXkgY2FuIGJlIG5lZ2F0ZWQgYnkgc2V0dGluZyB0byAnZmFsc2UnLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFRoaXMgY3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIHRoZSB0cmlhbmdsZSBwaXBcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHRpbnkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55O1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHNtYWxsIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHNtYWxsIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGRlZmF1bHQgKG1lZGl1bSkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGxhcmdlIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZztcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZztcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHBpcCBjb2xvci4gV2UgZGlkbid0IHVzZSBsb2dpYyBpbiB0aGlzIGNhc2UsIGp1c3Qgc2V0IGl0IGFuZCBmb3JnZXQgaXQuXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93bi1idXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uO1xuICAgICAgJi50aW55IHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHRpbnksICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihzbWFsbCwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc2Vjb25kYXJ5OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZpZGVvIGNvbnRhaW5lciBwYWRkaW5nIGFuZCBtYXJnaW5zXG4kZmxleC12aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcbiRmbGV4LXZpZGVvLXdpZGVzY3JlZW4tcGFkZGluZy1ib3R0b206IDU2LjM0JSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiBmbGV4LXZpZGVvLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206ICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tO1xuICBwYWRkaW5nLXRvcDogJGZsZXgtdmlkZW8tcGFkZGluZy10b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxuICAmLnZpbWVvIHsgcGFkZGluZy10b3A6IDA7IH1cblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuICAgIC5mbGV4LXZpZGVvIHsgQGluY2x1ZGUgZmxleC12aWRlby1jb250YWluZXI7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4kZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuJGxlZ2VuZC1iZzogJHdoaXRlICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4kaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1vdmVyZmxvdzogdmlzaWJsZSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4ICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbiRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXMgIWRlZmF1bHQ7XG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFNlbGVjdCB2YXJpYWJsZXNcbiRzZWxlY3QtYmctY29sb3I6ICRnaG9zdCAhZGVmYXVsdDtcbiRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XG5cbi8vXG4vLyBATUlYSU5TXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIHVzIGZvcm0gc3R5bGVzIGZvciByb3dzIGluc2lkZSBvZiBmb3Jtc1xuQG1peGluIGZvcm0tcm93LWJhc2Uge1xuICAucm93IHsgbWFyZ2luOiAwICgoLSRmb3JtLXNwYWNpbmcpIC8gMik7XG5cbiAgICAuY29sdW1uLFxuICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMCAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG5cbiAgICAvLyBVc2UgdGhpcyB0byBjb2xsYXBzZSB0aGUgbWFyZ2lucyBvZiBhIGZvcm0gcm93XG4gICAgJi5jb2xsYXBzZSB7IG1hcmdpbjogMDtcblxuICAgICAgLmNvbHVtbixcbiAgICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMDsgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICBpbnB1dC5jb2x1bW4sXG4gIGlucHV0LmNvbHVtbnMsXG4gIHRleHRhcmVhLmNvbHVtbixcbiAgdGV4dGFyZWEuY29sdW1ucyB7IHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyB0aGVpciBzdHlsZVxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1jb2xvcjtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCB7XG4gICAgQGluY2x1ZGUgYmxvY2stZ2xvd2luZy1lZmZlY3QoZm9jdXMsICRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWUsICRnbG93aW5nLWVmZmVjdC1jb2xvcik7XG4gIH1cbiAgLy8gQmFzaWMgZm9jdXMgc3R5bGVzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAvLyBEaXNiYWxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGJhY2tncm91bmQgaW5wdXQgYmFja2dyb3VuZCBjb2xvclxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBmb3JtIGxhYmVsc1xuLy9cbi8vICRhbGlnbm1lbnQgLSBBbGlnbm1lbnQgb3B0aW9ucy4gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IFtyaWdodCwgaW5saW5lLCBmYWxzZV1cbi8vICRiYXNlLXN0eWxlIC0gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGZvcm0tbGFiZWwoJGFsaWdubWVudDpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRmb3JtLWxhYmVsLXBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luO1xuICB9XG5cbiAgLy8gQWxpZ25tZW50IG9wdGlvbnNcbiAgQGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBpbmxpbmUge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpIDA7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXgvcHJlZml4IGZvcm0gTGFiZWxzXG5AbWl4aW4gcHJlZml4LXBvc3RmaXgtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIGxpbmUtaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgb3ZlcmZsb3c6ICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcHJlZml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OmZhbHNlXG4vL1xuQG1peGluIHByZWZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogbm9uZTtcblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDogZmFsc2VcbkBtaXhpbiBwb3N0Zml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgZmllbGRzZXRzXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXItd2lkdGggJGZpZWxkc2V0LWJvcmRlci1zdHlsZSAkZmllbGRzZXQtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuXG4gIC8vIGFuZCBsZWdlbmQgc3R5bGVzXG4gIGxlZ2VuZCB7XG4gICAgYmFja2dyb3VuZDogJGxlZ2VuZC1iZztcbiAgICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjEpO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAvLyBHbyBiYWNrIHRvIG5vcm1hbCBvbiBmb2N1c1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHNpbXBsZSBtaXhpbiB0byBzdHlsZSBsYWJlbHMgZm9yIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBtaXhpbiBmb3JtLWxhYmVsLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHsgY29sb3I6ICRjb2xvcjsgfVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZXJyb3IgbWVzc2FnZSBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoRm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLW1lc3NhZ2UoJGJnOiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgZm9udC1zdHlsZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBtYXJnaW4tdG9wOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A7XG4gIHBhZGRpbmc6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc7XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjsgfVxuICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBzZWxlY3QgZWxlbWVudHNcbkBtaXhpbiBmb3JtLXNlbGVjdCAge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmctY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBjdXN0b20gYXJyb3cgaGFzIHNvbWUgZmFrZSBob3Jpem9udGFsIHBhZGRpbmcgc28gd2UgY2FuIGFsaWduIGl0XG4gIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jKyk7XG5cbiAgLy8gV2UgY2FuIHNhZmVseSB1c2UgbGVmdG1vc3QgYW5kIHJpZ2h0bW9zdCBub3dcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogaWYoJHRleHQtZGlyZWN0aW9uID09ICdydGwnLCAwJSwgMTAwJSkgY2VudGVyO1xuXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBAaW5jbHVkZSByYWRpdXMoMCk7XG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTsgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWhvdmVyLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBEaXNhYmxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnNcbkBtaXhpbiBodG1sNW51bWJlcigkYnJvd3NlciwgJG9uOnRydWUpIHtcbiAgQGlmICRvbj09ZmFsc2Uge1xuICAgICAgQGlmICRicm93c2VyPT13ZWJraXQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXI9PW1veiB7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmb3JtXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAvKiBTdGFuZGFyZCBGb3JtcyAqL1xuICAgIGZvcm0geyBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nOyB9XG5cbiAgICAvKiBVc2luZyBmb3JtcyB3aXRoaW4gcm93cywgd2UgbmVlZCB0byBzZXQgc29tZSBkZWZhdWx0cyAqL1xuICAgIGZvcm0gLnJvdyB7IEBpbmNsdWRlIGZvcm0tcm93LWJhc2U7IH1cblxuICAgIC8qIExhYmVsIFN0eWxlcyAqL1xuICAgIGxhYmVsIHsgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgICAgICYucmlnaHQgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKHJpZ2h0LCBmYWxzZSk7IH1cbiAgICAgICYuaW5saW5lIHsgQGluY2x1ZGUgZm9ybS1sYWJlbChpbmxpbmUsIGZhbHNlKTsgfVxuICAgICAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi9cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4gICAgLnByZWZpeCxcbiAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHByZWZpeC1wb3N0Zml4LWJhc2U7IH1cblxuICAgIC8qIEFkanVzdCBwYWRkaW5nLCBhbGlnbm1lbnQgYW5kIHJhZGl1cyBpZiBwcmUvcG9zdCBlbGVtZW50IGlzIGEgYnV0dG9uICovXG4gICAgLnBvc3RmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcG9zdGZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG4gICAgLnByZWZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwcmVmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnByZWZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgIC8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi9cbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cbiAgICBzcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXggeyBAaW5jbHVkZSBwb3N0Zml4KCk7IH1cblxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG4gICAgI3t0ZXh0LWlucHV0cyhhbGwsICdpbnB1dCcpfSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0ID09IGZhbHNlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAgICAgICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAucm93IHtcbiAgICAgICAgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgICAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgICAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXG4gICAgdGV4dGFyZWFbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuXHQvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cblx0dGV4dGFyZWEge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG4gICAgLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG4gICAgc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICAgICAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgICAgICZbbXVsdGlwbGVdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFkanVzdCBtYXJnaW4gZm9yIGZvcm0gZWxlbWVudHMgYmVsb3cgKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZm9ybS1zcGFjaW5nICogLjU7XG4gICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGZvcm0tc3BhY2luZztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cblxuICAgIC8qIEhUTUw1IE51bWJlciBzcGlubmVycyBzZXR0aW5ncyAqL1xuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcihtb3osICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpXG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcih3ZWJraXQsICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpO1xuICAgIH1cblxuICAgIC8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG4gICAgZmllbGRzZXQge1xuICAgICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gICAgfVxuXG4gICAgLyogRXJyb3IgSGFuZGxpbmcgKi9cblxuICAgICN7ZGF0YSgnYWJpZGUnKX0ge1xuICAgICAgLmVycm9yIHNtYWxsLmVycm9yLCAuZXJyb3Igc3Bhbi5lcnJvciwgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgICB9XG4gICAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgIGlucHV0LFxuICAgICAgdGV4dGFyZWEsXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nXG4gICAgICB9XG5cbiAgICAgIGxhYmVsLFxuICAgICAgbGFiZWwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cblxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgID4gc21hbGwge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBmb250LXNpemU6IDYwJTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5lcnJvcixcbiAgICB0ZXh0YXJlYS5lcnJvcixcbiAgICBzZWxlY3QuZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgbGFiZWwuZXJyb3IgeyBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cblxuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG5cbiRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBAdmFyaWFibGVzXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgaWNvbi1iYXIgYW5kIGl0ZW1zXG4kaWNvbi1iYXItYmc6ICRvaWwgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXI6ICRpY29uLWJhci1mb250LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tY29sb3ItaG92ZXI6ICRpY29uLWJhci1pY29uLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2Utd2lkdGg6IDEuODc1cmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWltYWdlLWhlaWdodDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXG4kaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgSWNvbiBiYXIgZWxlbWVudC5cbi8vXG5AbWl4aW4gaWNvbi1iYXItYmFzZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNSU7XG5cbiAgICBpLCBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6ICRpY29uLWJhci1pY29uLXNpemU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQ7XG4gICAgICB3aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gICYubGFiZWwtcmlnaHQgPiAqIHtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLjA2MjVyZW0gMCAwO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIH1cblxuICAmLnZlcnRpY2FsLmxhYmVsLXJpZ2h0ID4gKiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYudmVydGljYWwsICYuc21hbGwtdmVydGljYWx7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLml0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubGFyZ2UtdmVydGljYWwge1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIGljb24gYmFycy5cbkBtaXhpbiBpY29uLWJhci1zaXplKFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQpIHtcblxuICA+ICoge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAgIGksIGltZyB7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6ICRpbWFnZS1oZWlnaHQ7XG4gICAgICB3aWR0aDogJGltYWdlLXdpZHRoO1xuICAgIH1cbiAgfVxuXG59XG5cbkBtaXhpbiBpY29uLWJhci1zdHlsZShcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXG4gICRiYXItZm9udC1jb2xvcjokaWNvbi1iYXItZm9udC1jb2xvcixcbiAgJGJhci1mb250LWNvbG9yLWhvdmVyOiRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyLFxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yOiRpY29uLWJhci1pY29uLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3ItaG92ZXI6JGljb24tYmFyLWljb24tY29sb3ItaG92ZXIsXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXG4gICRiYXNlLXN0eWxlOnRydWUsXG4gICRkaXNhYmxlZDpmYWxzZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFyLWJnO1xuXG4gICAgPiAqIHtcbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvcjsgfVxuXG4gICAgICBpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvcjsgfVxuICAgIH1cblxuICAgID4gYTpob3ZlciB7XG5cbiAgICAgIGJhY2tncm91bmQ6ICRiYXItaG92ZXItY29sb3I7XG5cbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxuXG4gICAgICBpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvci1ob3ZlcjsgfVxuICAgIH1cblxuICAgICAgICA+IGEuYWN0aXZlIHtcblxuICAgICAgYmFja2dyb3VuZDogJGJhci1hY3RpdmUtY29sb3I7XG5cbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxuXG4gICAgICBpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvci1ob3ZlcjsgfVxuICAgIH1cbiAgfVxuICBAaWYgJGRpc2FibGVkIHtcbiAgICAuaXRlbS5kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6ICRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgICBvcGFjaXR5OiAkaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgPioge1xuICAgICAgICBvcGFjaXR5OiAkaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGljb24gYmFycyB3aXRoIGEgc2luZ2xlIG1peGluXG4vLyAkaGVpZ2h0IC0gVGhlIG92ZXJhbGwgY2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIGljb24gYmFyIChob3Jpem9udGFsKVxuLy8gJGJhci1iZyAtIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBiYXJcbi8vICRiYXItZm9udC1jb2xvciAtIHRoZSBmb250IGNvbG9yXG4vLyAkYmFyLWhvdmVyLWNvbG9yIC0gb2theSB0aGVzZSBhcmUgcHJldHR5IG9idmlvdXMgdmFyaWFibGVzXG4vLyAkYmFyLWljb24tY29sb3IgLSBtYXliZSB3ZSBjb3VsZCBza2lwIGV4cGxhaW5pbmcgdGhlbSBhbGw/IE9rYXkgdGhpcyBvbmUgZG9lcyBjaGFuZ2UgaWNvbiBjb2xvciBpZiB5b3UgdXNlIGFuIGljb24gZm9udFxuLy8gJGJhci1hY3RpdmUtY29sb3IgLSB0aGUgY29sb3Igb2YgYW4gYWN0aXZlIC8gaG92ZXIgc3RhdGVcbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG4vLyAkZGlzYWJsZWQgLSBBbGxvdyBkaXNhYmxlZCBpY29ucz8gRGVmYXVsdDogZmFsc2UuXG5cbkBtaXhpbiBpY29uLWJhcihcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXG4gICRiYXItZm9udC1jb2xvcjokaWNvbi1iYXItZm9udC1jb2xvcixcbiAgJGJhci1mb250LWNvbG9yLWhvdmVyOiRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyLFxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yOiRpY29uLWJhci1pY29uLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3ItaG92ZXI6JGljb24tYmFyLWljb24tY29sb3ItaG92ZXIsXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplLFxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcbiAgJGltYWdlLWhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodCxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcbiAgJGRpc2FibGVkOnRydWUpIHtcbiAgICBAaW5jbHVkZSBpY29uLWJhci1iYXNlKCk7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc2l6ZSgkcGFkZGluZywgJGZvbnQtc2l6ZSwgJGljb24tc2l6ZSwgJGltYWdlLXdpZHRoLCAkaW1hZ2UtaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBpY29uLWJhci1zdHlsZSgkYmFyLWJnLCAkYmFyLWZvbnQtY29sb3IsICRiYXItZm9udC1jb2xvci1ob3ZlciwgJGJhci1ob3Zlci1jb2xvciwgJGJhci1pY29uLWNvbG9yLCAkYmFyLWljb24tY29sb3ItaG92ZXIsICRiYXItYWN0aXZlLWNvbG9yLCAkYmFzZS1zdHlsZSwgJGRpc2FibGVkKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImljb24tYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG4gICAgLmljb24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFyO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcblxuICAvLyB0b29sYmFyIHN0eWxlc1xuXG4gIC5pY29uLWJhciB7XG5cbiAgICAvLyBDb3VudHNcblxuICAgICYudHdvLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudGhyZWUtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZvdXItdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5maXZlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2l4LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2V2ZW4tdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmVpZ2h0LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcblxuJGlubGluZS1saXN0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGlubGluZSBsaXN0c1xuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW47XG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xuICBtYXJnaW46ICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luIGF1dG8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW4gYXV0bztcbiAgb3ZlcmZsb3c6ICRpbmxpbmUtbGlzdC1vdmVyZmxvdztcbiAgcGFkZGluZzogJGlubGluZS1saXN0LXBhZGRpbmc7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogJGlubGluZS1saXN0LWRpc3BsYXk7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjtcbiAgICA+ICogeyBkaXNwbGF5OiAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJpbmxpbmUtbGlzdFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXMge1xuICAgIC5pbmxpbmUtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtbGlzdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyBkZWZhdWx0IEpveXJpZGUgc3R5bGVzXG4kam95cmlkZS10aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcGFkZGluZzogcmVtLWNhbGMoMTggMjAgMjQpICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICRjaGFyY29hbCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ6IDIycHggIWRlZmF1bHQ7XG5cbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xuJGpveXJpZGUtdGlwLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxuJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcbiRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4vLyBUaGlzIGNoYW5nZXMgdXAgdGhlIHN0eWxlcyBmb3IgdGhlIGNsb3NlIGJ1dHRvblxuJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xuJGpveXJpZGUtc2NyZWVuZmlsbDogcmdiYSgwLDAsMCwwLjUpICFkZWZhdWx0O1xuXG5cbi8vIFdlIGRlY2lkZWQgbm90IHRvIG1ha2UgYSBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGl0IHJlbGllcyBvblxuLy8gcHJlZGVmaW5lZCBjbGFzc2VzIHRvIHdvcmsgcHJvcGVybHkuXG5AaW5jbHVkZSBleHBvcnRzKFwiam95cmlkZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIEpveXJpZGUgKi9cbiAgICAuam95cmlkZS1saXN0IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLyogRGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBjb250YWluZXIgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLWJnO1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgei1pbmRleDogMTAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDIuNSU7XG4gICAgfVxuXG4gICAgLmx0LWllOSAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNDAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICB9XG5cbiAgICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogJGpveXJpZGUtdGlwLXBhZGRpbmc7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4gICAgICAuam95cmlkZS1wcmV2LXRpcCB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIH1cblxuICAgIC8qIEFkZCBhIGxpdHRsZSBjc3MgdHJpYW5nbGUgcGlwLCBvbGRlciBicm93c2VyIGp1c3QgbWlzcyBvdXQgb24gdGhlIGZhbmNpbmVzcyBvZiBpdCAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICAuam95cmlkZS1udWIge1xuICAgICAgICBib3JkZXI6ICRqb3lyaWRlLXRpcC1udWItc2l6ZSBzb2xpZCAkam95cmlkZS10aXAtYmc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuXG4gICAgICAgICYudG9wIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZztcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICB0b3A6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICB9XG4gICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0IHsgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XG4gICAgICAgICYubGVmdCB7IGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogVHlwb2dyYXBoeSAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMSxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDIsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgzLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNCxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDUsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg2IHtcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgcCB7XG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTggMCk7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yLXdyYXAge1xuICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtYm9yZGVyO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICBoZWlnaHQ6ICRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogcmVtLWNhbGMoMTcpO1xuICAgIH1cbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Ige1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLXRpbWVyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICAuam95cmlkZS1jbG9zZS10aXAge1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IC41ICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMnB4O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkc21va2UgIWltcG9ydGFudDsgfVxuICAgIH1cblxuICAgIC5qb3lyaWRlLW1vZGFsLWJnIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXNjcmVlbmZpbGw7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWV4cG9zZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwMjtcbiAgICB9XG5cbiAgICAuam95cmlkZS1leHBvc2UtY292ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cblxuICAgIC8qIFN0eWxlcyBmb3Igc2NyZWVucyB0aGF0IGFyZSBhdCBsZWFzdCA3NjhweDsgKi9cbiAgICBAbWVkaWEgI3skc21hbGx9IHtcbiAgICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7IHdpZHRoOiAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDsgI3skZGVmYXVsdC1mbG9hdH06IGluaGVyaXQ7XG4gICAgICAgIC5qb3lyaWRlLW51YiB7XG4gICAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxuJGtleXN0cm9rZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUga2V5c3Ryb2tlIHN0eWxlcy5cbi8vICRiZyAtIERlZmF1bHQ6ICRrZXlzdHJva2UtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG5AbWl4aW4ga2V5c3Ryb2tlKCRiZzoka2V5c3Ryb2tlLWJnKSB7XG4gIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgYWRqdXN0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAka2V5c3Ryb2tlLWZvbnQtY29sb3I7IH1cbiAgQGVsc2UgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDsgfVxuXG4gIGJvcmRlci1zdHlsZTogJGtleXN0cm9rZS1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGtleXN0cm9rZS1ib3JkZXItd2lkdGg7XG4gIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGtleXN0cm9rZS1mb250LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwia2V5c3Ryb2tlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXMgIHtcbiAgICAua2V5c3Ryb2tlLFxuICAgIGtiZCB7XG4gICAgICBAaW5jbHVkZSBrZXlzdHJva2U7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGtleXN0cm9rZS1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbiRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHQ7XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4kbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgbGFiZWwgYmFzZS5cbkBtaXhpbiBsYWJlbC1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGxhYmVsLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzaXplIHN0eWxlcy5cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgcGFkZGluZy4gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0XG4vLyAkdGV4dC1zaXplIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgdGV4dC1zaXplLiBEZWZhdWx0OiAkdGV4dC1zaXplIGZvdW5kIGluIHNldHRpbmdzXG5AbWl4aW4gbGFiZWwtc2l6ZSgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcpIHtcbiAgQGlmICRwYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmc7IH1cbiAgQGlmICR0ZXh0LXNpemUgeyBmb250LXNpemU6ICR0ZXh0LXNpemU7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSwgc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGNvbWVzIHRocm91Z2hcbiAgQGlmICRiZyB7XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yLWFsdDsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yOyB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSByYWRpdXMgb24gbGFiZWxzLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRsYWJlbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGNsb3NlIGJ1dHRvbnMgdG8gYWxlcnRzXG4vLyAkcGFkZGluZyAtIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nLFxuLy8gJHRleHQtc2l6ZSAtIERlZmF1bHQ6ICRsYWJlbC1mb250LXNpemluZyxcbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUgd2hpY2ggc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nLCAkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcblxuICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICBAaW5jbHVkZSBsYWJlbC1zaXplKCRwYWRkaW5nLCAkdGV4dC1zaXplKTtcbiAgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGJnLCAkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImxhYmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlcyB7XG4gICAgLmxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLWJhc2U7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1zaXplO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc3R5bGU7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsIHRydWUpOyB9XG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsICRyYWRpdXM6MTAwMHB4KTsgfVxuXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkaW5mby1jb2xvcik7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRtYWdlbGxhbi1iZzogJHdoaXRlICFkZWZhdWx0O1xuJG1hZ2VsbGFuLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJtYWdlbGxhblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXMge1xuXG4gICAgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uJyl9LCAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmUnKX0ge1xuICAgICAgYmFja2dyb3VuZDogJG1hZ2VsbGFuLWJnO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogJG1hZ2VsbGFuLXBhZGRpbmc7XG4gICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgLnN1Yi1uYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4kb3JiaXQtY29udGFpbmVyLWJnOiBub25lICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCIgIWRlZmF1bHQ7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXG4kb3JiaXQtbmF2LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbiR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCIgIWRlZmF1bHQ7XG4kcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiICFkZWZhdWx0O1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4kb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSBleHBvcnRzKFwib3JiaXRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzIHtcblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xuICAgIC4jeyR3cmFwcGVyLWNsYXNzfSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgLy8gUHJldmVudCBidWxsZXRzIHNob3dpbmcgYmVmb3JlIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC8vIEhpZGUgYWxsIGxpc3QgaXRlbXNcbiAgICAgICAgbGksXG4gICAgICAgIGxpIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC8vIC4uLmV4Y2VwdCBmb3IgdGhlIGZpcnN0IG9uZVxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBTaG93IGltYWdlcyB3aGVuIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpIHsgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPcmJpdCBwcmVsb2FkZXJcbiAgICAgIC4jeyRwcmVsb2FkZXItY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hhcmNvYWwgJHdoaXRlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYml0LWNvbnRhaW5lci1iZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBQcmV2ZW50cyBpbWFnZXMgKGFuZCBjYXB0aW9ucykgZnJvbSBkaXNhcHBlYXJpbmcgYWZ0ZXIgZmlyc3Qgcm90YXRpb24gb24gQ2hyb21lIGZvciBBbmRyb2lkXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgIEBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcImJvdHRvbVwiIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwidW5kZXJcIiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmc7XG4gICAgICAgICAgICBjb2xvcjogJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9yYml0LWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1zbGlkZS1udW1iZXItYmc7XG4gICAgICAgIGNvbG9yOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nO31cbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgIH1cblxuICAgICAgLm9yYml0LXRpbWVyIHtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuXG4gICAgICAgIC5vcmJpdC1wcm9ncmVzcyB7XG4gICAgICAgICAgQGlmICRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtdGltZXItYmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBsYXkgYnV0dG9uXG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhdXNlIGJ1dHRvblxuICAgICAgICAmLnBhdXNlZCB7XG4gICAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLTRweDtcblxuICAgICAgICAgICAgJi5kYXJrIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRvaWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuXG4gICAgICAmOmhvdmVyIC5vcmJpdC10aW1lciA+IHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgICAvLyBMZXQncyBnZXQgdGhvc2UgY29udHJvbHMgdG8gYmUgcmlnaHQgaW4gdGhlIGNlbnRlciBvbiBlYWNoIHNpZGVcbiAgICAgIC5vcmJpdC1wcmV2LFxuICAgICAgLm9yYml0LW5leHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogNDUlO1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LW5hdi1iZy1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXI6IGluc2V0IDEwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm9yYml0LXByZXYgeyAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm9yYml0LW5leHQgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvcjtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTRweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9yYml0LWJ1bGxldHMtY29udGFpbmVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm9yYml0LWJ1bGxldHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDEwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAvLyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogNnB4O1xuICAgICAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1yYWRpdXM7XG5cbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvdWNoIHtcbiAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAub3JiaXQtcHJldixcbiAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1idWxsZXRzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXG4gICAgICAudG91Y2gge1xuICAgICAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgICAub3JiaXQtcHJldixcbiAgICAgICAgICAub3JiaXQtbmV4dCB7IGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmJpdC1idWxsZXRzIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAub3JiaXQtc3RhY2stb24tc21hbGwge1xuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7fVxuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciA+ICoge1xuICAgICAgICAgIG1hcmdpbjowICAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LXRpbWVye2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgICAgQGlmICRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LW5leHQsLm9yYml0LXByZXZ7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgICBAaWYgJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbCB7XG4gICAgICAgICAub3JiaXQtYnVsbGV0c3tkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lclxuJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcbiRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWhlaWdodDogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktbWFyZ2luOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgY3VycmVudGx5IHNlbGVjdGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBTdHlsZSB0aGUgcGFnaW5hdGlvbiBjb250YWluZXIuIEN1cnJlbnRseSBvbmx5IHVzZWQgd2hlbiBjZW50ZXJpbmcgZWxlbWVudHMuXG4vLyAkY2VudGVyIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWVcbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lcigkY2VudGVyOmZhbHNlKSB7XG4gIEBpZiAkY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vIFN0eWxlIHVuYXZhaWxhYmxlIGxpc3QgaXRlbXNcbkBtaXhpbiBwYWdpbmF0aW9uLXVuYXZhaWxhYmxlLWl0ZW0ge1xuICBhLCBidXR0b24ge1xuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjtcbiAgfVxuICAmOmhvdmVyIGEsXG4gICYgYTpmb2N1cyxcblxuICAmOmhvdmVyIGJ1dHRvbixcbiAgJiBidXR0b246Zm9jdXNcbiAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTsgfVxufVxuLy8gQG1peGluc1xuLy8gU3R5bGUgdGhlIGN1cnJlbnQgbGlzdCBpdGVtLiBEbyBub3QgYXNzdW1lIHRoYXQgdGhlIGN1cnJlbnQgaXRlbSBoYXNcbi8vIGFuIGFuY2hvciA8YT4gZWxlbWVudC5cbi8vICRoYXMtYW5jaG9yIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcbkBtaXhpbiBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgkaGFzLWFuY2hvcjogdHJ1ZSkge1xuICBAaWYgJGhhcy1hbmNob3Ige1xuICAgIGEsIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjtcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICBAaW5jbHVkZSByYWRpdXM7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHNldCB0aGUgcHJvcGVydGllcyBmb3IgdGhlIGNyZWF0aW5nIEZvdW5kYXRpb24gcGFnaW5hdGlvblxuLy8gJGNlbnRlciAtIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50cy4gRGVmYXVsdDogZmFsc2Vcbi8vICRiYXNlLXN0eWxlIC0gU2V0cyBiYXNlIHN0eWxlcyBmb3IgcGFnaW5hdGlvbi4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR1c2UtZGVmYXVsdC1jbGFzc2VzIC0gTWFrZXMgdW5hdmFpbGFibGUgJiBjdXJyZW50IGNsYXNzZXMgYXZhaWxhYmxlIGZvciB1c2UuIERlZmF1bHQ6IHRydWVcbkBtaXhpbiBwYWdpbmF0aW9uKCRjZW50ZXI6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUsICR1c2UtZGVmYXVsdC1jbGFzc2VzOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbWFyZ2luO1xuICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLWhlaWdodDtcblxuICAgIGxpIHtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saS1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1saS1mb250LXNpemU7XG4gICAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWxpLWhlaWdodDtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbGktbWFyZ2luO1xuXG4gICAgICBhLCBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXM7XG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciBhLFxuICAgICAgYTpmb2N1cyxcbiAgICAgICY6aG92ZXIgYnV0dG9uLFxuICAgICAgYnV0dG9uOmZvY3VzXG4gICAgICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOyB9XG5cbiAgICAgIEBpZiAkdXNlLWRlZmF1bHQtY2xhc3NlcyB7XG4gICAgICAgICYudW5hdmFpbGFibGUgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLXVuYXZhaWxhYmxlLWl0ZW0oKTsgfVxuICAgICAgICAmLmN1cnJlbnQgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzXG4gIGxpIHtcbiAgICBAaWYgJGNlbnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRwYWdpbmF0aW9uLWxpLWZsb2F0O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicGFnaW5hdGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXMge1xuICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbjtcbiAgICB9XG5cbiAgICAvKiBQYWdpbmF0aW9uIGNlbnRyZWQgd3JhcHBlciAqL1xuICAgIC5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyKHRydWUpO1xuXG4gICAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbih0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlc1xuJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5NCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyAlIHRvIGNvbnRyb2wgaG93IG11Y2ggd2UgZGFya2VuIHRoaW5ncyBvbiBob3ZlclxuJHBhbmVsLWZ1bmN0aW9uLWZhY3RvcjogLTExJSAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwYW5lbC1iZywgJGxpZ2h0bmVzczogJHBhbmVsLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXG4kcGFuZWwtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4kcGFuZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4kcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZSAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwYW5lbHMuXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XG4vLyAkcGFkZGluZyAtIFNldHMgdGhlIHBhbmVsIHBhZGRpbmcgYW1vdW50LiBEZWZhdWx0OiAkcGFuZWwtcGFkZGluZyB8fCByZW0tY2FsYygyMClcbi8vICRhZGp1c3QgLSBTZXRzIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcgJiByZXNldHMgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzLiBEZWZhdWx0OiAkcGFuZWwtaGVhZGVyLWFkanVzdCB8fCB0cnVlXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QsICRib3JkZXI6dHJ1ZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgQGlmICRib3JkZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRwYW5lbC1mdW5jdGlvbi1mYWN0b3IpO1xuICAgICAgYm9yZGVyLXN0eWxlOiAkcGFuZWwtYm9yZGVyLXN0eWxlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcGFuZWwtYm9yZGVyLXNpemU7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogJHBhbmVsLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG5cbiAgICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgICBAaWYgJGFkanVzdCB7XG4gICAgICAvLyBXZSBzZXQgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGRhcmtuZXNzIG9mIHRoZSBiZy5cbiAgICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG4gICAgICB9XG5cbiAgICAgIC8vIHJlc2V0IGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVsc1xuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgLyAyO1xuICAgICAgICAmLnN1YmhlYWRlciB7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhbmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlcyB7XG5cbiAgICAvKiBQYW5lbHMgKi9cbiAgICAucGFuZWwgeyBAaW5jbHVkZSBwYW5lbDtcblxuICAgICAgJi5jYWxsb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFuZWwoJGNhbGxvdXQtcGFuZWwtYmcpO1xuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4kcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxuJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xuJHByaWNlLXRpdGxlLWJnOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2UgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbiRwcmljZS1tb25leS1iZzogJHZhcG9yICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcbiRwcmljZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbiRwcmljZS1pdGVtLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4kcHJpY2UtY3RhLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIHByaWNpbmcgdGFibGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1jb250YWluZXIge1xuICBib3JkZXI6ICRwcmljZS10YWJsZS1ib3JkZXI7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b207XG5cbiAgJiAqIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBwcmljaW5nIHRhYmxlIHRpdGxlIHN0eWxlc1xuQG1peGluIHByaWNpbmctdGFibGUtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtdGl0bGUtYmc7XG4gIGNvbG9yOiAkcHJpY2UtdGl0bGUtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJHByaWNlLXRpdGxlLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdGl0bGUtd2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtdGl0bGUtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLXRpdGxlLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCB0aGUgcHJpY2luZyB0YWJsZSBwcmljZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXByaWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLW1vbmV5LWJnO1xuICBjb2xvcjogJHByaWNlLW1vbmV5LWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS1tb25leS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLW1vbmV5LXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLW1vbmV5LXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1tb25leS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgZGVzY3JpcHRpb24gc3R5bGVzIGZvciB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtZGVzYy1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtZGVzYy1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZGVzYy13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLWRlc2MtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWRlc2MtYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgYnVsbGV0IGl0ZW1zIGluIHRoZSBwcmljaW5nIHRhYmxlXG5AbWl4aW4gcHJpY2luZy10YWJsZS1idWxsZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtaXRlbS1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtaXRlbS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtaXRlbS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1pdGVtLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1pdGVtLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIENUQSBhcmVhIG9mIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWN0YS1iZztcbiAgcGFkZGluZzogJHByaWNlLWN0YS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtY3RhLWFsaWduO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJpY2luZy10YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlcyB7XG5cbiAgICAvKiBQcmljaW5nIFRhYmxlcyAqL1xuICAgIC5wcmljaW5nLXRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHByaWNpbmctdGFibGUtY29udGFpbmVyO1xuXG4gICAgICAudGl0bGUgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXRpdGxlOyB9XG4gICAgICAucHJpY2UgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXByaWNlOyB9XG4gICAgICAuZGVzY3JpcHRpb24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uOyB9XG4gICAgICAuYnVsbGV0LWl0ZW0geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWJ1bGxldDsgfVxuICAgICAgLmN0YS1idXR0b24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWN0YTsgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkdmFwb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbiRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbiRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XG4gIGhlaWdodDogJHByb2dyZXNzLWJhci1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJvZ3Jlc3MtbWV0ZXItY29sb3IgfHwgJHByaW1hcnktY29sb3JcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJvZ3Jlc3MtYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBQcm9ncmVzcyBCYXIgKi9cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgICAvLyBNZXRlclxuICAgICAgLm1ldGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gICAgICB9XG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cygkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXMgLSAxKTsgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3JhbmdlLXNsaWRlci5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbiRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMSUpICFkZWZhdWx0O1xuXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0OiByZW0tY2FsYygyMDApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmUgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItd2lkdGg7XG4gIH1cbn1cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLXN0eWxlKFxuICAkYmc6IHRydWUsXG4gICRyYWRpdXM6IGZhbHNlLFxuICAkcm91bmQ6IGZhbHNlLFxuICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XG4gIEBpZiAkcm91bmQgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJvdW5kKTsgfVxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xuICAgIGN1cnNvcjogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxuICAkYmc6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZTtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZSgpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A7XG4gIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgei1pbmRleDogMTtcblxuICAvLyBUaGlzIHJlbW92ZXMgdGhlIDMwMG1zIHRvdWNoIGRlbGF5IG9uIFdpbmRvd3MgOFxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I7XG4gIH1cbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZTtcbn1cblxuLy8gQ1NTIEdlbmVyYXRpb25cbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXMge1xuICAgIC5yYW5nZS1zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czpmYWxzZSk7XG4gICAgICAmLnZlcnRpY2FsLXJhbmdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgICBib3R0b206IC0oJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0IC0gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGgpO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodCAtIHJlbS1jYWxjKChzdHJpcC11bml0KCRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcmFkaXVzOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJHJhZGl1czogdHJ1ZSk7IH1cbiAgICAgIH1cbiAgICAgICYucm91bmQge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRyb3VuZDp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyb3VuZDogdHJ1ZSk7IH1cbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkZGlzYWJsZWQ6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkZGlzYWJsZWQ6IHRydWUpOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czogZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQG5hbWUgX3JldmVhbC5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcbiRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlICFkZWZhdWx0O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbiRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4kcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcblxuLy8gU2V0IGJhc2Ugei1pbmRleFxuJHotaW5kZXgtYmFzZTogMTAwNTtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gYWxsb3dzIG1vZGFsIGJhY2tncm91bmQgdG8gZXh0ZW5kIGJleW9uZCB3aW5kb3cgcG9zaXRpb25cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IGlmKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlLCAkei1pbmRleC1iYXNlIC0gMSwgYXV0byApO1xuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkYmFzZS1zdHlsZSAtIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcbi8vXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2UoICRiYXNlLXN0eWxlOiB0cnVlLCAkd2lkdGg6JHJldmVhbC1kZWZhdWx0LXdpZHRoLCAkbWF4LXdpZHRoOiRyZXZlYWwtbWF4LXdpZHRoLCAkYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXMpIHtcbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIG1hcmdpbiBmcm9tIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnQgaW5zaWRlIG1vZGFsXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXG4vL1xuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cbi8vICRib3JkZXIgLSBDaG9vc2Ugd2hldGhlciByZXZlYWwgdXNlcyBhIGJvcmRlci4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXG4vLyAkYm9yZGVyLWNvbG9yIC0gQ29sb3Igb2YgYm9yZGVyLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1jb2xvci5cbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJHRvcC1vZmZzZXQgLSBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCB8fCA1MHB4XG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAkYmc6ZmFsc2UsXG4gICRwYWRkaW5nOmZhbHNlLFxuICAkYm9yZGVyOmZhbHNlLFxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAkYm94LXNoYWRvdzpmYWxzZSxcbiAgJHJhZGl1czpmYWxzZSxcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcblxuICBAaWYgJGJnIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG5cbiAgQGlmICRib3JkZXIgeyBib3JkZXI6ICRib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkYm9yZGVyLWNvbG9yOyB9XG5cbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXG4gIEBpZiAkYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggcmFkaXVzIGlzIHVzZWQgb24gdGhlIG1vZGFsXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxuICBAaWYgJHRvcC1vZmZzZXQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHRvcDogJHRvcC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvbiBmb3IgdGhlIHJldmVhbCBtb2RhbFxuLy9cbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcbkBtaXhpbiByZXZlYWwtY2xvc2UoJGNvbG9yOiRyZXZlYWwtY2xvc2UtY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJHJldmVhbC1jbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcmV2ZWFsLWNsb3NlLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmV2ZWFsLWNsb3NlLXRvcDtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXMge1xuXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xuICAgIC5yZXZlYWwtbW9kYWwtYmcgeyBAaW5jbHVkZSByZXZlYWwtYmc7IH1cblxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcbiAgICAgICAgJHBhZGRpbmc6JHJldmVhbC1tb2RhbC1wYWRkaW5nLFxuICAgICAgICAkYm9yZGVyOnRydWUsXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXG4gICAgICAgICRyYWRpdXM6ZmFsc2UsXG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXG4gICAgICApO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XG4gICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRwYWRkaW5nOjApOyB9XG4gICAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNDAlKTsgfVxuICAgICAgJi5tZWRpdW0gIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDYwJSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxuICAgICAgJi54bGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgOTUlKTsgfVxuICAgICAgJi5mdWxsIHtcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICAgICAgdG9wOjA7XG4gICAgICB9XG5cbiAgICAgIC8vIE1vZGFscyBwdXNoZWQgdG8gYmFja1xuICAgICAgJi50b2JhY2sge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgcGFkZGluZy5cbiRzaWRlLW5hdi1wYWRkaW5nOiByZW0tY2FsYygxNCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGlzdCBzdHlsZXMuXG4kc2lkZS1uYXYtbGlzdC10eXBlOiBub25lICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpc3QtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbiRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU6ICRzaWRlLW5hdi1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGluZyBzdHlsZXMuXG4kc2lkZS1uYXYtaGVhZGluZy1jb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU6ICRzaWRlLW5hdi1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbiRzaWRlLW5hdi1kaXZpZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDEwJSkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHNpZGUtbmF2XG4vL1xuLy8gJGRpdmlkZXItY29sb3IgLSBCb3JkZXIgY29sb3Igb2YgZGl2aWRlci4gRGVmYXVsdDogJHNpZGUtbmF2LWRpdmlkZXItY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIG5hdiBpdGVtcy4gRGVmYXVsdDogJHNpZGUtbmF2LWZvbnQtc2l6ZS5cbi8vICRsaW5rLWNvbG9yIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcy4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3IuXG4vLyAkbGluay1jb2xvci1ob3ZlciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3Mgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlci5cbkBtaXhpbiBzaWRlLW5hdihcbiAgJGRpdmlkZXItY29sb3I6JHNpZGUtbmF2LWRpdmlkZXItY29sb3IsXG4gICRmb250LXNpemU6JHNpZGUtbmF2LWZvbnQtc2l6ZSxcbiAgJGxpbmstY29sb3I6JHNpZGUtbmF2LWxpbmstY29sb3IsXG4gICRsaW5rLWNvbG9yLWFjdGl2ZTokc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmUsXG4gICRsaW5rLWNvbG9yLWhvdmVyOiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLFxuICAkbGluay1iZy1ob3Zlcjokc2lkZS1uYXYtbGluay1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJHNpZGUtbmF2LWxpc3QtcG9zaXRpb247XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHNpZGUtbmF2LWxpc3QtdHlwZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkc2lkZS1uYXYtcGFkZGluZztcblxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAkc2lkZS1uYXYtbGlzdC1tYXJnaW47XG5cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpbmstbWFyZ2luO1xuICAgICAgcGFkZGluZzogJHNpZGUtbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstYmctaG92ZXI7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSA+IGE6Zmlyc3QtY2hpbGQ6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU7XG4gICAgICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuZGl2aWRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRzaWRlLW5hdi1kaXZpZGVyLXNpemUgJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLmhlYWRpbmcge1xuICAgICAgY29sb3I6ICRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yO1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU7XG4gICAgICAgIHdlaWdodDogJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgICB9XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzaWRlLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc2lkZS1uYXYge0BpbmNsdWRlIHNpZGUtbmF2O31cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZHJvcGRvd24tYnV0dG9ucyc7XG5cbi8vXG4vLyBAbmFtZSBfc3BsaXQtYnV0dG9ucy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9idXR0b25zLnNjc3MsIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcbiRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogMTAgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA2ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1lZGl1bSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA5ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMS41ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogOCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBzcGxpdCBidXR0b25zIHRoYXQgYnVpbGQgdXBvbiB0aGUgYnV0dG9uIG1peGluc1xuLy9cbi8vICRwYWRkaW5nIC0gVHlwZSBvZiBwYWRkaW5nIHRvIGFwcGx5LiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnM6IHRpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlLlxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS4gRGVmYXVsdDogJHNwbGl0LWJ1dHRvbi1waXAtY29sb3IuXG4vLyAkc3Bhbi1ib3JkZXIgLSBCb3JkZXIgY29sb3Igb2YgYnV0dG9uIGRpdmlkZXIuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlIHRvIHNwbGl0IGJ1dHRvbi4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzcGxpdC1idXR0b24oXG4gICRwYWRkaW5nOm1lZGl1bSxcbiAgJHBpcC1jb2xvcjokc3BsaXQtYnV0dG9uLXBpcC1jb2xvcixcbiAgJHNwYW4tYm9yZGVyOiRwcmltYXJ5LWNvbG9yLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gV2l0aCB0aGlzLCB3ZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFN0eWxpbmcgZm9yIHRoZSBzcGxpdCBhcnJvdyBjbGlja2FibGUgYXJlYVxuICAgIHNwYW4ge1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBzb2xpZCAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG5cbiAgICAgIC8vIEJ1aWxkaW5nIHRoZSB0cmlhbmdsZSBwaXAgaW5kaWNhdG9yXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDA7XG5cbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udHJvbCB0aGUgYm9yZGVyIGNvbG9yIGZvciB0aGUgc3BhbiBhcmVhIG9mIHRoZSBzcGxpdCBidXR0b25cbiAgQGlmICRzcGFuLWJvcmRlciB7XG4gICAgc3BhbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgdGlueSBzaXplc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55O1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55O1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55O1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3Igc21hbGwgc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gc21hbGwge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGRlZmF1bHQgKG1lZGl1bSkgc2l6ZXNcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBsYXJnZSBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sIHRoZSBjb2xvciBvZiB0aGUgdHJpYW5nbGUgcGlwXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICBzcGFuOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInNwbGl0LWJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC5zcGxpdC5idXR0b24geyBAaW5jbHVkZSBzcGxpdC1idXR0b247XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgJHNlY29uZGFyeS1jb2xvciwgZmFsc2UpOyB9XG4gICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCBmYWxzZSwgJGFsZXJ0LWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzdWNjZXNzLWNvbG9yLCBmYWxzZSk7IH1cblxuICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHRpbnksIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHNtYWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihsYXJnZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYuZXhwYW5kIHsgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQsIGZhbHNlLCBmYWxzZSk7IH1cblxuICAgICAgJi5yYWRpdXMgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMTAwMHB4KTsgfVxuICAgICAgJi5uby1waXB7XG4gICAgICAgIHNwYW46YmVmb3JleyBib3JkZXItc3R5bGU6bm9uZTsgfVxuICAgICAgICBzcGFuOmFmdGVyeyBib3JkZXItc3R5bGU6bm9uZTsgfVxuICAgICAgICBzcGFuPml7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yODg4OWVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ODg5ZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfc3ViLW5hdi5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWFyZ2luIGFuZCBwYWRkaW5nXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxuJHN1Yi1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuXG4kc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZyAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbiRzdWItbmF2LWl0ZW0tZGl2aWRlcjogXCJcIiAhZGVmYXVsdDtcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gQ3JlYXRlIGEgc3ViLW5hdiBpdGVtXG4vL1xuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZS4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1zaXplLlxuLy8gJGFjdGl2ZS1iZyAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmcuXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxuQG1peGluIHN1Yi1uYXYoXG4gICRmb250LWNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLFxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXG4gICRhY3RpdmUtYmc6ICRzdWItbmF2LWFjdGl2ZS1iZyxcbiAgJGFjdGl2ZS1iZy1ob3ZlcjogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRzdWItbmF2LWxpc3QtbWFyZ2luO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgZHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBkdCxcbiAgZGQsXG4gIGxpIHtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGZvbnQtZmFtaWx5OiAkc3ViLW5hdi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yO1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJHN1Yi1uYXYtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRzdWItbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmctaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRzdWItbmF2LWl0ZW0tZGl2aWRlciAhPSBcIlwiIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiN7JHN1Yi1uYXYtaXRlbS1kaXZpZGVyfVwiO1xuICAgICAgICBtYXJnaW46IDAgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzdWItbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zdWItbmF2IHsgQGluY2x1ZGUgc3ViLW5hdjsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXJcbiRzd2l0Y2gtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzd2l0Y2ggaGVpZ2h0cyBmb3Igb3VyIGRlZmF1bHQgY2xhc3Nlc1xuJHN3aXRjaC1oZWlnaHQtdG55OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1zbWw6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1tZWQ6IDJyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1scmc6IDIuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtYm90dG9tLW1hcmdpbjogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcbiRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMTVzICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcbiRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIHN3aXRjaCBlbGVtZW50LlxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG5AbWl4aW4gc3dpdGNoLWJhc2UoXG4gICR0cmFuc2l0aW9uLXNwZWVkOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlKSB7XG5cbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLWJvdHRvbS1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBEZWZhdWx0IGxhYmVsIHN0eWxlcyBmb3IgdHlwZSBhbmQgdHJhbnNpdGlvblxuICBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICgkc3dpdGNoLWhlaWdodC1tZWQgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAqIDI7IGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkO1xuXG4gICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obGVmdCwgJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICB9XG5cbiAgLy8gU28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlY3JlYXRlIHRoZSBmb3JtIHdpdGggYW55IEpTLCB3ZSB1c2UgdGhlXG4gIC8vIGV4aXN0aW5nIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbiwgYnV0IHdlIGNsZXZlcmx5IHBvc2l0aW9uIGFuZCBoaWRlIGl0LlxuICBpbnB1dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG5cbiAgICAmICsgbGFiZWwgeyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGZvciB0aGUgc3dpdGNoIGlzIGNyZWF0ZWQgZnJvbSBhbiBhZnRlciBwc3VlZG9jbGFzc1xuICAvLyBjb250ZW50IGVsZW1lbnQuIFRoaXMgaXMgc2l6ZWQgYW5kIHBvc2l0aW9uZWQsIGFuZCByZWFjdHMgdG9cbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cblxuICBsYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmc7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuICAgIGxlZnQ6IC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMjVyZW07XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkc3dpdGNoLWhlaWdodC1tZWQgKyAuMjVyZW07XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3Igc3dpdGNoZXMuXG4vL1xuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgdGV4dCBpbiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtZm9udC1zaXplLW1lZC5cbi8vICRsaW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IG9mIHN3aXRjaC4gRGVmYXVsdDogMi4zcmVtLlxuQG1peGluIHN3aXRjaC1zaXplKCRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCkge1xuXG4gIGxhYmVsIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xuICB9XG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogJGhlaWdodCAtIC41cmVtO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gLjVyZW07XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRoZWlnaHQgKyAuMjVyZW07XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgY29sb3IgYW5kIG90aGVyIGZhbmNpbmVzcyB0byB0aGUgc3dpdGNoZXMuXG4vL1xuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBwb3NpdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1wb3NpdGl2ZS1jb2xvci5cbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaC1zdHlsZShcbiAgJHBhZGRsZS1iZzokc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjokc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIH1cblxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWRkbGUtYmc7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0dGluZyB1cCB0aGUgcmFkaXVzIGZvciBzd2l0Y2hlc1xuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIHN3aXRjaGVzIHdpdGggYSBzaW5nbGUgbWl4aW5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1hY3RpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaChcbiAgJHRyYW5zaXRpb24tc3BlZWQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSxcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkLFxuICAkcGFkZGxlLWJnOiAkc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjogJHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtYmFzZSgkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJGhlaWdodCk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXN0eWxlKCRwYWRkbGUtYmcsICRhY3RpdmUtY29sb3IsICRyYWRpdXMsICRiYXNlLXN0eWxlKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN3aXRjaFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgICAuc3dpdGNoIHtcbiAgICAgICAgQGluY2x1ZGUgc3dpdGNoO1xuXG4gICAgICAgIC8vIExhcmdlIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1scmcpOyB9XG5cbiAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXNtbCk7IH1cblxuICAgICAgICAvLyBUaW55IHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYudGlueSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXRueSk7IH1cblxuICAgICAgICAvLyBBZGQgYSByYWRpdXMgdG8gdGhlIHN3aXRjaFxuICAgICAgICAmLnJhZGl1cyB7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoNHB4KTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDNweCk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxuICAgICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF90YWJsZXMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRhYmxlIGFuZCBldmVuIHJvd3NcbiR0YWJsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWV2ZW4tcm93LWJnOiAkc25vdyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcbiR0YWJsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBoZWFkIHN0eWxlc1xuJHRhYmxlLWhlYWQtYmc6ICR3aGl0ZS1zbW9rZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xuJHRhYmxlLWZvb3QtYmc6ICR0YWJsZS1oZWFkLWJnICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgY2FwdGlvblxuJHRhYmxlLWNhcHRpb24tYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHJvdyBwYWRkaW5nIGFuZCBmb250IHN0eWxlc1xuJHRhYmxlLXJvdy1wYWRkaW5nOiByZW0tY2FsYyg5IDEwKSAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgYXJlIGZvciBjb250cm9sbGluZyB0aGUgbGF5b3V0LCBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXG4kdGFibGUtbGF5b3V0OiBhdXRvICFkZWZhdWx0O1xuJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGwgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5AbWl4aW4gdGFibGUge1xuICBiYWNrZ3JvdW5kOiAkdGFibGUtYmc7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci1zdHlsZSAkdGFibGUtYm9yZGVyLXNpemUgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi1ib3R0b207XG4gIHRhYmxlLWxheW91dDogJHRhYmxlLWxheW91dDtcblxuICBjYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtY2FwdGlvbi1iZztcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6ICR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iZztcblxuICAgIHRyIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWhlYWQtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmc7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3QtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1mb290LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHIge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtcm93LWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICR0YWJsZS1yb3ctZm9udC1zaXplO1xuICAgICAgcGFkZGluZzogJHRhYmxlLXJvdy1wYWRkaW5nO1xuICAgICAgdGV4dC1hbGlnbjogJGRlZmF1bHQtZmxvYXQ7XG4gICAgfVxuXG4gICAgJi5ldmVuLFxuICAgICYuYWx0LFxuICAgICY6bnRoLW9mLXR5cGUoZXZlbikgeyBiYWNrZ3JvdW5kOiAkdGFibGUtZXZlbi1yb3ctYmc7IH1cbiAgfVxuXG4gIHRoZWFkIHRyIHRoLFxuICB0Zm9vdCB0ciB0aCxcbiAgdGZvb3QgdHIgdGQsXG4gIHRib2R5IHRyIHRoLFxuICB0Ym9keSB0ciB0ZCxcbiAgdHIgdGQgeyBkaXNwbGF5OiAkdGFibGUtZGlzcGxheTsgbGluZS1oZWlnaHQ6ICR0YWJsZS1saW5lLWhlaWdodDsgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXMge1xuICAgIHRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSkgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHRhYnMtY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XG5cbiR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlcyB7XG4gICAgLnRhYnMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGRkLCAudGFiLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgICAgIHBhZGRpbmc6ICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgKiAyO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb2xvcjokdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgZGQ6Zmlyc3QtY2hpbGQsIC50YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgZGQ6bGFzdC1jaGlsZCwgLnRhYjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBhIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkZCwgLnRhYi10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmLmFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbm9uZTsgfVxuICAgICAgICAmLmNvbnRhaW5lZCB7IHBhZGRpbmc6ICR0YWJzLWNvbnRlbnQtcGFkZGluZzsgfVxuICAgICAgfVxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICA+IC5jb250ZW50IHsgcGFkZGluZzogMCAkdGFicy1jb250ZW50LXBhZGRpbmc7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgLnRhYnMge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtMXB4O1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubm8tanMge1xuICAgICAgLnRhYnMtY29udGVudCA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF90aHVtYnMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFscy5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbiR0aHVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRodW1iLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xuJHRodW1iLWJvcmRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywuMikgIWRlZmF1bHQ7XG4kdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpICFkZWZhdWx0O1xuXG4vLyBSYWRpdXMgYW5kIHRyYW5zaXRpb24gc3BlZWQgZm9yIHRodW1ic1xuJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWItdHJhbnNpdGlvbi1zcGVlZDogMjAwbXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaW1hZ2UgdGh1bWJuYWlsIHN0eWxlcy5cbi8vXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIGFyb3VuZCB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3JkZXItd2lkdGguXG4vLyAkYm94LXNoYWRvdyAtIEJveCBzaGFkb3cgdG8gYXBwbHkgdG8gdGh1bWJuYWlsLiBEZWZhdWx0OiAkdGh1bWItYm94LXNoYWRvdy5cbi8vICRib3gtc2hhZG93LWhvdmVyIC0gQm94IHNoYWRvdyB0byBhcHBseSBvbiBob3Zlci4gRGVmYXVsdDogJHRodW1iLWJveC1zaGFkb3ctaG92ZXIuXG5AbWl4aW4gdGh1bWIoXG4gICRib3JkZXItd2lkdGg6JHRodW1iLWJvcmRlci13aWR0aCxcbiAgJGJveC1zaGFkb3c6JHRodW1iLWJveC1zaGFkb3csXG4gICRib3gtc2hhZG93LWhvdmVyOiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyKSB7XG4gIGJvcmRlcjogJHRodW1iLWJvcmRlci1zdHlsZSAkYm9yZGVyLXdpZHRoICR0aHVtYi1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwidGh1bWJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcblxuICAgIC8qIEltYWdlIFRodW1ibmFpbHMgKi9cbiAgICAudGgge1xuICAgICAgQGluY2x1ZGUgdGh1bWI7XG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihhbGwsICR0aHVtYi10cmFuc2l0aW9uLXNwZWVkLCBlYXNlLW91dCk7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCR0aHVtYi1yYWRpdXMpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gVG9vbHRpcCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRpcm9uICFkZWZhdWx0O1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGhhcy10aXAtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpICFkZWZhdWx0O1xuJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZS1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1yb3VuZGVkOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG4kdG9vbHRpcC1waXAtc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcInRvb2x0aXBcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXMge1xuXG4gICAgLyogVG9vbHRpcHMgKi9cbiAgICAuaGFzLXRpcCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvci10eXBlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI7XG4gICAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgfVxuXG4gICAgICAmLnRpcC1sZWZ0LFxuICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuXG4gICAgLnRvb2x0aXAge1xuICAgICAgYmFja2dyb3VuZDogJHRvb2x0aXAtYmc7XG4gICAgICBjb2xvcjogJHRvb2x0aXAtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTAwNjtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XG5cbiAgICAgID4gLm51YiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICR0b29sdGlwLXBpcC1zaXplO1xuXG4gICAgICAgICYucnRsIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICAmLnJvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJvdW5kZWQpO1xuICAgICAgICA+IC5udWIge1xuICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVuZWQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhcC10by1jbG9zZSB7XG4gICAgICBjb2xvcjogJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XG4gICAgICAudG9vbHRpcCB7XG4gICAgICAgID4gLm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0b3A6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgfVxuICAgICAgICAmLnRpcC10b3A+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3R0b206IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLnRpcC1sZWZ0LFxuICAgICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAmLnRpcC1sZWZ0Pi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmc7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgICAgcmlnaHQ6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmLnRpcC1yaWdodD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGxlZnQ6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2Zvcm1zJztcblxuLy9cbi8vIFRvcCBCYXIgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXJcbiR0b3BiYXItYmctY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWJnOiAkdG9wYmFyLWJnLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxuJHRvcGJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcbiR0b3BiYXItbWFyZ2luLWJvdHRvbTogMCAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgdGhlIHN0eWxlcyBmb3IgdGhlIHRpdGxlIGluIHRoZSB0b3AgYmFyXG4kdG9wYmFyLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgbGluayBjb2xvcnMgYW5kIHN0eWxlcyBmb3IgdG9wLWxldmVsIG5hdlxuJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlICFkZWZhdWx0OyAvLyBEYXJrZW4gYnkgMTAlXG4kdG9wYmFyLWxpbmstYmc6ICR0b3BiYXItYmcgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctaG92ZXI6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1wYWRkaW5nOiAoJHRvcGJhci1oZWlnaHQgLyAzKSAhZGVmYXVsdDtcbiR0b3BiYXItYmFjay1saW5rLXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi1mb250LXNpemU6IC43NXJlbSAhZGVmYXVsdDtcbiR0b3BiYXItYnV0dG9uLXRvcDogN3B4ICFkZWZhdWx0O1xuXG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xuJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhOiAuNCAhZGVmYXVsdDtcblxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAkb2lsICFkZWZhdWx0O1xuXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xuJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4kdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4kdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9ICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XG5cbi8vIFRvcC1iYXIgaW5wdXQgc3R5bGVzXG4kdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpICFkZWZhdWx0O1xuXG4vLyBEaXZpZGVyIFN0eWxlc1xuJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpICFkZWZhdWx0O1xuJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKSAhZGVmYXVsdDtcblxuLy8gU3RpY2t5IENsYXNzXG4kdG9wYmFyLXN0aWNreS1jbGFzczogXCIuc3RpY2t5XCIgIWRlZmF1bHQ7XG4kdG9wYmFyLWFycm93czogdHJ1ZSAhZGVmYXVsdDsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpXG5cbi8vIEFjY2Vzc2liaWxpdHkgbWl4aW5zIGZvciBoaWRpbmcgYW5kIHNob3dpbmcgdGhlIG1lbnUgZHJvcGRvd24gaXRlbXNcbkBtaXhpbiB0b3BiYXItaGlkZS1kcm9wZG93biB7XG4gIC8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuIGJ5IGRlZmF1bHQsIGJ1dCB2aXNpYmxlIHdoZW4gZm9jdXNlZC5cbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XG59XG5cbkBtaXhpbiB0b3BiYXItc2hvdy1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmYoKTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IC8vIFJlc2V0IHRoZSBwb3NpdGlvbiBmcm9tIHN0YXRpYyB0byBhYnNvbHV0ZVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidG9wLWJhclwiKSB7XG5cbiAgQGlmICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzIHtcblxuICAgIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgICAvLyBUaGlzIGNsYXNzIGlzIGdlbmVyYXRlZCBkZXNwaXRlIHRoZSB2YWx1ZSBvZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3Nlc1xuICAgIC8vIHRvIGVuc3VyZSB3aWR0aCBjYWxjdWxhdGlvbnMgd29yayBjb3JyZWN0bHkuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXRvcGJhciB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR0b3BiYXItbWVkaWEtcXVlcnkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogJHRvcGJhci1icmVha3BvaW50O1xuICAgIH1cblxuICAgIC8qIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIGNvbnRhaW4gdG8gZ3JpZCB3aWR0aCAqL1xuICAgIC5jb250YWluLXRvLWdyaWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuXG4gICAgICAudG9wLWJhciB7IG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTsgfVxuICAgIH1cblxuICAgIC8vIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIG1ha2UgaXQgc3RpY2sgdG8gdGhlIHRvcFxuICAgIC5maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICYuZXhwYW5kZWQ6bm90KC50b3AtYmFyKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgfVxuICAgICAgICAvLyBFbnN1cmUgeW91IGNhbiBzY3JvbGwgdGhlIG1lbnUgb24gc21hbGwgc2NyZWVuc1xuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB6LWluZGV4OiA5ODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gVG9wYmFyIEdsb2JhbCBsaXN0IFN0eWxlc1xuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAucm93IHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbiAgICAgIGZvcm0sXG4gICAgICBpbnB1dCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHRvcDogLTFweDtcblxuICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGUgQXJlYVxuICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAvLyBAaWYgJHRvcGJhci1tZW51LWljb24tcG9zaXRpb24gPT0gJGRlZmF1bHQtZmxvYXQge2Zsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uO31cblxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgcCwgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci10aXRsZS13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWVudSB0b2dnbGUgYnV0dG9uIG9uIHNtYWxsIGRldmljZXNcbiAgICAgIC50b2dnbGUtdG9wYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAjeyR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9ufTogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbWVudS1saW5rLXdlaWdodDtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkaW5nIHRoZSBjbGFzcyBcIm1lbnUtaWNvblwiIHdpbGwgYWRkIHRoZSAzLWxpbmUgaWNvbiBwZW9wbGUgbG92ZSBhbmQgYWRvcmUuXG4gICAgICAgICYubWVudS1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTU4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmcrcmVtLWNhbGMoMjUpIDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBoYW1idXJnZXIgaWNvblxuICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAvLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGljb24gd2l0aCB0aHJlZSBsaW5lcyBha2EgdGhlIGhhbWJ1cmdlciBpY29uLCB0aGUgbWVudS1pY29uIG9yIHRoZSBuYXZpY29uXG4gICAgICAgICAgICAgIC8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uXG4gICAgICAgICAgICAgIC8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4gICAgICAgICAgICAgIC8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4gICAgICAgICAgICAgIC8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuICAgICAgICAgICAgICAvLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4gICAgICAgICAgICAgIC8vICRjb2xvciAtIGljb24gY29sb3JcbiAgICAgICAgICAgICAgLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXIsIGhlcmUgaXQgaXNuJ3Qgc2V0IGIvYyBpdCB3b3VsZCBvdmVycmlkZSAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkXG4gICAgICAgICAgICAgIC8vICRvZmZjYW52YXMgLSBTZXQgdG8gZmFsc2Ugb2YgQGluY2x1ZGUgaW4gdG9wYmFyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigxNnB4LCBmYWxzZSwgMCwgMXB4LCA2cHgsICR0b3BiYXItbWVudS1pY29uLWNvbG9yLCBcIlwiLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoYW5nZSB0aGluZ3MgdXAgd2hlbiB0aGUgdG9wLWJhciBpcyBleHBhbmRlZFxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgLnRpdGxlLWFyZWEgeyBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnOyB9XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICAgIGEgeyBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDtcbiAgICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgICAgLy8gU2hoLCBkb24ndCB0ZWxsLCBidXQgYm94LXNoYWRvd3MgY3JlYXRlIHRoZSBtZW51IGljb24gOilcbiAgICAgICAgICAgICAgLy8gQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgYmFycyB3aGVuIHRoZSBtZW51IGlzIGV4cGFuZGVkLCB1c2luZyBnaXZlbiB0aGlja25lc3MgZnJvbSBoYW1idXJnZXIoKSBhYm92ZVxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCA3cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgYW5kIExlZnQgTmF2aWdhdGlvbiB0aGF0IHN0YWNrZWQgYnkgZGVmYXVsdFxuICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKCRkZWZhdWx0LWZsb2F0LCAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQpO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZGl2aWRlcixcbiAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHVsIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1iZztcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJ1dHRvbi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJjpob3Zlcjpub3QoLmhhcy1mb3JtKSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBZGQgc29tZSBleHRyYSBwYWRkaW5nIGZvciBsaXN0IGl0ZW1zIGNvbnRhaW5zIGJ1dHRvbnNcbiAgICAgIC5oYXMtZm9ybSB7IHBhZGRpbmc6ICR0b3BiYXItbGluay1wYWRkaW5nOyB9XG5cbiAgICAgIC8vIFN0eWxpbmcgZm9yIGxpc3QgaXRlbXMgdGhhdCBoYXZlIGEgZHJvcGRvd24gd2l0aGluIHRoZW0uXG4gICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItYXJyb3dzKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksICRkZWZhdWx0LWZsb2F0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpIC0gMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1vdmVkIHsgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGVsZW1lbnRzIGluc2lkZSBvZiBkcm9wZG93bnNcbiAgICAgIC5kcm9wZG93biB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50aXRsZSBoNSwgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAvLyBCYWNrIEJ1dHRvblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYmFjay1saW5rLXNpemU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6bm9uZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmhhcy1mb3JtIHsgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nOyB9XG4gICAgICAgICAgLmJ1dHRvbiwgYnV0dG9uIHsgdG9wOiBhdXRvOyB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZyAycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4gICAgLy8gVG9wIEJhciBzdHlsZXMgaW50ZW5kZWQgZm9yIHNjcmVlbiBzaXplcyBhYm92ZSB0aGUgYnJlYWtwb2ludC5cbiAgICBAbWVkaWEgI3skdG9wYmFyLW1lZGlhLXF1ZXJ5fSB7XG4gICAgICAudG9wLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAudGl0bGUtYXJlYSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgICAgICAubmFtZSBoMSBhLFxuICAgICAgICAubmFtZSBoMiBhLFxuICAgICAgICAubmFtZSBoMyBhLFxuICAgICAgICAubmFtZSBoNCBhLFxuICAgICAgICAubmFtZSBoNSBhLFxuICAgICAgICAubmFtZSBoNiBhIHsgd2lkdGg6IGF1dG87IH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQgeyBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnOyB9XG4gICAgICB9XG5cbiAgICAgIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihub25lLDAsMCk7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmU6bm90KC5oYXMtZm9ybSkge1xuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgQGlmKCR0b3BiYXItYXJyb3dzKSB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nICsgJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgdG9wKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKTtcbiAgICAgICAgICAgICAgICB0b3A6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5tb3ZlZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhvdmVyLCAmLm5vdC1jbGljazpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93biBsaS5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWFycm93cykge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLmhhcy1mb3JtKTpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWNvbmQgTGV2ZWwgRHJvcGRvd25zXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gdWwgPiAuZGl2aWRlcixcbiAgICAgICAgPiB1bCA+IFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWZvcm0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbiBvdmVycmlkZXMgZm9yIHVsLnJpZ2h0IGFuZCB1bC5sZWZ0XG4gICAgICAgIC4jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMDAlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC4jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRGVncmFkZSBncmFjZWZ1bGx5IHdoZW4gSmF2YXNjcmlwdCBpcyBkaXNhYmxlZC4gRGlzcGxheXMgZHJvcGRvd24gYW5kIGNoYW5nZXNcbiAgICAgIC8vIGJhY2tncm91bmQgJiB0ZXh0IGNvbG9yIG9uIGhvdmVyLlxuICAgICAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6aG92ZXIgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgICAmOmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAuaGFzLWRyb3Bkb3duLm1vdmVkID4gLmRyb3Bkb3duIHtcbiAgICAgICAgY2xpcDppbml0aWFsO1xuICAgICAgfVxuICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgY2xpcDppbml0aWFsO1xuICAgICAgfVxuICAgICAgLy8gVGhpcyB3YXMgbmVlZGVkIGFzIHBhcmVudCB1bCdzIGhhZCBwYWRkaW5nLCB3aGljaCB0aGUgY2xpcDogd2FzIGFsbG93aW5nIGNvbnRlbnQgdG8gcGVhayB0aHJvdWdoXG4gICAgICAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgICAudG9wLWJhci5leHBhbmRlZCAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xuICAgICAgICBjbGlwOmluaXRpYWw7XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICBjbGlwOmluaXRpYWw7XG4gICAgICB9XG4gICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIHdoaWNoIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcbiAgICAgIC5oYXMtZHJvcGRvd246bm90KC5tb3ZlZCkgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4kaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzdHlsZXNcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcbiRoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHNpemVzXG4kaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCkgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiByZW0tY2FsYygzNykgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiByZW0tY2FsYygyNykgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiByZW0tY2FsYygyMykgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgc2l6ZSByZWR1Y3Rpb24gb24gc21hbGwgc2NyZWVuc1xuJGgxLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kaDItZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMy1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDQtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJGg1LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xuJGg2LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXG4kc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQSBnZW5lcmFsIDxzbWFsbD4gc3R5bGluZ1xuJHNtYWxsLWZvbnQtc2l6ZTogNjAlICFkZWZhdWx0O1xuJHNtYWxsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHBhcmFncmFwaHNcbiRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHBhcmFncmFwaC1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0OiAxLjM1ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSA8Y29kZT4gdGFnc1xuJGNvZGUtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGNvZGUtYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzAlKSAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY29kZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYW5jaG9yc1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XG4kaHItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRoci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xuJGxpc3QtZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbGlzdC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xuJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW0gIWRlZmF1bHQ7XG4kbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW0gIWRlZmF1bHQ7XG4kbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDAgIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTogLjNyZW0gIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGJsb2NrcXVvdGVzXG4kYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMjMlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBBY3JvbnltIHN0eWxlc1xuJGFjcm9ueW0tdW5kZXJsaW5lOiAxcHggZG90dGVkICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHBhZGRpbmcgYW5kIG1hcmdpblxuJG1pY3JvZm9ybWF0LXBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKSAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1tYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZnVsbCBuYW1lIGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdW1tYXJ5IGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBwYWRkaW5nXG4kbWljcm9mb3JtYXQtYWJici1wYWRkaW5nOiByZW0tY2FsYygwIDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3MgbmFtZXNcbiRhbGlnbi1jbGFzcy1uYW1lczpcbiAgc21hbGwtb25seSxcbiAgc21hbGwsXG4gIG1lZGl1bS1vbmx5LFxuICBtZWRpdW0sXG4gIGxhcmdlLW9ubHksXG4gIGxhcmdlLFxuICB4bGFyZ2Utb25seSxcbiAgeGxhcmdlLFxuICB4eGxhcmdlLW9ubHksXG4gIHh4bGFyZ2U7XG5cbi8vIFRleHQgYWxpZ25tZW50IGJyZWFrcG9pbnRzXG4kYWxpZ24tY2xhc3MtYnJlYWtwb2ludHM6XG4gICRzbWFsbC1vbmx5LFxuICAkc21hbGwtdXAsXG4gICRtZWRpdW0tb25seSxcbiAgJG1lZGl1bS11cCxcbiAgJGxhcmdlLW9ubHksXG4gICRsYXJnZS11cCxcbiAgJHhsYXJnZS1vbmx5LFxuICAkeGxhcmdlLXVwLFxuICAkeHhsYXJnZS1vbmx5LFxuICAkeHhsYXJnZS11cDtcblxuLy8gR2VuZXJhdGVzIHRleHQgYWxpZ24gYW5kIGp1c3RpZnkgY2xhc3Nlc1xuQG1peGluIGFsaWduLWNsYXNzZXN7XG4gIC50ZXh0LWxlZnQgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkYWxpZ24tY2xhc3MtbmFtZXMpIHtcbiAgICBAbWVkaWEgI3sobnRoKCRhbGlnbi1jbGFzcy1icmVha3BvaW50cywgJGkpKX0ge1xuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gVHlwb2dyYXBoeSBQbGFjZWhvbGRlcnNcbi8vXG5cbi8vIFRoZXNlIHdpbGwgdGhyb3cgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGlmIHVzZWQgd2l0aGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gbGVhZCB7XG4gIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyByZW0tY2FsYygzLjUpO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5AbWl4aW4gc3ViaGVhZGVyIHtcbiAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkc3ViaGVhZGVyLWZvbnQtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLXRvcC1tYXJnaW47XG4gIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjtcbn1cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0eXBlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzIHtcbiAgICAvLyBSZXNwb25zaXZlIFRleHQgYWxpZ25tZW50XG4gICAgQGluY2x1ZGUgYWxpZ24tY2xhc3NlcztcblxuICAgIC8qIFR5cG9ncmFwaHkgcmVzZXRzICovXG4gICAgZGl2LFxuICAgIGRsLFxuICAgIGR0LFxuICAgIGRkLFxuICAgIHVsLFxuICAgIG9sLFxuICAgIGxpLFxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIHByZSxcbiAgICBmb3JtLFxuICAgIHAsXG4gICAgYmxvY2txdW90ZSxcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IExpbmsgU3R5bGVzICovXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbWcgeyBib3JkZXI6bm9uZTsgfVxuICAgIH1cblxuICAgIC8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqL1xuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgICAmLmxlYWQgeyBAaW5jbHVkZSBsZWFkOyB9XG5cbiAgICAgICYgYXNpZGUge1xuICAgICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXN0eWxlOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmF1bHQgaGVhZGVyIHN0eWxlcyAqL1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgY29sb3I6ICRoZWFkZXItZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItYm90dG9tLW1hcmdpbjtcbiAgICAgIG1hcmdpbi10b3A6ICRoZWFkZXItdG9wLW1hcmdpbjtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgICBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAkc21hbGwtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAtICRoMS1mb250LXJlZHVjdGlvbjsgfVxuICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplIC0gJGgyLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemUgLSAkaDMtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtICRoNC1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplIC0gJGg1LWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemUgLSAkaDYtZm9udC1yZWR1Y3Rpb247IH1cblxuICAgIC5zdWJoZWFkZXIgeyBAaW5jbHVkZSBzdWJoZWFkZXI7IH1cblxuICAgIGhyIHtcbiAgICAgIGJvcmRlcjogJGhyLWJvcmRlci1zdHlsZSAkaHItYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaHItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAkaHItbWFyZ2luIDAgKCRoci1tYXJnaW4gLSByZW0tY2FsYygkaHItYm9yZGVyLXdpZHRoKSk7XG4gICAgfVxuXG4gICAgLyogSGVscGZ1bCBUeXBvZ3JhcGh5IERlZmF1bHRzICovXG4gICAgZW0sXG4gICAgaSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBzdHJvbmcsXG4gICAgYiB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBjb2RlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2RlLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1zdHlsZTogJGNvZGUtYm9yZGVyLXN0eWxlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY29kZS1ib3JkZXItc2l6ZTtcbiAgICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogTGlzdHMgKi9cbiAgICB1bCxcbiAgICBvbCxcbiAgICBkbCB7XG4gICAgICBmb250LWZhbWlseTogJGxpc3QtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6ICRsaXN0LWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5lLWhlaWdodDtcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgICAgJi5uby1idWxsZXQge1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIHVsLFxuICAgICAgICAgIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFVub3JkZXJlZCBMaXN0cyAqL1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zcXVhcmUsXG4gICAgICAmLmNpcmNsZSxcbiAgICAgICYuZGlzYyB7XG4gICAgICAgIGxpIHVsIHsgbGlzdC1zdHlsZTogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICAmLnNxdWFyZSB7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYuY2lyY2xlIHsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgICAgJi5kaXNjIHsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYubm8tYnVsbGV0IHsgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIH1cblxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cbiAgICBvbCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW47XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZpbml0aW9uIExpc3RzICovXG4gICAgZGwge1xuICAgICAgZHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgICAgICBmb250LXdlaWdodDogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0O1xuICAgICAgfVxuICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b207IH1cbiAgICB9XG5cbiAgICAvKiBBYmJyZXZpYXRpb25zICovXG4gICAgYWJicixcbiAgICBhY3JvbnltIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWhlbHAtdmFsdWU7XG4gICAgfVxuICAgIGFiYnIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAmW3RpdGxlXSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRhY3JvbnltLXVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBCbG9ja3F1b3RlcyAqL1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgICBjaXRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwMjBcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEsXG4gICAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBibG9ja3F1b3RlLFxuICAgIGJsb2NrcXVvdGUgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIC8qIE1pY3JvZm9ybWF0cyAqL1xuICAgIC52Y2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46ICRtaWNyb2Zvcm1hdC1tYXJnaW47XG4gICAgICBib3JkZXI6ICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGggJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZSAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yO1xuICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LXBhZGRpbmc7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5mbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmV2ZW50IHtcbiAgICAgIC5zdW1tYXJ5IHsgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OyB9XG5cbiAgICAgIGFiYnIge1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb247XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0OyB9XG4gICAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTsgfVxuICAgICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemU7IH1cbiAgICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XG4gICAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTsgfVxuICAgICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbiAgICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAndHlwZSc7XG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBWYXJpYWJsZXNcbiRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJiYXItYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xuJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgRGl2aWRlciBTdHlsZXNcbiR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xuJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuXG5cbi8vIE9mZiBDYW52YXMgVGFiIEJhciBIZWFkZXJzXG4kdGFiYmFyLWhlYWRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcbiR0YWJiYXItaGVhZGVyLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtd2lkdGg6IHJlbS1jYWxjKDI1MCkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iZzogJG9pbCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnLWFjdGl2ZTogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBMaXN0IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogLjNyZW0gcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJnOiAkdHVhdGFyYSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW46MCAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstcGFkZGluZzogcmVtLWNhbGMoMTAsIDE1KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iZywgJGxpZ2h0bmVzczogLTI1JSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJnOiAjNDQ0ICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZzogc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmFjay1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXG4kdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcblxuJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDM1KSAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWljb24td2lkdGggIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24tcGFkZGluZzogMCAhZGVmYXVsdDtcblxuJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0OiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHggIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcDogNnB4ICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XG4kb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjIpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXNcbiRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCIgIWRlZmF1bHQ7XG5cblxuLy8gTUlYSU5TXG4vLyBSZW1vdmUgdHJhbnNpdGlvbiBmbGlja2VyIG9uIHBob25lc1xuQG1peGluIGtpbGwtZmxpY2tlciB7XG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDB4KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIEJhc2ljIHByb3BlcnRpZXMgZm9yIHRoZSBjb250ZW50IHdyYXBzXG5AbWl4aW4gd3JhcC1iYXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHR4LCAkdHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopXG59XG5cbi8vIGJhc2ljIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcyBtZW51IGNvbnRhaW5lclxuQG1peGluIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSAwcztcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xuICB6LWluZGV4OiAxMDAxO1xuXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4vLyBPRkYgQ0FOVkFTIFdSQVBcbi8vIFdyYXAgdmlzaWJsZSBjb250ZW50IGFuZCBwcmV2ZW50IHNjcm9sbCBiYXJzXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICBAaW5jbHVkZSB3cmFwLWJhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICYubW92ZS1yaWdodCxcbiAgJi5tb3ZlLWxlZnQgeyBtaW4taGVpZ2h0OiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbn1cblxuLy8gSU5ORVIgV1JBUFxuLy8gTWFpbiBjb250ZW50IGFyZWEgdGhhdCBtb3ZlcyB0byByZXZlYWwgdGhlIG9mZi1jYW52YXMgbmF2XG5AbWl4aW4gaW5uZXItd3JhcCB7XG4gIC8vIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgLy8gcmVtb3ZlZCBmb3Igbm93IHRpbGwgY2hyb21lIGZpeGVzIGJhY2tmYWNlIGlzc3VlXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLSN7JG1lbnUtc2xpZGV9O1xuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XG59XG5cbi8vIFRBQiBCQVJcbi8vIFRoaXMgaXMgdGhlIHRhYiBiYXIgYmFzZVxuQG1peGluIHRhYi1iYXItYmFzZSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcblxuICAvLyBiYXNlIHN0eWxlc1xuICBiYWNrZ3JvdW5kOiAkdGFiYmFyLWJnO1xuICBjb2xvcjogJHRhYmJhci1jb2xvcjtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICR0YWJiYXItbGluZS1oZWlnaHQ7XG5cbiAgLy8gbWFrZSBzdXJlIGl0J3MgYmVsb3cgdGhlIC5leGl0LW9mZi1jYW52YXMgbGlua1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIHotaW5kZXg6IDk5OTtcblxuICAvLyBUeXBvZ3JhcGh5XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiAkdGFiYmFyLWhlYWRlci1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHRhYmJhci1oZWFkZXItd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDtcbiAgICBtYXJnaW46ICR0YWJiYXItaGVhZGVyLW1hcmdpbjtcbiAgfVxuICBoMSwgaDIsIGgzLCBoNCB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxufVxuXG4vLyBTTUFMTCBTRUNUSU9OU1xuLy8gVGhlc2UgYXJlIHNtYWxsIHNlY3Rpb25zIG9uIHRoZSBsZWZ0IGFuZCByaWdodCB0aGF0IGNvbnRhaW4gdGhlIG9mZi1jYW52YXMgdG9nZ2xlIGJ1dHRvbnM7XG5AbWl4aW4gdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uKSB7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogJHRhYmJhci1pY29uLXdpZHRoO1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGJvcmRlci1yaWdodDogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuICAgIC8vIGJveC1zaGFkb3c6IDFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogMTMlKTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyO1xuICAgIC8vIGJveC1zaGFkb3c6IC0xcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xuICAgIHJpZ2h0OjA7XG4gIH1cbn1cblxuQG1peGluIHRhYi1iYXItc2VjdGlvbiB7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIHBhZGRpbmc6ICR0YWJiYXItbWlkZGxlLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gICAgJi5sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICYucmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5cbiAgLy8gc3RpbGwgbmVlZCB0byBtYWtlIHRoZXNlIG5vbi1wcmVzZW50YXRpb25hbFxuICAmLmxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgJi5taWRkbGUge1xuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xuICB9XG59XG5cbi8vIE9GRiBDQU5WQVMgTElTVFxuLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBsaW5rcyBpbiB0aGUgb2ZmLWNhbnZhcyBtZW51XG5AbWl4aW4gb2ZmLWNhbnZhcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xuXG4gIGxpIHtcbiAgICBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1sYWJlbC1iZztcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b207XG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wO1xuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgIG1hcmdpbjogJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luO1xuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b207XG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGluay1wYWRkaW5nO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWhvdmVyO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8gQkFDSyBMSU5LXG4vLyBUaGlzIGlzIGFuIG92ZXJsYXkgdGhhdCwgd2hlbiBjbGlja2VkLCB3aWxsIHRvZ2dsZSBvZmYgdGhlIG9mZiBjYW52YXMgbWVudVxuQG1peGluIGJhY2stbGluayB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcblxuICBib3gtc2hhZG93OiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c7XG4gIGN1cnNvcjogJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I7XG4gIHRyYW5zaXRpb246ICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjtcblxuICAvLyBmaWxsIHRoZSBzY3JlZW5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBPZmYtQ2FudmFzIFN1Ym1lbnUgQ2xhc3Nlc1xuLy9cbkBtaXhpbiBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcbiAgei1pbmRleDogMTAwMjtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLSN7JG1lbnUtc2xpZGV9O1xuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XG5cbiAgLy9iYWNrIGJ1dHRvbiBzdHlsZSBsaWtlIGxhYmVsXG4gIC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1iZztcbiAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b207XG4gICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYmc7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b207XG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A7XG4gICAgfVxuXG4gICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XG4gICAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vTGVmdCBkb3VibGUgYW5nbGUgcXVvdGUgb3IgUmlnaHQgZG91YmxlIGFuZ2xlIHF1b3RlIGNoYXJzXG5AbWl4aW4gaWNvbi1kb3VibGUtYXJyb3dzICgkcG9zaXRpb24pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBjb250ZW50OiBcIlxcQUJcIjtcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIH1cbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBjb250ZW50OiBcIlxcQkJcIjtcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIH1cbiAgfVxuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8vXG4vLyBERUZBVUxUIENMQVNTRVNcbi8vXG5AaW5jbHVkZSBleHBvcnRzKFwib2ZmY2FudmFzXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzIHtcblxuICAgIC5vZmYtY2FudmFzLXdyYXAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXA7IH1cbiAgICAuaW5uZXItd3JhcCB7IEBpbmNsdWRlIGlubmVyLXdyYXA7IH1cblxuICAgIC50YWItYmFyIHsgQGluY2x1ZGUgdGFiLWJhci1iYXNlOyB9XG5cbiAgICAubGVmdC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogbGVmdCk7IH1cbiAgICAucmlnaHQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IHJpZ2h0KTsgfVxuXG4gICAgLnRhYi1iYXItc2VjdGlvbiB7IEBpbmNsdWRlIHRhYi1iYXItc2VjdGlvbjsgfVxuXG4gICAgLy8gTUVOVSBCVVRUT05cbiAgICAvLyBUaGlzIGlzIGEgbGl0dGxlIGJvbnVzLiBZb3UgZG9uJ3QgbmVlZCBpdCBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrLiBNaXhpbnMgdG8gYmUgd3JpdHRlbiBpbiB0aGUgZnV0dXJlLlxuICAgIC50YWItYmFyIC5tZW51LWljb24ge1xuICAgICAgY29sb3I6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICR0YWJiYXItbWVudS1pY29uLWhlaWdodDtcbiAgICAgIHBhZGRpbmc6ICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHdpZHRoOiAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDtcblxuICAgICAgLy8gQGluY2x1ZGUgZm9yIHRoZSBoYW1idXJnZXIgbWVudS1pY29uXG4gICAgICAvL1xuICAgICAgLy8gQXJndW1lbnRzIGFzIGZvbGxvd3M6ICgkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvcilcbiAgICAgIC8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLlxuICAgICAgLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0PSBGYWxzZVxuICAgICAgLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogPSBGYWxzZVxuICAgICAgLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzID0gMXB4XG4gICAgICAvLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwID0gNnB4XG4gICAgICAvLyAkY29sb3IgLSBpY29uIGNvbG9yIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yXG4gICAgICAvLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIHdoZW4gaG92ZXJlZCBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlclxuICAgICAgLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlXG4gICAgICBAaW5jbHVkZSBoYW1idXJnZXIoJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0LCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwLCAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJHRhYmJhci1tZW51LWljb24taG92ZXIsIHRydWUpXG4gICAgfVxuXG4gICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogbGVmdCk7IH1cbiAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogcmlnaHQpOyB9XG5cbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgeyBAaW5jbHVkZSBvZmYtY2FudmFzLWxpc3Q7IH1cblxuXG4gICAgLy8gQU5JTUFUSU9OIENMQVNTRVNcbiAgICAvLyBUaGVzZSBjbGFzc2VzIGFyZSBhZGRlZCB3aXRoIEpTIGFuZCB0cmlnZ2VyIHRoZSBhY3R1YWwgYW5pbWF0aW9uLlxuICAgIC5tb3ZlLXJpZ2h0IHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgkb2ZmLWNhbnZhcy13aWR0aCwwLDApO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazt9XG4gICAgfVxuXG4gICAgLm1vdmUtbGVmdCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLSgkb2ZmLWNhbnZhcy13aWR0aCksMCwwKTtcblxuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51LCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQge1xuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cblxuICAgIC8vIE9sZGVyIGJyb3dzZXJzXG4gICAgLm5vLWNzc3RyYW5zZm9ybXMge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgbGVmdDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyByaWdodDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cblxuICAgICAgLm1vdmUtbGVmdCA+IC5pbm5lci13cmFwIHsgcmlnaHQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XG4gICAgICAubW92ZS1yaWdodCA+IC5pbm5lci13cmFwIHsgbGVmdDogJG9mZi1jYW52YXMtd2lkdGg7IH1cbiAgICB9XG5cbiAgICAubGVmdC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IGxlZnQpO1xuICAgICAgJi5tb3ZlLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICAmLm1vdmUtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgIH1cbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBPbmx5IGluY2x1ZGUgdGhlc2Ugc3R5bGVzIGlmIHlvdSB3YW50IHRoZW0uXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XG4gICAgICAvKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG4gICAgICAucHJpbnQtb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuICAgICAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuXG4gICAgICAgIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgICAgICAuaXIgYTphZnRlcixcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiI1wiXTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cblxuICAgICAgICBwcmUsXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHVtaW51bTtcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XG5cbiAgICAgICAgdHIsXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQHBhZ2UgeyBtYXJnaW46IC41Y207IH1cblxuICAgICAgICBwLFxuICAgICAgICBoMixcbiAgICAgICAgaDMge1xuICAgICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgICAgd2lkb3dzOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgICAgICAuaGlkZS1vbi1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAucHJpbnQtb25seSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgICAgfVxuICAgIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9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 */
