@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline
}
audio:not([controls]) {
  display: none;
  height: 0
}
[hidden],
template {
  display: none
}
a {
  background-color: transparent
}
a:active,
a:hover {
  outline: 0
}
abbr[title] {
  border-bottom: 1px dotted
}
b,
strong {
  font-weight: 700
}
dfn {
  font-style: italic
}
h1 {
  margin: .67em 0;
  font-size: 2em
}
mark {
  color: #000;
  background: #ff0
}
small {
  font-size: 80%
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline
}
sup {
  top: -.5em
}
sub {
  bottom: -.25em
}
img {
  border: 0
}
svg:not(:root) {
  overflow: hidden
}
figure {
  margin: 1em 40px
}
hr {
  box-sizing: content-box;
  height: 0
}
pre {
  overflow: auto
}
code,
kbd,
pre,
samp {
  font-size: 1em
}
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit
}
button {
  overflow: visible
}
button,
select {
  text-transform: none
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer
}
button[disabled],
html input[disabled] {
  cursor: default
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0
}
input {
  line-height: normal
}
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto
}
input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
legend {
  padding: 0;
  border: 0
}
textarea {
  overflow: auto
}
optgroup {
  font-weight: 700
}
table {
  border-spacing: 0;
  border-collapse: collapse
}
td,
th {
  padding: 0
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle
}
address,
blockquote,
dl,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
ol,
p,
pre,
table,
ul {
  margin-top: 0;
  margin-bottom: 0
}
html {
  box-sizing: border-box;
  font-size: 100%;
  line-height: 1.6
}
*,
::after,
::before {
  box-sizing: inherit
}
body {
  padding: 0;
  margin: 0;
  font-family: "Noto Sans",OpenSans,arial,helvetica,sans-serif;
  color: #333;
  background-color: #fff
}
fieldset {
  min-width: auto;
  padding: 0;
  margin: 0;
  border: 0
}
legend {
  display: block
}
a {
  -webkit-text-decoration-skip: none
}
dd {
  margin-left: 0
}
code,
kbd,
samp {
  font-family: consolas,menlo,courier,monospace;
  font-size: 1rem
}
[lang=ja] address,
[lang=ja] cite,
[lang=ja] dfn,
[lang=ja] em {
  font-style: normal
}
[tabindex="-1"]:focus {
  outline: 0!important
}
input[type=text] {
  line-height: normal
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none
}
html[data-whatintent=keyboard] a[href]:not([disabled]):focus,
html[data-whatintent=keyboard] button:not([disabled]):focus,
html[data-whatintent=keyboard] input[type=checkbox]:not([disabled]):focus,
html[data-whatintent=keyboard] input[type=radio]:not([disabled]):focus,
html[data-whatintent=keyboard] input[type=text]:not([disabled]):focus,
html[data-whatintent=keyboard] select:not([disabled]):focus,
html[data-whatintent=keyboard] textarea:not([disabled]):focus {
  box-shadow: 0 0 6px 3px #1589ee
}
a[href]:not([disabled]):focus,
button:not([disabled]):focus,
input[type=checkbox]:not([disabled]):focus,
input[type=radio]:not([disabled]):focus,
input[type=text]:not([disabled]):focus,
select:not([disabled]):focus,
textarea:not([disabled]):focus {
  outline: 0
}
.result-Contents {
  padding-bottom: 2.5rem
}
@media print,
screen and (min-width:48em) {
  .result-Contents {
    padding-top: .9375rem;
    padding-bottom: 3.75rem
  }
}
.result-Contents_Item {
  padding: 1.25rem 0;
  border-bottom: 1px solid #dadada
}
@media print,
screen and (min-width:48em) {
  .result-Contents_Item {
    padding: 2.1875rem 0!important
  }
}
@media print,
screen and (min-width:48em) {
  .result-Contents_Item::after {
    display: block;
    clear: both;
    content: ""
  }
}
.result-Contents_Image {
  display: none
}
@media print,
screen and (min-width:48em) {
  .result-Contents_Image {
    display: block;
    float: left;
    width: 12.5rem;
    padding-right: 1.875rem
  }
}
.result-Contents_Image img {
  display: block
}
@media print,
screen and (min-width:48em) {
  .result-Contents_body {
    overflow: hidden
  }
}
.result-Contents_Title {
  margin-bottom: .3125rem;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
  color: #000
}
.result-Contents_Title .SS_highlight {
  font-weight: 700
}
.result-Contents_Link {
  margin-bottom: .625rem;
  line-height: 1.4;
  word-break: break-all
}
.result-Contents_Link a {
  font-size: .9375rem;
  line-height: 1.4;
  color: #df0523;
  text-decoration: none
}
@media print,
screen and (min-width:48em) {
  .result-Contents_Link a {
    line-height: 1.5
  }
}
.result-Contents_Link a:hover {
  text-decoration: underline
}
.result-Contents_Link a .SS_highlight {
  font-weight: 700
}
.result-Contents_Summary {
  margin-bottom: .625rem;
  font-size: .9375rem;
  line-height: 1.4;
  color: #666
}
.result-Contents_Summary::after {
  content: "…"
}
.result-Contents_Summary .SS_highlight {
  font-weight: 700
}
.result-Contents_LastModified {
  font-size: .9375rem;
  line-height: 1.4;
  color: #666
}
.result-Footer {
  padding-top: 1.5rem
}
@media print,
screen and (min-width:48em) {
  .result-Footer {
    padding-top: 2.5rem
  }
}
.result-Footer_Inner {
  margin: auto
}
.sw-FormRadio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0
}
.sw-FormRadio + label {
  display: table;
  font-size: 1rem;
  line-height: 1.4;
  cursor: pointer
}
.sw-FormRadio + label > svg {
  width: 1em;
  min-width: 1em;
  height: 1em;
  display: table-cell;
  margin: calc((1.4 - 1) * .5em) .25em 0 0;
  font-size: 1em;
  vertical-align: top;
  border: 1px solid #767676;
  border-radius: 50%;
  fill: #fff
}
.sw-FormRadio + label > span {
  display: table-cell;
  width: calc(100% - 1em - 4px);
  vertical-align: top
}
[data-whatintent=keyboard] .sw-FormRadio:focus + label > svg {
  border-color: #1589ee;
  box-shadow: 0 0 6px 3px #1589ee
}
[data-whatintent=mouse] .sw-FormRadio:focus + label > svg,
[data-whatintent=touch] .sw-FormRadio:focus + label > svg {
  border-color: #767676;
  box-shadow: none
}
.sw-FormRadio:checked + label > svg,
[data-whatintent=mouse] .sw-FormRadio:checked + label > svg,
[data-whatintent=touch] .sw-FormRadio:checked + label > svg {
  background-color: #1e87f0;
  border-color: #1e87f0
}
@media screen and (-ms-high-contrast:active),
print {
  .sw-FormRadio:checked + label > svg,
  [data-whatintent=mouse] .sw-FormRadio:checked + label > svg,
  [data-whatintent=touch] .sw-FormRadio:checked + label > svg {
    border: 1px solid #000;
    fill: #000
  }
}
.sw-FormRadio.-error + label > svg {
  background-color: #ffecec;
  fill: #ffecec
}
.sw-FormRadio:disabled + label {
  cursor: not-allowed;
  opacity: 1
}
.results-Inner {
  position: relative;
  padding: .9375rem;
  margin: 0 auto
}
@media print,
screen and (min-width:76em) {
  .results-Inner {
    max-width: 1186px;
    padding: 0
  }
}
.result-NoResult {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem
}
@media print,
screen and (min-width:48em) {
  .result-NoResult {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem
  }
}
.result-NoResult > :first-child {
  margin-top: 0
}
.result-NoResult > :last-child {
  margin-bottom: 0
}
.result-Pager_Sp {
  display: flex;
  justify-content: center
}
@media print,
screen and (min-width:48em) {
  .result-Pager_Sp {
    display: none
  }
}
.result-Pager_Pc {
  display: none
}
@media print,
screen and (min-width:48em) {
  .result-Pager_Pc {
    display: block
  }
}
.result-Pager_Next,
.result-Pager_Prev {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  text-align: center
}
.result-Pager_Next a,
.result-Pager_Prev a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  font-size: 0;
  color: #999
}
@media print,
screen and (min-width:48em) {
  .result-Pager_Next a,
  .result-Pager_Prev a {
    transition-duration: .2s
  }
  .result-Pager_Next a:hover,
  .result-Pager_Prev a:hover {
    color: #df0523
  }
}
.result-Pager_Next a[aria-disabled],
.result-Pager_Prev a[aria-disabled] {
  pointer-events: none;
  opacity: 0
}
.result-Pager_PrevIcon {
  position: absolute;
  inset: 0;
  height: 1.375rem;
  margin: auto;
  font-size: 1.375rem;
  color: #999
}
.result-Pager_PrevDisabled + .result-Pager_PrevIcon {
  display: none
}
.result-Pager_NextIcon {
  position: absolute;
  inset: 0;
  height: 1.375rem;
  margin: auto;
  font-size: 1.375rem;
  color: #999
}
.result-Pager_NextDisabled + .result-Pager_NextIcon {
  display: none
}
.result-Pager_NextDisabled,
.result-Pager_PrevDisabled {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0
}
.result-Pager_Location {
  display: flex
}
.result-Pager_LocationItem {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  font-weight: 600;
  box-shadow: 0 -1px 0 0 #e9e9e9 inset
}
.result-Pager_LocationItem:first-child {
  color: #df0523
}
.result-Pager_LocationItem:first-child::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  border-bottom: 2px solid #df0523
}
.result-Pager_List {
  display: flex;
  padding-left: 0;
  list-style-type: none
}
@media print,
screen and (min-width:48em) {
  .result-Pager_List {
    align-items: center;
    justify-content: center
  }
}
.result-Pager_List > li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  font-weight: 600;
  list-style: none;
  box-shadow: 0 -1px 0 0 #e9e9e9 inset
}
.result-Pager_List > li.current::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  border-bottom: 2px solid #df0523
}
.result-Pager_List a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #666;
  text-decoration: none;
  transition-duration: .2s
}
.result-Pager_List a:hover {
  color: #df0523;
  text-decoration: none
}
.result-Pager_List .result-Pager_ListNext,
.result-Pager_List .result-Pager_ListPrev {
  box-shadow: 0 -1px 0 0 transparent inset
}
.result-Pager_List .result-Pager_ListNext a,
.result-Pager_List .result-Pager_ListPrev a {
  position: relative;
  font-size: 0
}
.result-Pager_ListNext a::before,
.result-Pager_ListPrev a::before {
  position: relative;
  position: absolute;
  top: -.4em;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 3rem;
  height: 1.375rem;
  margin: auto;
  font-size: 1.375rem;
  color: #999;
  text-align: center;
  content: "";
  transition-duration: .2s
}
.result-Pager_ListNext a:hover::before,
.result-Pager_ListPrev a:hover::before {
  color: #df0523
}
.results-Result {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1.3125rem;
  text-align: center;
  border-bottom: 1px solid #dadada
}
@media print,
screen and (min-width:48em) {
  .results-Result {
    padding-bottom: .625rem;
    text-align: left
  }
}
.results-Result_Hits {
  width: 100%;
  margin-bottom: 1em;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.5;
  color: #444
}
@media print,
screen and (min-width:48em) {
  .results-Result_Hits {
    width: auto;
    padding-right: 2.5rem;
    margin-right: auto;
    margin-bottom: 0
  }
}
.results-Result_Hits > strong {
  font-size: 1rem;
  line-height: 1.3125
}
.results-Result_PerPage {
  display: none
}
@media print,
screen and (min-width:48em) {
  .results-Result_PerPage {
    display: block;
    padding-right: 2.5rem;
    font-size: .875rem;
    line-height: 1.3
  }
}
.results-Result_PerPage span {
  color: #999
}
.results-Result_PerPage a {
  color: #df0523;
  text-decoration: none
}
.results-Result_PerPage a:hover {
  text-decoration: underline
}
.results-Result_Sort {
  width: 100%;
  font-size: .8125rem;
  line-height: 1.4
}
@media print,
screen and (min-width:48em) {
  .results-Result_Sort {
    width: auto
  }
}
.results-Result_Sort a {
  color: #df0523;
  text-decoration: none
}
.results-Result_Sort a:hover {
  text-decoration: underline
}
[id=ss-sort-date].selected,
[id=ss-sort-match].selected {
  color: #999
}
.result-MainResults {
  max-width: calc(1312px + 3.5rem);
  padding: 1rem 1rem 0;
  margin: 0 auto
}
@media print,
screen and (min-width:48em) {
  .result-MainResults {
    padding: 1.75rem 2.5rem 0
  }
}
@media print,
screen and (min-width:64em) {
  .result-MainResults {
    padding: 1.75rem 3.25rem 0
  }
}
@media print,
screen and (min-width:85em) {
  .result-MainResults {
    padding: 1.75rem 1.75rem 0
  }
}
.result-MainResultsSub {
  max-width: calc(1312px + 3.5rem);
  padding: 1rem 0rem 0rem;
  margin: 0 auto
}
.result-MainResultsSub > .results-Result {
  padding: 0rem 2.5rem 1.3125rem
}
@media print,
screen and (min-width:48em) {
  .result-MainResultsSub > .results-Result {
    padding: 0rem 2.5rem .625rem
  }
}
@media print,
screen and (min-width:64em) {
  .result-MainResultsSub > .results-Result {
    padding: 0rem 0rem .625rem
  }
}
@media print,
screen and (min-width:48em) {
  .result-MainResultsSub {
    padding: 0rem 0rem 0
  }
}
@media print,
screen and (min-width:64em) {
  .result-MainResultsSub {
    padding: 0rem 3.25rem 0
  }
}
@media print,
screen and (min-width:85em) {
  .result-MainResultsSub {
    padding: 0rem 1.75rem 0
  }
}
.results-Search {
  padding-top: .875rem;
  padding-bottom: .875rem
}
@media print,
screen and (min-width:48em) {
  .results-Search {
    padding-top: 2.75rem;
    padding-bottom: 2.5rem
  }
}
.results-Search_Form {
  display: flex;
  flex-wrap: wrap
}
@media print,
screen and (min-width:48em) {
  .results-Search_Form {
    align-items: center
  }
}
.results-Search_Query {
  position: relative;
  flex-basis: 100%;
  max-width: 100%;
  margin-bottom: .9375rem
}
@media print,
screen and (min-width:48em) {
  .results-Search_Query {
    flex-basis: 68.3760683761%;
    max-width: 68.3760683761%;
    padding-right: 1.875rem;
    margin-bottom: 0rem
  }
}
.results-Search_Query > input {
  box-sizing: border-box;
  width: 100%;
  height: 3.125rem;
  padding: 0 .625rem;
  padding-left: 2.75rem;
  font-size: 1rem;
  font-size: 1.0625rem;
  line-height: 1.5;
  vertical-align: middle;
  background: #f8f8f8;
  border: 1px solid #e9e9e9;
  border-radius: .1875rem;
  box-shadow: 1px 1px 6px -3px #9e9e9e inset;
  -webkit-appearance: none;
  appearance: none
}
.results-Search_Query > input[type=search] {
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none
}
.results-Search_Query > input::-webkit-input-placeholder {
  color: #818181
}
.results-Search_Query > input::-ms-input-placeholder {
  color: #818181
}
.results-Search_Query > input::placeholder {
  color: #818181
}
.results-Search_Query > input:focus {
  border-color: #1589ee;
  outline-width: 0;
  box-shadow: 0 0 6px 3px #1589ee
}
.results-Search_Query > input-error {
  background-color: #ffecec
}
.results-Search_Query > input:disabled {
  cursor: not-allowed;
  background-color: #9e9e9e;
  opacity: 1
}
.results-Search_QueryIcon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: .75rem;
  height: 1.5rem;
  margin: auto;
  font-size: 1.5rem;
  color: #444
}
.results-Search_QueryIcon::before {
  position: relative;
  top: -.15em;
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHdpZHRoPSI1MDBweCIgaGVpZ2h0PSI1MDBweCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjNDQ0IiBkPSJNMzEzLjQsMzYwLjFjLTMyLjQsMjMuMS03Mi4xLDM2LjctMTE1LDM2LjdDODguOCwzOTYuOCwwLDMwOCwwLDE5OC40Uzg4LjgsMCwxOTguNCwwczE5OC40LDg4LjgsMTk4LjQsMTk4LjQKCWMwLDQyLjktMTMuNiw4Mi42LTM2LjcsMTE1bDEzMC4zLDEzMC4zYzEyLjgsMTIuOCwxMi43LDMzLjQsMCw0Ni4xbC0wLjUsMC41Yy0xMi43LDEyLjctMzMuNCwxMi43LTQ2LjEsMEwzMTMuNCwzNjAuMUwzMTMuNCwzNjAuMXoKCSBNMTk4LjQsMzUwLjFjODMuOCwwLDE1MS43LTY3LjksMTUxLjctMTUxLjdTMjgyLjIsNDYuNywxOTguNCw0Ni43UzQ2LjcsMTE0LjYsNDYuNywxOTguNFMxMTQuNiwzNTAuMSwxOTguNCwzNTAuMUwxOTguNCwzNTAuMXoiLz4KPC9zdmc+);
  background-repeat: no-repeat;
  background-size: contain
}
.results-Search_Query .Search_SubmitButton {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0
}
.results-Search_Category {
  flex-basis: 100%;
  max-width: 100%;
  text-align: center
}
@media print,
screen and (min-width:48em) {
  .results-Search_Category {
    flex-basis: 31.6239316239%;
    max-width: 31.6239316239%;
    text-align: left
  }
}
.results-Search_Category > input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0
}
.results-Search_Category > input + label {
  display: table;
  font-size: 1rem;
  line-height: 1.4;
  cursor: pointer
}
.results-Search_Category > input + label > svg {
  width: 1em;
  min-width: 1em;
  height: 1em;
  display: table-cell;
  margin: calc((1.4 - 1) * .5em) .25em 0 0;
  font-size: 1em;
  vertical-align: top;
  border: 1px solid #767676;
  border-radius: 50%;
  fill: #fff
}
.results-Search_Category > input + label > span {
  display: table-cell;
  width: calc(100% - 1em - 4px);
  vertical-align: top
}
[data-whatintent=keyboard] .results-Search_Category > input:focus + label > svg {
  border-color: #1589ee;
  box-shadow: 0 0 6px 3px #1589ee
}
[data-whatintent=mouse] .results-Search_Category > input:focus + label > svg,
[data-whatintent=touch] .results-Search_Category > input:focus + label > svg {
  border-color: #767676;
  box-shadow: none
}
.results-Search_Category > input:checked + label > svg,
[data-whatintent=mouse] .results-Search_Category > input:checked + label > svg,
[data-whatintent=touch] .results-Search_Category > input:checked + label > svg {
  background-color: #1e87f0;
  border-color: #1e87f0
}
@media screen and (-ms-high-contrast:active),
print {
  .results-Search_Category > input:checked + label > svg,
  [data-whatintent=mouse] .results-Search_Category > input:checked + label > svg,
  [data-whatintent=touch] .results-Search_Category > input:checked + label > svg {
    border: 1px solid #000;
    fill: #000
  }
}
.results-Search_Category > input.-error + label > svg {
  background-color: #ffecec;
  fill: #ffecec
}
.results-Search_Category > input:disabled + label {
  cursor: not-allowed;
  opacity: 1
}
.results-Search_Category > label {
  margin-right: .9375rem
}
.sw-Text {
  margin: 2.5rem 0 0;
  font-size: 1rem;
  line-height: 2
}
#ss-ad-result {
  display: none
}
.layout-Top_Contents .ss-pagination {
  display: flex;
  padding-left: 0;
  list-style-type: none
}
@media print,
screen and (min-width:48em) {
  .layout-Top_Contents .ss-pagination {
    align-items: center;
    justify-content: center
  }
}
.ss-page-next,
.ss-page-prev {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  margin: 0;
  font-size: 0;
  color: #999;
  text-align: center;
  box-shadow: 0 -1px 0 0 transparent inset
}
@media print,
screen and (min-width:48em) {
  .ss-page-next,
  .ss-page-prev {
    transition-duration: .2s
  }
  .ss-page-next:hover,
  .ss-page-prev:hover {
    color: #df0523
  }
}
.ss-page-next::before,
.ss-page-prev::before {
  position: absolute;
  top: -.4em;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.375rem;
  margin: auto;
  font-size: 1.375rem;
  color: #999;
  text-align: center;
  transition-duration: .2s
}
.ss-page-next:hover::before,
.ss-page-prev:hover::before {
  color: #df0523
}
.ss-page-prev {
  position: absolute;
  inset: 0;
  height: 1.375rem;
  font-size: 1.375rem;
  color: #999
}
.ss-page-next {
  position: absolute;
  inset: 0;
  height: 1.375rem;
  font-size: 1.375rem;
  color: #999
}
.ss-group-field {
  padding: 0;
  margin: 0;
  border: none
}
.results-Search_Category input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0
}
.results-Search_Category input + label {
  position: relative;
  display: inline-block;
  padding-left: 1.6875rem;
  font-size: .875rem;
  line-height: 1.5;
  color: #444;
  cursor: pointer
}
.results-Search_Category input + label::before {
  position: absolute;
  top: 1px;
  left: 0;
  display: inline-block;
  width: 1.1875rem;
  height: 1.1875rem;
  margin: auto;
  vertical-align: text-bottom;
  content: "";
  background-color: #f5f5f5;
  background-repeat: no-repeat;
  background-size: contain;
  border: 1px solid #dadada;
  border-radius: 50%
}
.results-Search_Category input:focus + label::before {
  border-color: #1589ee;
  border-radius: 50%;
  box-shadow: 0 0 6px 3px #1589ee
}
.results-Search_Category input:focus:not(.focus-ring) + label::before {
  border-color: #767676;
  box-shadow: none
}
.results-Search_Category input:checked + label::before {
  background-image: url(/result/img/icon_radio_on.svg);
  border: 0
}
.results-Search_Category input + label[disabled],
.results-Search_Category input:disabled {
  cursor: not-allowed;
  opacity: .5
}
.results-Search_Category label {
  margin-right: 1.125rem
}
.results-Result_Hits strong {
  font-size: 1rem;
  line-height: 1.3125
}
.results-Result_PerPage .SS_hitCount {
  display: inline
}
.results-Result_PerPage input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0
}
.results-Result_PerPage label {
  position: relative;
  color: #df0523;
  text-decoration: none
}
.results-Result_PerPage label:not(:last-child) {
  padding-right: 1em
}
.results-Result_PerPage label:not(:last-child)::after {
  position: absolute;
  right: .25em;
  display: inline;
  color: #000;
  content: "|"
}
.results-Result_PerPage input:checked + label {
  color: #999
}
.results-Result_PerPage input:not(:checked) + label {
  cursor: pointer
}
.results-Result_PerPage input:not(:checked) + label:hover {
  text-decoration: underline
}
.results-Result_PerPage input.focus-ring + label {
  box-shadow: 0 0 6px 3px #1589ee
}
.results-Result_Sort :not(.selected) {
  color: #df0523;
  text-decoration: none;
  cursor: pointer
}
.results-Result_Sort :not(.selected):hover {
  text-decoration: underline
}
.results-Result_Sort #ss-sort-date,
.results-Result_Sort #ss-sort-match {
  display: inline!important
}
[id=ss-result] {
  max-width: calc(1312px + 3.5rem);
  padding: 0rem 1rem 0;
  margin: 0 auto
}
@media print,
screen and (min-width:48em) {
  [id=ss-result] {
    padding: 1rem 2.5rem 0
  }
}
@media print,
screen and (min-width:64em) {
  [id=ss-result] {
    padding: 1rem 3.25rem 0
  }
}
@media print,
screen and (min-width:85em) {
  [id=ss-result] {
    padding: 1rem 1.75rem 0
  }
}
.result-Contents_Link .ss-highlight,
.result-Contents_Summary .ss-highlight,
.result-Contents_Title .ss-highlight {
  font-weight: 700
}
.ss-pagination {
  display: flex;
  justify-content: center;
  padding-top: 1.5rem;
  padding-left: 0;
  text-align: center;
  list-style-type: none
}
@media print,
screen and (min-width:48em) {
  .ss-pagination {
    padding-top: 2.5rem
  }
}
.ss-pagination .ss-page {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 -1px 0 0 #e9e9e9 inset;
  transition-duration: .2s
}
@media print,
screen and (min-width:48em) {
  .ss-pagination .ss-page:hover {
    color: #df0523
  }
}
.ss-pagination .ss-page::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  border-bottom: 2px solid transparent
}
.ss-pagination .ss-page.ss-select-page {
  pointer-events: none
}
@media print,
screen and (min-width:48em) {
  .ss-pagination .ss-page.ss-select-page:hover {
    color: #df0523
  }
}
.ss-pagination .ss-page.ss-select-page::before {
  border-bottom-color: #df0523
}
.ss-pagination .ss-page-next,
.ss-pagination .ss-page-prev {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 2.8125rem;
  font-weight: 600;
  color: transparent;
  cursor: pointer;
  transition-duration: .2s
}
.ss-pagination .ss-page-next::before,
.ss-pagination .ss-page-prev::before {
  position: absolute;
  inset: 0;
  width: 3rem;
  height: 1.375rem;
  margin: auto;
  font-size: 1.375rem;
  color: #999;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}
.ss-pagination .ss-page-prev::before {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHdpZHRoPSI1MDBweCIgaGVpZ2h0PSI1MDBweCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cG9seWdvbiBmaWxsPSIjOTk5IiBwb2ludHM9IjUwMCwyNDAuMSAzOCwyNDAuMSAxMjAuMywxNTcuOCAxMDYuMiwxNDMuOCAwLDI1MCAxMDYuMiwzNTYuMiAxMjAuMywzNDIuMiAzOCwyNTkuOSA1MDAsMjU5LjkgIi8+Cjwvc3ZnPgo=)
}
@media print,
screen and (min-width:48em) {
  .ss-pagination .ss-page-prev:hover::before {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHdpZHRoPSI1MDBweCIgaGVpZ2h0PSI1MDBweCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cG9seWdvbiBmaWxsPSIjZGYwNTIzIiBwb2ludHM9IjUwMCwyNDAuMSAzOCwyNDAuMSAxMjAuMywxNTcuOCAxMDYuMiwxNDMuOCAwLDI1MCAxMDYuMiwzNTYuMiAxMjAuMywzNDIuMiAzOCwyNTkuOSA1MDAsMjU5LjkgIi8+Cjwvc3ZnPgo=)
  }
}
.ss-pagination .ss-page-next::before {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHdpZHRoPSI1MDBweCIgaGVpZ2h0PSI1MDBweCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cG9seWdvbiBmaWxsPSIjOTk5IiBwb2ludHM9IjAsMjQwLjEgNDYyLDI0MC4xIDM3OS43LDE1Ny44IDM5My44LDE0My44IDUwMCwyNTAgMzkzLjgsMzU2LjIgMzc5LjcsMzQyLjIgNDYyLDI1OS45IDAsMjU5LjkgIi8+Cjwvc3ZnPgo=)
}
@media print,
screen and (min-width:48em) {
  .ss-pagination .ss-page-next:hover::before {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHdpZHRoPSI1MDBweCIgaGVpZ2h0PSI1MDBweCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cG9seWdvbiBmaWxsPSIjZGYwNTIzIiBwb2ludHM9IjAsMjQwLjEgNDYyLDI0MC4xIDM3OS43LDE1Ny44IDM5My44LDE0My44IDUwMCwyNTAgMzkzLjgsMzU2LjIgMzc5LjcsMzQyLjIgNDYyLDI1OS45IDAsMjU5LjkgIi8+Cjwvc3ZnPgo=)
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9hc3NldHMyL2Nzcy9iYXNlL19iYXNlLnNjc3MiLCJyZXN1bHQvY3NzL3Jlc3VsdC5jc3MiLCJfYXNzZXRzMi9jc3MvYmFzZS9taXhpbi91dGlsaXR5L193aGF0aW5wdXQuc2NzcyIsInJlc3VsdC9jc3MvbmFtZXNwYWNlL3Jlc3VsdHMvX0NvbnRlbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsInJlc3VsdC9jc3MvbmFtZXNwYWNlL3Jlc3VsdHMvX0Zvb3Rlci5zY3NzIiwicmVzdWx0L2Nzcy9uYW1lc3BhY2UvcmVzdWx0cy9fRm9ybVJhZGlvLnNjc3MiLCJfYXNzZXRzMi9jc3MvYmFzZS9taXhpbi91dGlsaXR5L19zci1vbmx5LnNjc3MiLCJfYXNzZXRzMi9jc3MvYmFzZS9taXhpbi9uYW1lc3BhY2Uvc2l0ZXdpZGUvX0Zvcm1SYWRpby5zY3NzIiwiX2Fzc2V0czIvY3NzL2Jhc2UvbWl4aW4vdXRpbGl0eS9fc3ZnLXN0b3JlLnNjc3MiLCJyZXN1bHQvY3NzL25hbWVzcGFjZS9yZXN1bHRzL19Jbm5lci5zY3NzIiwicmVzdWx0L2Nzcy9uYW1lc3BhY2UvcmVzdWx0cy9fTm9SZXN1bHQuc2NzcyIsInJlc3VsdC9jc3MvbmFtZXNwYWNlL3Jlc3VsdHMvX1BhZ2VyLnNjc3MiLCJyZXN1bHQvY3NzL25hbWVzcGFjZS9yZXN1bHRzL19SZXN1bHQuc2NzcyIsInJlc3VsdC9jc3MvbmFtZXNwYWNlL3Jlc3VsdHMvX1NlYXJjaC5zY3NzIiwicmVzdWx0L2Nzcy9uYW1lc3BhY2UvcmVzdWx0cy9fc3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFPQTtBQUNFLGFBQUE7QUFHQSxzQkFBQTtBQUdBLDBCQUFBOztBQVFGO0FBQ0UsUUFBQTs7QUFZRjtBQ0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBREtFLFNBQUE7O0FBT0Y7QUNIQTtBQUNBO0FBQ0E7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Q0EsU0FBQTtBQUNBLGVBQUEsSUFBQSxNQUFBOztBQUdGO0FBQ0UsZ0JBQUE7O0FYN0hKO0FBQUE7QVdnSU07QUFDRSxPQUFBOzs7QUFJSjtBQUNFLHFCQUFBOztBZDh1Q1I7QWN6dUNFO0FBRUUsVUFBQTtBQUNBLFNBQUE7QUFDQSxhQUFBO0FBQ0EsaUJBQUE7QUFDQSxPQUFBO0FBQ0EsUUFBQTtBQUNBLGFBQUE7QUFDQSxPQUFBO0FBQ0EsUUFBQTtBQUNBLHFCQUFBOztBZDJ1Q0o7QWNudUNJO0FBQ0UsVUFBQTtBQUNBLE9BQUE7QUFDQSxPQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxXQUFBO0FBQ0EsT0FBQTtBQUNBLFNBQUE7QUFDQSxtQkFBQTtBQUNBLHFCQUFBO0FBQ0EsaUJBQUE7O0FBS0Y7QUFDRSxrQkFBQTs7QVgvS0o7QUFBQTtBV21MSTtBQUNFLGtCQUFBOzs7QUFNSjtBQUNFLGtCQUFBOztBWDNMSjtBQUFBO0FXK0xJO0FBQ0Usa0JBQUEiLCJmaWxlIjoicmVzdWx0L2Nzcy9yZXN1bHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG5cbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblxuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblxuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBtYXJnaW46IDAuNjdlbSAwO1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuXG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuXG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuXG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4vKlxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIG1hcmdpbjogMCAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG59XG4qL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG5cbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIOODleODq+ODvOODieOCpOODoeODvOOCuOOBq+OBl+OBvuOBmeOAglxuICovXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyog44OW44Ot44OD44Kv6KaB57Sg44Gu5LiK5LiL44Gu44Oe44O844K444Oz44KS44Oq44K744OD44OI44GX44G+44GZ44CCICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG51bCxcbm9sLFxuZGwsXG5ibG9ja3F1b3RlLFxucCxcbmFkZHJlc3MsXG5ocixcbnRhYmxlLFxuZmllbGRzZXQsXG5maWd1cmUsXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAqIF9hc3NldHMgdGVtcGxhdGUuY3NzIOOBk+OBk+OBvuOBp1xuICovXG5cbi8qICNiYXNlXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4vKipcbiAqIOODh+ODleOCqeODq+ODiOOBruOCueOCv+OCpOODq+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmeOAglxuICovXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogbm9ybWFsaXplLmNzc+OBruOCueOCv+OCpOODq+OCkuODquOCu+ODg+ODiOOBl+OBpuOAgWRpduOBruOCiOOBhuOBq+aJseOBhOOBvuOBmeOAglxuICovXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBpT1Pjga5TYWZhcmnjgahDaHJvbWXjgafjgIFgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7YOOBrue9q+e3muOBjFxuICog44Kw44Oq44OV44KE44OH44Kj44K744Oz44OA44Gn6YCU5YiH44KM44Gq44GE44KI44GG44Gr44GX44G+44GZ44CCXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RleHQtZGVjb3JhdGlvbi1za2lwL1xuICovXG5hIHtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogbm9uZTtcbn1cblxuLyoqXG4gKiBgZHRg44GoYGRkYOOBruW3puerr+OCkuaPg+OBiOOBvuOBmeOAglxuICovXG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKipcbiAqIOaXpeacrOiqnuOBp+OBr+aWnOS9k+OCkuS9v+eUqOOBl+OBquOBhOOBn+OCgeODquOCu+ODg+ODiOOBl+OBvuOBmeOAglxuICovXG5jaXRlLFxuZW0sXG5hZGRyZXNzLFxuZGZuIHtcbiAgW2xhbmc9XCJqYVwiXSAmIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cblxuLyoqXG4gKiDjgq3jg7zjg5zjg7zjg4njgafjgqLjgq/jgrvjgrnjgafjgY3jgarjgYTopoHntKDjga7jg5Xjgqnjg7zjgqvjgrnooajnpLrjgpLmtojjgZfjgb7jgZnjgIJcbiAqIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuICovXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBub3JtYWxpemUuY3Nz44GuYGxpbmUtaGVpZ2h0YOOCkuODquOCu+ODg+ODiOOBl+OBvuOBmeOAglxuICogcGxhY2Vob2xkZXLjgYzkuIrjgavjgrrjg6zjgovjga7jgpLpmLLjgY7jgb7jgZnjgIJcbiAqL1xuaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIElF44GoRWRnZeOBr+OCueODlOODs+ODnOOCv+ODs+OBq+acquWvvuW/nOOBruOBn+OCgeOAgUNocm9tZeOBqEZpcmVGb3jjgafpnZ7ooajnpLrjgavjgZfjgb7jgZnjgIJcbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICog44OV44Kp44O844Kr44K55Y+v6IO944Gq6KaB57Sg44Gu44Ki44Km44OI44Op44Kk44Oz44K544K/44Kk44Or44KS5LiA5ous44Gn5aSJ5pu044GX44G+44GZ44CCXG4gKi9cbmFbaHJlZl06bm90KFtkaXNhYmxlZF0pLFxuYnV0dG9uOm5vdChbZGlzYWJsZWRdKSxcbnRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOm5vdChbZGlzYWJsZWRdKSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoW2Rpc2FibGVkXSksXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KFtkaXNhYmxlZF0pLFxuc2VsZWN0Om5vdChbZGlzYWJsZWRdKSB7XG4gIEBpbmNsdWRlIGZvY3VzLXdpdGgta2V5Ym9hcmQge1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIG1hcmdpbjogMC42N2VtIDA7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9cmVzZXRdLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5pbnB1dFt0eXBlPWNoZWNrYm94XSxcbmlucHV0W3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbi8qXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgbWFyZ2luOiAwIDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbn1cbiovXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICog44OV44Or44O844OJ44Kk44Oh44O844K444Gr44GX44G+44GZ44CCXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiDjg5bjg63jg4Pjgq/opoHntKDjga7kuIrkuIvjga7jg57jg7zjgrjjg7PjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZnjgIIgKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnVsLFxub2wsXG5kbCxcbmJsb2NrcXVvdGUsXG5wLFxuYWRkcmVzcyxcbmhyLFxudGFibGUsXG5maWVsZHNldCxcbmZpZ3VyZSxcbnByZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogX2Fzc2V0cyB0ZW1wbGF0ZS5jc3Mg44GT44GT44G+44GnXG4gKi9cbi8qICNiYXNlXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBcIk9wZW5TYW5zXCIsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vKipcbiAqIOODh+ODleOCqeODq+ODiOOBruOCueOCv+OCpOODq+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmeOAglxuICovXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogbm9ybWFsaXplLmNzc+OBruOCueOCv+OCpOODq+OCkuODquOCu+ODg+ODiOOBl+OBpuOAgWRpduOBruOCiOOBhuOBq+aJseOBhOOBvuOBmeOAglxuICovXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBpT1Pjga5TYWZhcmnjgahDaHJvbWXjgafjgIFgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7YOOBrue9q+e3muOBjFxuICog44Kw44Oq44OV44KE44OH44Kj44K744Oz44OA44Gn6YCU5YiH44KM44Gq44GE44KI44GG44Gr44GX44G+44GZ44CCXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RleHQtZGVjb3JhdGlvbi1za2lwL1xuICovXG5hIHtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogbm9uZTtcbn1cblxuLyoqXG4gKiBgZHRg44GoYGRkYOOBruW3puerr+OCkuaPg+OBiOOBvuOBmeOAglxuICovXG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBjb25zb2xhcywgbWVubG8sIGNvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKipcbiAqIOaXpeacrOiqnuOBp+OBr+aWnOS9k+OCkuS9v+eUqOOBl+OBquOBhOOBn+OCgeODquOCu+ODg+ODiOOBl+OBvuOBmeOAglxuICovXG5bbGFuZz1qYV0gY2l0ZSxcbltsYW5nPWphXSBlbSxcbltsYW5nPWphXSBhZGRyZXNzLFxuW2xhbmc9amFdIGRmbiB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiDjgq3jg7zjg5zjg7zjg4njgafjgqLjgq/jgrvjgrnjgafjgY3jgarjgYTopoHntKDjga7jg5Xjgqnjg7zjgqvjgrnooajnpLrjgpLmtojjgZfjgb7jgZnjgIJcbiAqIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuICovXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBub3JtYWxpemUuY3Nz44GuYGxpbmUtaGVpZ2h0YOOCkuODquOCu+ODg+ODiOOBl+OBvuOBmeOAglxuICogcGxhY2Vob2xkZXLjgYzkuIrjgavjgrrjg6zjgovjga7jgpLpmLLjgY7jgb7jgZnjgIJcbiAqL1xuaW5wdXRbdHlwZT10ZXh0XSB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSUXjgahFZGdl44Gv44K544OU44Oz44Oc44K/44Oz44Gr5pyq5a++5b+c44Gu44Gf44KB44CBQ2hyb21l44GoRmlyZUZveOOBp+mdnuihqOekuuOBq+OBl+OBvuOBmeOAglxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICog44OV44Kp44O844Kr44K55Y+v6IO944Gq6KaB57Sg44Gu44Ki44Km44OI44Op44Kk44Oz44K544K/44Kk44Or44KS5LiA5ous44Gn5aSJ5pu044GX44G+44GZ44CCXG4gKi9cbmh0bWxbZGF0YS13aGF0aW50ZW50PWtleWJvYXJkXSBhW2hyZWZdOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbmh0bWxbZGF0YS13aGF0aW50ZW50PWtleWJvYXJkXSBidXR0b246bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuaHRtbFtkYXRhLXdoYXRpbnRlbnQ9a2V5Ym9hcmRdIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbmh0bWxbZGF0YS13aGF0aW50ZW50PWtleWJvYXJkXSBpbnB1dFt0eXBlPXRleHRdOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbmh0bWxbZGF0YS13aGF0aW50ZW50PWtleWJvYXJkXSBpbnB1dFt0eXBlPXJhZGlvXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5odG1sW2RhdGEtd2hhdGludGVudD1rZXlib2FyZF0gaW5wdXRbdHlwZT1jaGVja2JveF06bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuaHRtbFtkYXRhLXdoYXRpbnRlbnQ9a2V5Ym9hcmRdIHNlbGVjdDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNnB4IDNweCAjMTU4OWVlO1xufVxuYVtocmVmXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5idXR0b246bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxudGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuaW5wdXRbdHlwZT10ZXh0XTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5pbnB1dFt0eXBlPXJhZGlvXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG5zZWxlY3Q6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnJlc3VsdC1Db250ZW50cyB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0LUNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICB9XG59XG5cbi5yZXN1bHQtQ29udGVudHNfSXRlbSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0LUNvbnRlbnRzX0l0ZW0ge1xuICAgIHBhZGRpbmc6IDIuMTg3NXJlbSAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHQtQ29udGVudHNfSXRlbTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLnJlc3VsdC1Db250ZW50c19JbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0LUNvbnRlbnRzX0ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgfVxufVxuXG4ucmVzdWx0LUNvbnRlbnRzX0ltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0LUNvbnRlbnRzX2JvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLnJlc3VsdC1Db250ZW50c19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ucmVzdWx0LUNvbnRlbnRzX1RpdGxlIC5TU19oaWdobGlnaHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucmVzdWx0LUNvbnRlbnRzX0xpbmsge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4ucmVzdWx0LUNvbnRlbnRzX0xpbmsgYSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogI2RmMDUyMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJlc3VsdC1Db250ZW50c19MaW5rIGEge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cbi5yZXN1bHQtQ29udGVudHNfTGluayBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXN1bHQtQ29udGVudHNfTGluayBhIC5TU19oaWdobGlnaHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucmVzdWx0LUNvbnRlbnRzX1N1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNjY2O1xufVxuLnJlc3VsdC1Db250ZW50c19TdW1tYXJ5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi4oCmXCI7XG59XG5cbi5yZXN1bHQtQ29udGVudHNfU3VtbWFyeSAuU1NfaGlnaGxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJlc3VsdC1Db250ZW50c19MYXN0TW9kaWZpZWQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5yZXN1bHQtRm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHQtRm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICB9XG59XG5cbi5yZXN1bHQtRm9vdGVyX0lubmVyIHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc3ctRm9ybVJhZGlvIHtcbiAgLyog44OH44OV44Kp44Or44OI44Gu44Op44K444Kq44Oc44K/44Oz44KS6Z2e6KGo56S644Gr44GZ44KL44CCICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuLnN3LUZvcm1SYWRpbyArIGxhYmVsIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3LUZvcm1SYWRpbyArIGxhYmVsID4gc3ZnIHtcbiAgd2lkdGg6IDFlbTtcbiAgbWluLXdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBtYXJnaW46IGNhbGMoKDEuNCAtIDEpICogMC41ZW0pIDAuMjVlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZpbGw6ICNmZmY7XG59XG4uc3ctRm9ybVJhZGlvICsgbGFiZWwgPiBzcGFuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFlbSAtIDRweCk7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5bZGF0YS13aGF0aW50ZW50PWtleWJvYXJkXSAuc3ctRm9ybVJhZGlvOmZvY3VzICsgbGFiZWwgPiBzdmcge1xuICBib3JkZXItY29sb3I6ICMxNTg5ZWU7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggM3B4ICMxNTg5ZWU7XG59XG5bZGF0YS13aGF0aW50ZW50PW1vdXNlXSAuc3ctRm9ybVJhZGlvOmZvY3VzICsgbGFiZWwgPiBzdmcsIFtkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdIC5zdy1Gb3JtUmFkaW86Zm9jdXMgKyBsYWJlbCA+IHN2ZyB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5zdy1Gb3JtUmFkaW86Y2hlY2tlZCArIGxhYmVsID4gc3ZnLCBbZGF0YS13aGF0aW50ZW50PW1vdXNlXSAuc3ctRm9ybVJhZGlvOmNoZWNrZWQgKyBsYWJlbCA+IHN2ZywgW2RhdGEtd2hhdGludGVudD10b3VjaF0gLnN3LUZvcm1SYWRpbzpjaGVja2VkICsgbGFiZWwgPiBzdmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICBib3JkZXItY29sb3I6ICMxZTg3ZjA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHByaW50IHtcbiAgLnN3LUZvcm1SYWRpbzpjaGVja2VkICsgbGFiZWwgPiBzdmcsIFtkYXRhLXdoYXRpbnRlbnQ9bW91c2VdIC5zdy1Gb3JtUmFkaW86Y2hlY2tlZCArIGxhYmVsID4gc3ZnLCBbZGF0YS13aGF0aW50ZW50PXRvdWNoXSAuc3ctRm9ybVJhZGlvOmNoZWNrZWQgKyBsYWJlbCA+IHN2ZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBmaWxsOiAjMDAwO1xuICB9XG59XG4uc3ctRm9ybVJhZGlvLi1lcnJvciArIGxhYmVsID4gc3ZnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWNlYztcbiAgZmlsbDogI2ZmZWNlYztcbn1cbi5zdy1Gb3JtUmFkaW86ZGlzYWJsZWQgKyBsYWJlbCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yZXN1bHRzLUlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2ZW0pIHtcbiAgLnJlc3VsdHMtSW5uZXIge1xuICAgIG1heC13aWR0aDogMTE4NnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnJlc3VsdC1Ob1Jlc3VsdCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHQtTm9SZXN1bHQge1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gIH1cbn1cbi5yZXN1bHQtTm9SZXN1bHQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnJlc3VsdC1Ob1Jlc3VsdCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnJlc3VsdC1QYWdlcl9TcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJlc3VsdC1QYWdlcl9TcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucmVzdWx0LVBhZ2VyX1BjIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHQtUGFnZXJfUGMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5yZXN1bHQtUGFnZXJfUHJldixcbi5yZXN1bHQtUGFnZXJfTmV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmVzdWx0LVBhZ2VyX1ByZXYgYSxcbi5yZXN1bHQtUGFnZXJfTmV4dCBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgZm9udC1zaXplOiAwO1xuICBjb2xvcjogIzk5OTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHQtUGFnZXJfUHJldiBhLFxuICAucmVzdWx0LVBhZ2VyX05leHQgYSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgfVxuICAucmVzdWx0LVBhZ2VyX1ByZXYgYTpob3ZlcixcbiAgLnJlc3VsdC1QYWdlcl9OZXh0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICB9XG59XG4ucmVzdWx0LVBhZ2VyX1ByZXYgYVthcmlhLWRpc2FibGVkXSxcbi5yZXN1bHQtUGFnZXJfTmV4dCBhW2FyaWEtZGlzYWJsZWRdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5yZXN1bHQtUGFnZXJfUHJldkljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBoZWlnaHQ6IDEuMzc1cmVtO1xuICBtYXJnaW46IGF1dG87XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGNvbG9yOiAjOTk5O1xufVxuLnJlc3VsdC1QYWdlcl9QcmV2RGlzYWJsZWQgKyAucmVzdWx0LVBhZ2VyX1ByZXZJY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJlc3VsdC1QYWdlcl9OZXh0SWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGhlaWdodDogMS4zNzVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG59XG4ucmVzdWx0LVBhZ2VyX05leHREaXNhYmxlZCArIC5yZXN1bHQtUGFnZXJfTmV4dEljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVzdWx0LVBhZ2VyX1ByZXZEaXNhYmxlZCxcbi5yZXN1bHQtUGFnZXJfTmV4dERpc2FibGVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5yZXN1bHQtUGFnZXJfTG9jYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucmVzdWx0LVBhZ2VyX0xvY2F0aW9uSXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAjZTllOWU5IGluc2V0O1xufVxuLnJlc3VsdC1QYWdlcl9Mb2NhdGlvbkl0ZW06Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogI2RmMDUyMztcbn1cbi5yZXN1bHQtUGFnZXJfTG9jYXRpb25JdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZjA1MjM7XG59XG5cbi5yZXN1bHQtUGFnZXJfTGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJlc3VsdC1QYWdlcl9MaXN0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4ucmVzdWx0LVBhZ2VyX0xpc3QgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAjZTllOWU5IGluc2V0O1xufVxuLnJlc3VsdC1QYWdlcl9MaXN0ID4gbGkuY3VycmVudDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGYwNTIzO1xufVxuLnJlc3VsdC1QYWdlcl9MaXN0IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cbi5yZXN1bHQtUGFnZXJfTGlzdCBhOmhvdmVyIHtcbiAgY29sb3I6ICNkZjA1MjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnJlc3VsdC1QYWdlcl9MaXN0IC5yZXN1bHQtUGFnZXJfTGlzdFByZXYsXG4ucmVzdWx0LVBhZ2VyX0xpc3QgLnJlc3VsdC1QYWdlcl9MaXN0TmV4dCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG5cbi5yZXN1bHQtUGFnZXJfTGlzdCAucmVzdWx0LVBhZ2VyX0xpc3RQcmV2IGEsXG4ucmVzdWx0LVBhZ2VyX0xpc3QgLnJlc3VsdC1QYWdlcl9MaXN0TmV4dCBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDA7XG59XG5cbi5yZXN1bHQtUGFnZXJfTGlzdFByZXYgYTo6YmVmb3JlLFxuLnJlc3VsdC1QYWdlcl9MaXN0TmV4dCBhOjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMC40ZW07XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMS4zNzVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cblxuLnJlc3VsdC1QYWdlcl9MaXN0UHJldiBhOmhvdmVyOjpiZWZvcmUsXG4ucmVzdWx0LVBhZ2VyX0xpc3ROZXh0IGE6aG92ZXI6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGYwNTIzO1xufVxuXG4ucmVzdWx0cy1SZXN1bHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctYm90dG9tOiAxLjMxMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0cy1SZXN1bHQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9IaXRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0NDQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0cy1SZXN1bHRfSGl0cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9IaXRzID4gc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zMTI1O1xufVxuXG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuXG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSBzcGFuIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIGEge1xuICBjb2xvcjogI2RmMDUyMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnJlc3VsdHMtUmVzdWx0X1BlclBhZ2UgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucmVzdWx0cy1SZXN1bHRfU29ydCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHRzLVJlc3VsdF9Tb3J0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4ucmVzdWx0cy1SZXN1bHRfU29ydCBhIHtcbiAgY29sb3I6ICNkZjA1MjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5yZXN1bHRzLVJlc3VsdF9Tb3J0IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuW2lkPXNzLXNvcnQtZGF0ZV0uc2VsZWN0ZWQsXG5baWQ9c3Mtc29ydC1tYXRjaF0uc2VsZWN0ZWQge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnJlc3VsdC1NYWluUmVzdWx0cyB7XG4gIG1heC13aWR0aDogY2FsYygxMzEycHggKyAzLjVyZW0pO1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0LU1haW5SZXN1bHRzIHtcbiAgICBwYWRkaW5nOiAxLjc1cmVtIDIuNXJlbSAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucmVzdWx0LU1haW5SZXN1bHRzIHtcbiAgICBwYWRkaW5nOiAxLjc1cmVtIDMuMjVyZW0gMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1ZW0pIHtcbiAgLnJlc3VsdC1NYWluUmVzdWx0cyB7XG4gICAgcGFkZGluZzogMS43NXJlbSAxLjc1cmVtIDA7XG4gIH1cbn1cblxuLnJlc3VsdC1NYWluUmVzdWx0c1N1YiB7XG4gIG1heC13aWR0aDogY2FsYygxMzEycHggKyAzLjVyZW0pO1xuICBwYWRkaW5nOiAxcmVtIDByZW0gMHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ucmVzdWx0LU1haW5SZXN1bHRzU3ViID4gLnJlc3VsdHMtUmVzdWx0IHtcbiAgcGFkZGluZzogMHJlbSAyLjVyZW0gMS4zMTI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJlc3VsdC1NYWluUmVzdWx0c1N1YiA+IC5yZXN1bHRzLVJlc3VsdCB7XG4gICAgcGFkZGluZzogMHJlbSAyLjVyZW0gMC42MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZXN1bHQtTWFpblJlc3VsdHNTdWIgPiAucmVzdWx0cy1SZXN1bHQge1xuICAgIHBhZGRpbmc6IDByZW0gMHJlbSAwLjYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJlc3VsdC1NYWluUmVzdWx0c1N1YiB7XG4gICAgcGFkZGluZzogMHJlbSAwcmVtIDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZXN1bHQtTWFpblJlc3VsdHNTdWIge1xuICAgIHBhZGRpbmc6IDByZW0gMy4yNXJlbSAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODVlbSkge1xuICAucmVzdWx0LU1haW5SZXN1bHRzU3ViIHtcbiAgICBwYWRkaW5nOiAwcmVtIDEuNzVyZW0gMDtcbiAgfVxufVxuXG4ucmVzdWx0cy1TZWFyY2gge1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjg3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHRzLVNlYXJjaCB7XG4gICAgcGFkZGluZy10b3A6IDIuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgfVxufVxuXG4ucmVzdWx0cy1TZWFyY2hfRm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXN1bHRzLVNlYXJjaF9Gb3JtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9RdWVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmVzdWx0cy1TZWFyY2hfUXVlcnkge1xuICAgIGZsZXgtYmFzaXM6IDY4LjM3NjA2ODM3NjElO1xuICAgIG1heC13aWR0aDogNjguMzc2MDY4Mzc2MSU7XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG4ucmVzdWx0cy1TZWFyY2hfUXVlcnkgPiBpbnB1dCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDIuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWU5ZTk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA2cHggLTNweCAjOWU5ZTllIGluc2V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAvKipcbiAgICogTm9ybWFsaXplLmNzc+OBruODquOCu+ODg+ODiOOCkuOBl+OBvuOBmeOAglxuICAgKi9cbn1cbi5yZXN1bHRzLVNlYXJjaF9RdWVyeSA+IGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4ucmVzdWx0cy1TZWFyY2hfUXVlcnkgPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzgxODE4MTtcbn1cbi5yZXN1bHRzLVNlYXJjaF9RdWVyeSA+IGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU4OWVlO1xuICBvdXRsaW5lLXdpZHRoOiAwO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IDNweCAjMTU4OWVlO1xufVxuLnJlc3VsdHMtU2VhcmNoX1F1ZXJ5ID4gaW5wdXQtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlY2VjO1xufVxuLnJlc3VsdHMtU2VhcmNoX1F1ZXJ5ID4gaW5wdXQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWU5ZTllO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfUXVlcnlJY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMC43NXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiAjNDQ0O1xufVxuLnJlc3VsdHMtU2VhcmNoX1F1ZXJ5SWNvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjE1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuMzc1cmVtO1xuICBoZWlnaHQ6IDEuMzc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lLQ1NCNVBTSXdjSGdpSUhkcFpIUm9QU0kxTURCd2VDSWdhR1ZwWjJoMFBTSTFNREJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TUNBMU1EQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHRjBhQ0JtYVd4c1BTSWpORFEwSWlCa1BTSk5NekV6TGpRc016WXdMakZqTFRNeUxqUXNNak11TVMwM01pNHhMRE0yTGpjdE1URTFMRE0yTGpkRE9EZ3VPQ3d6T1RZdU9Dd3dMRE13T0N3d0xERTVPQzQwVXpnNExqZ3NNQ3d4T1RndU5Dd3djekU1T0M0MExEZzRMamdzTVRrNExqUXNNVGs0TGpRS0NXTXdMRFF5TGprdE1UTXVOaXc0TWk0MkxUTTJMamNzTVRFMWJERXpNQzR6TERFek1DNHpZekV5TGpnc01USXVPQ3d4TWk0M0xETXpMalFzTUN3ME5pNHhiQzB3TGpVc01DNDFZeTB4TWk0M0xERXlMamN0TXpNdU5Dd3hNaTQzTFRRMkxqRXNNRXd6TVRNdU5Dd3pOakF1TVV3ek1UTXVOQ3d6TmpBdU1Yb0tDU0JOTVRrNExqUXNNelV3TGpGak9ETXVPQ3d3TERFMU1TNDNMVFkzTGprc01UVXhMamN0TVRVeExqZFRNamd5TGpJc05EWXVOeXd4T1RndU5DdzBOaTQzVXpRMkxqY3NNVEUwTGpZc05EWXVOeXd4T1RndU5GTXhNVFF1Tml3ek5UQXVNU3d4T1RndU5Dd3pOVEF1TVV3eE9UZ3VOQ3d6TlRBdU1Yb2lMejRLUEM5emRtYytcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLnJlc3VsdHMtU2VhcmNoX1F1ZXJ5IC5TZWFyY2hfU3VibWl0QnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IHtcbiAgICBmbGV4LWJhc2lzOiAzMS42MjM5MzE2MjM5JTtcbiAgICBtYXgtd2lkdGg6IDMxLjYyMzkzMTYyMzklO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5ID4gaW5wdXQge1xuICAvKiDjg4fjg5Xjgqnjg6vjg4jjga7jg6njgrjjgqrjg5zjgr/jg7PjgpLpnZ7ooajnpLrjgavjgZnjgovjgIIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBpbnB1dCArIGxhYmVsIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5ID4gaW5wdXQgKyBsYWJlbCA+IHN2ZyB7XG4gIHdpZHRoOiAxZW07XG4gIG1pbi13aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWFyZ2luOiBjYWxjKCgxLjQgLSAxKSAqIDAuNWVtKSAwLjI1ZW0gMCAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmaWxsOiAjZmZmO1xufVxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5ID4gaW5wdXQgKyBsYWJlbCA+IHNwYW4ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMWVtIC0gNHB4KTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbltkYXRhLXdoYXRpbnRlbnQ9a2V5Ym9hcmRdIC5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSA+IGlucHV0OmZvY3VzICsgbGFiZWwgPiBzdmcge1xuICBib3JkZXItY29sb3I6ICMxNTg5ZWU7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggM3B4ICMxNTg5ZWU7XG59XG5bZGF0YS13aGF0aW50ZW50PW1vdXNlXSAucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBpbnB1dDpmb2N1cyArIGxhYmVsID4gc3ZnLCBbZGF0YS13aGF0aW50ZW50PXRvdWNoXSAucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBpbnB1dDpmb2N1cyArIGxhYmVsID4gc3ZnIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5ID4gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gc3ZnLCBbZGF0YS13aGF0aW50ZW50PW1vdXNlXSAucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiBzdmcsIFtkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdIC5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSA+IGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IHN2ZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGJvcmRlci1jb2xvcjogIzFlODdmMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgcHJpbnQge1xuICAucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiBzdmcsIFtkYXRhLXdoYXRpbnRlbnQ9bW91c2VdIC5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSA+IGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IHN2ZywgW2RhdGEtd2hhdGludGVudD10b3VjaF0gLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5ID4gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gc3ZnIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGZpbGw6ICMwMDA7XG4gIH1cbn1cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSA+IGlucHV0Li1lcnJvciArIGxhYmVsID4gc3ZnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWNlYztcbiAgZmlsbDogI2ZmZWNlYztcbn1cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSA+IGlucHV0OmRpc2FibGVkICsgbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xufVxuXG4uc3ctVGV4dCB7XG4gIG1hcmdpbjogMi41cmVtIDAgMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMjtcbn1cblxuI3NzLWFkLXJlc3VsdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sYXlvdXQtVG9wX0NvbnRlbnRzIC5zcy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGF5b3V0LVRvcF9Db250ZW50cyAuc3MtcGFnaW5hdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uc3MtcGFnZS1wcmV2LFxuLnNzLXBhZ2UtbmV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3MtcGFnZS1wcmV2LFxuICAuc3MtcGFnZS1uZXh0IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB9XG4gIC5zcy1wYWdlLXByZXY6aG92ZXIsXG4gIC5zcy1wYWdlLW5leHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICB9XG59XG4uc3MtcGFnZS1wcmV2OjpiZWZvcmUsXG4uc3MtcGFnZS1uZXh0OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuNGVtO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMS4zNzVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cbi5zcy1wYWdlLXByZXY6aG92ZXI6OmJlZm9yZSxcbi5zcy1wYWdlLW5leHQ6aG92ZXI6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGYwNTIzO1xufVxuXG4uc3MtcGFnZS1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG59XG4uc3MtcGFnZS1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG59XG4uc3MtZ3JvdXAtZmllbGQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSBpbnB1dCArIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS42ODc1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ0NDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgaW5wdXQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFweDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS4xODc1cmVtO1xuICBoZWlnaHQ6IDEuMTg3NXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgaW5wdXQ6Zm9jdXMgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU4OWVlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggM3B4ICMxNTg5ZWU7XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSBpbnB1dDpmb2N1czpub3QoLmZvY3VzLXJpbmcpICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IGlucHV0OmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlc3VsdC9pbWcvaWNvbl9yYWRpb19vbi5zdmdcIik7XG4gIGJvcmRlcjogMDtcbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IGlucHV0ICsgbGFiZWxbZGlzYWJsZWRdLFxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IGlucHV0OmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtO1xufVxuXG4ucmVzdWx0cy1SZXN1bHRfSGl0cyBzdHJvbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMxMjU7XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIC5TU19oaXRDb3VudCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNkZjA1MjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIGxhYmVsOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSBsYWJlbDpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuMjVlbTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogXCJ8XCI7XG59XG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICBjb2xvcjogIzk5OTtcbn1cbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnJlc3VsdHMtUmVzdWx0X1BlclBhZ2UgaW5wdXQuZm9jdXMtcmluZyArIGxhYmVsIHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAzcHggIzE1ODllZTtcbn1cblxuLnJlc3VsdHMtUmVzdWx0X1NvcnQgOm5vdCguc2VsZWN0ZWQpIHtcbiAgY29sb3I6ICNkZjA1MjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJlc3VsdHMtUmVzdWx0X1NvcnQgOm5vdCguc2VsZWN0ZWQpOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ucmVzdWx0cy1SZXN1bHRfU29ydCAjc3Mtc29ydC1tYXRjaCwgLnJlc3VsdHMtUmVzdWx0X1NvcnQgI3NzLXNvcnQtZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG5baWQ9c3MtcmVzdWx0XSB7XG4gIG1heC13aWR0aDogY2FsYygxMzEycHggKyAzLjVyZW0pO1xuICBwYWRkaW5nOiAwcmVtIDFyZW0gMDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBbaWQ9c3MtcmVzdWx0XSB7XG4gICAgcGFkZGluZzogMXJlbSAyLjVyZW0gMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgW2lkPXNzLXJlc3VsdF0ge1xuICAgIHBhZGRpbmc6IDFyZW0gMy4yNXJlbSAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODVlbSkge1xuICBbaWQ9c3MtcmVzdWx0XSB7XG4gICAgcGFkZGluZzogMXJlbSAxLjc1cmVtIDA7XG4gIH1cbn1cblxuLnJlc3VsdC1Db250ZW50c19UaXRsZSAuc3MtaGlnaGxpZ2h0LFxuLnJlc3VsdC1Db250ZW50c19MaW5rIC5zcy1oaWdobGlnaHQsXG4ucmVzdWx0LUNvbnRlbnRzX1N1bW1hcnkgLnNzLWhpZ2hsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zcy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3MtcGFnaW5hdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgfVxufVxuLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAjZTllOWU5IGluc2V0O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2U6aG92ZXIge1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICB9XG59XG4uc3MtcGFnaW5hdGlvbiAuc3MtcGFnZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5zcy1wYWdpbmF0aW9uIC5zcy1wYWdlLnNzLXNlbGVjdC1wYWdlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3MtcGFnaW5hdGlvbiAuc3MtcGFnZS5zcy1zZWxlY3QtcGFnZTpob3ZlciB7XG4gICAgY29sb3I6ICNkZjA1MjM7XG4gIH1cbn1cbi5zcy1wYWdpbmF0aW9uIC5zcy1wYWdlLnNzLXNlbGVjdC1wYWdlOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGYwNTIzO1xufVxuLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2UtcHJldixcbi5zcy1wYWdpbmF0aW9uIC5zcy1wYWdlLW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xufVxuLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2UtcHJldjo6YmVmb3JlLFxuLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2UtbmV4dDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMS4zNzVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2UtcHJldjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSUtDU0I1UFNJd2NIZ2lJSGRwWkhSb1BTSTFNREJ3ZUNJZ2FHVnBaMmgwUFNJMU1EQndlQ0lnZG1sbGQwSnZlRDBpTUNBd0lEVXdNQ0ExTURBaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQZ284Y0c5c2VXZHZiaUJtYVd4c1BTSWpPVGs1SWlCd2IybHVkSE05SWpVd01Dd3lOREF1TVNBek9Dd3lOREF1TVNBeE1qQXVNeXd4TlRjdU9DQXhNRFl1TWl3eE5ETXVPQ0F3TERJMU1DQXhNRFl1TWl3ek5UWXVNaUF4TWpBdU15d3pOREl1TWlBek9Dd3lOVGt1T1NBMU1EQXNNalU1TGprZ0lpOCtDand2YzNablBnbz1cIik7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3MtcGFnaW5hdGlvbiAuc3MtcGFnZS1wcmV2OmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lLQ1NCNVBTSXdjSGdpSUhkcFpIUm9QU0kxTURCd2VDSWdhR1ZwWjJoMFBTSTFNREJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TUNBMU1EQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHOXNlV2R2YmlCbWFXeHNQU0lqWkdZd05USXpJaUJ3YjJsdWRITTlJalV3TUN3eU5EQXVNU0F6T0N3eU5EQXVNU0F4TWpBdU15d3hOVGN1T0NBeE1EWXVNaXd4TkRNdU9DQXdMREkxTUNBeE1EWXVNaXd6TlRZdU1pQXhNakF1TXl3ek5ESXVNaUF6T0N3eU5Ua3VPU0ExTURBc01qVTVMamtnSWk4K0Nqd3ZjM1puUGdvPVwiKTtcbiAgfVxufVxuLnNzLXBhZ2luYXRpb24gLnNzLXBhZ2UtbmV4dDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSUtDU0I1UFNJd2NIZ2lJSGRwWkhSb1BTSTFNREJ3ZUNJZ2FHVnBaMmgwUFNJMU1EQndlQ0lnZG1sbGQwSnZlRDBpTUNBd0lEVXdNQ0ExTURBaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQZ284Y0c5c2VXZHZiaUJtYVd4c1BTSWpPVGs1SWlCd2IybHVkSE05SWpBc01qUXdMakVnTkRZeUxESTBNQzR4SURNM09TNDNMREUxTnk0NElETTVNeTQ0TERFME15NDRJRFV3TUN3eU5UQWdNemt6TGpnc016VTJMaklnTXpjNUxqY3NNelF5TGpJZ05EWXlMREkxT1M0NUlEQXNNalU1TGprZ0lpOCtDand2YzNablBnbz1cIik7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3MtcGFnaW5hdGlvbiAuc3MtcGFnZS1uZXh0OmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lLQ1NCNVBTSXdjSGdpSUhkcFpIUm9QU0kxTURCd2VDSWdhR1ZwWjJoMFBTSTFNREJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TUNBMU1EQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHOXNlV2R2YmlCbWFXeHNQU0lqWkdZd05USXpJaUJ3YjJsdWRITTlJakFzTWpRd0xqRWdORFl5TERJME1DNHhJRE0zT1M0M0xERTFOeTQ0SURNNU15NDRMREUwTXk0NElEVXdNQ3d5TlRBZ016a3pMamdzTXpVMkxqSWdNemM1TGpjc016UXlMaklnTkRZeUxESTFPUzQ1SURBc01qVTVMamtnSWk4K0Nqd3ZjM1puUGdvPVwiKTtcbiAgfVxufSIsIkBtaXhpbiBmb2N1cy13aXRoLWtleWJvYXJkIHtcbiAgaHRtbFtkYXRhLXdoYXRpbnRlbnQ9XCJrZXlib2FyZFwiXSAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXMtd2l0aG91dC1rZXlib2FyZCB7XG4gIGh0bWxbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gJjpmb2N1cyxcbiAgaHRtbFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItd2l0aC10b3VjaCB7XG4gIGh0bWxbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gJjpub3QoOmRpc2FibGVkKTpob3ZlcixcbiAgaHRtbFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAmOm5vdCguLWRpc2FibGVkKTpob3ZlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLXdpdGhvdXQtdG91Y2gge1xuICBodG1sW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICY6bm90KDpkaXNhYmxlZCk6aG92ZXIsXG4gIGh0bWxbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gJjpub3QoLi1kaXNhYmxlZCk6aG92ZXIsXG4gIGh0bWxbZGF0YS13aGF0aW50ZW50PVwia2V5Ym9hcmRcIl0gJjpub3QoOmRpc2FibGVkKTpob3ZlcixcbiAgaHRtbFtkYXRhLXdoYXRpbnRlbnQ9XCJrZXlib2FyZFwiXSAmOm5vdCguLWRpc2FibGVkKTpob3ZlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi5yZXN1bHQtQ29udGVudHMge1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDQwKTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTUpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNjApO1xuICB9XG59XG5cbi5yZXN1bHQtQ29udGVudHNfSXRlbSB7XG4gIHBhZGRpbmc6IHJlbSgyMCkgMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBwYWRkaW5nOiByZW0oMzUpIDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG59XG5cbi5yZXN1bHQtQ29udGVudHNfSW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHJlbSgyMDApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgzMCk7XG4gIH1cbn1cblxuLnJlc3VsdC1Db250ZW50c19JbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJlc3VsdC1Db250ZW50c19ib2R5IHtcbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5yZXN1bHQtQ29udGVudHNfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiByZW0oNSk7XG4gIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5yZXN1bHQtQ29udGVudHNfVGl0bGUgLlNTX2hpZ2hsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXN1bHQtQ29udGVudHNfTGluayB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLnJlc3VsdC1Db250ZW50c19MaW5rIGEge1xuICBmb250LXNpemU6IHJlbSgxNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjZGYwNTIzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLnJlc3VsdC1Db250ZW50c19MaW5rIGEgLlNTX2hpZ2hsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXN1bHQtQ29udGVudHNfTGluayBhW2hyZWYqPVwiLnBkZlwiXTo6YWZ0ZXIge1xuICAvLyBAaW5jbHVkZSBpY29uO1xuXG4gIC8vIGNvbnRlbnQ6IFwiI3skaWNvbi1wZGZ9XCI7XG4gIC8vIGhlaWdodDogcmVtKDE1KTtcbiAgLy8gbWFyZ2luLWxlZnQ6IHJlbSg2KTtcbiAgLy8gZm9udC1zaXplOiByZW0oMTUpO1xufVxuXG4ucmVzdWx0LUNvbnRlbnRzX1N1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICBmb250LXNpemU6IHJlbSgxNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNjY2O1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIuKAplwiO1xuICB9XG59XG5cbi5yZXN1bHQtQ29udGVudHNfU3VtbWFyeSAuU1NfaGlnaGxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJlc3VsdC1Db250ZW50c19MYXN0TW9kaWZpZWQge1xuICBmb250LXNpemU6IHJlbSgxNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNjY2O1xufVxuIiwiQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJGJyZWFrcG9pbnRzOiAoXG4gIG1vYmlsZTogMzIwcHgsXG4gIHRhYmxldDogNzQwcHgsXG4gIGRlc2t0b3A6IDk4MHB4LFxuICB3aWRlOiAxMzAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aC4gRm9yIGV4YW1wbGU6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBAdXNlICdwYXRoL3RvL21xJyB3aXRoICgkc2hvdy1icmVha3BvaW50czogKCdtb2JpbGUnLCAndGFibGV0JywgJ2Rlc2t0b3AnKSk7XG4vLy9cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJHNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChmb3IgZXhhbXBsZTogYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBvdmVycmllZCB0aGUgbWVkaWEgdHlwZSwgeW91IGNhbiB1c2UgdGhpcyBvcHRpb24uXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQHVzZSAncGF0aC90by9tcScgd2l0aCAoJG1lZGlhLXR5cGU6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVcbiRtZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBweDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5cbkBmdW5jdGlvbiBweDJlbSgkcHgpIHtcbiAgQGlmIG1hdGguaXMtdW5pdGxlc3MoJHB4KSB7XG4gICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgQHJldHVybiBweDJlbSgkcHggKiAxcHgpO1xuICB9XG4gIC8vIGlmICRweCBpcyBjb21wYXRpYmxlIHdpdGggZW0gdW5pdHMsIHRoZW4gcmV0dXJuIHZhbHVlIHVuY2hhbmdlZFxuICBAaWYgbWF0aC5jb21wYXRpYmxlKCRweCwgMWVtKSB7XG4gICAgQHJldHVybiAkcHg7XG4gIH1cbiAgQHJldHVybiBtYXRoLmRpdigkcHgsIDE2cHgpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IGdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBnZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRicmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFskbWVkaWEtdHlwZV0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRicmVha3BvaW50c11cbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBnZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEB1c2UgJ3BhdGgvdG8vbXEnIGFzICo7XG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgJGZyb206IGZhbHNlLFxuICAkdW50aWw6IGZhbHNlLFxuICAkYW5kOiBmYWxzZSxcbiAgJG1lZGlhLXR5cGU6ICRtZWRpYS10eXBlLFxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50c1xuKSB7XG4gICRtaW4td2lkdGg6IDA7XG4gICRtYXgtd2lkdGg6IDA7XG4gICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gIEBpZiAkZnJvbSB7XG4gICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAkbWluLXdpZHRoOiBweDJlbSgkZnJvbSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWluLXdpZHRoOiBweDJlbShnZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICBAaWYgJHVudGlsIHtcbiAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAkbWF4LXdpZHRoOiBweDJlbSgkdW50aWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heC13aWR0aDogcHgyZW0oZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIDAuMDFlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1pbi13aWR0aCAhPSAwIHtcbiAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJztcbiAgfVxuICBAaWYgJG1heC13aWR0aCAhPSAwIHtcbiAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJztcbiAgfVxuICBAaWYgJGFuZCB7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JztcbiAgfVxuXG4gIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgfVxuXG4gIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9xdWljay1zb3J0KCRsaXN0KSB7XG4gICRsZXNzOiAoKTtcbiAgJGVxdWFsOiAoKTtcbiAgJGxhcmdlOiAoKTtcblxuICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICRzZWVkOiBsaXN0Lm50aCgkbGlzdCwgbWF0aC5jZWlsKG1hdGguZGl2KGxlbmd0aCgkbGlzdCksIDIpKSk7XG5cbiAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICRlcXVhbDogbGlzdC5hcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICRsZXNzOiBsaXN0LmFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAkbGFyZ2U6IGxpc3QuYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gam9pbihqb2luKF9xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX3F1aWNrLXNvcnQoJGxhcmdlKSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAkbWFwLXNvcnRlZDogKCk7XG4gICRtYXAta2V5czogbWFwLmtleXMoJG1hcCk7XG4gICRtYXAtdmFsdWVzOiBtYXAudmFsdWVzKCRtYXApO1xuICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgJGtleTogbGlzdC5udGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICRtYXAtc29ydGVkOiBtYXAubWVyZ2UoXG4gICAgICAkbWFwLXNvcnRlZCxcbiAgICAgIChcbiAgICAgICAgJGtleTogJHZhbHVlLFxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICRtYXAtdmFsdWVzOiBsaXN0LnNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gIH1cblxuICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIGFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICRuZXctYnJlYWtwb2ludDogKFxuICAgICRuYW1lOiAkd2lkdGgsXG4gICk7XG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAkYnJlYWtwb2ludHM6IF9tYXAtc29ydC1ieS12YWx1ZSgkYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzIFskc2hvdy1icmVha3BvaW50c10gLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskYnJlYWtwb2ludHNdIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRzaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIHNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gc2hvdy1icmVha3BvaW50cyhcbiAgJHNob3ctYnJlYWtwb2ludHM6ICRzaG93LWJyZWFrcG9pbnRzLFxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50c1xuKSB7XG4gIGJvZHk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmJlZWQ1O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZiZWVkNTtcbiAgICBjb2xvcjogI2MwOTg1MztcbiAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAkd2lkdGg6IGdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICBjb250ZW50OiAnI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje3B4MmVtKCR3aWR0aCl9KSc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpZiBsaXN0Lmxlbmd0aCgkc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgQGluY2x1ZGUgc2hvdy1icmVha3BvaW50cztcbn1cbiIsIi5yZXN1bHQtRm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IHJlbSgyNCk7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDQwKTtcbiAgfVxufVxuXG4ucmVzdWx0LUZvb3Rlcl9Jbm5lciB7XG4gIG1hcmdpbjogYXV0bztcbn1cbiIsIi5zdy1Gb3JtUmFkaW8ge1xuICBAaW5jbHVkZSBzdy1Gb3JtUmFkaW87XG59XG4iLCJAdXNlIFwic2FzczpzdHJpbmdcIjtcblxuLy8gQGRlc2MgLSDjgq3jg7zjg5zjg7zjg4nmk43kvZzjgoTjgrnjgq/jg6rjg7zjg7Pjg6rjg7zjg4Djg7zjgbjjga7oqq3jgb/kuIrjgZLjgpLjgZXjgZvjgZ/jgb7jgb7pnZ7ooajnpLrjgavjgZfjgb7jgZnjgIJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkaW1wb3J0YW50IFtmYWxzZV0gLSDlvJXmlbDjgatcImltcG9ydGFudFwi44KS5rih44GZ44GoYCFpbXBvcnRhbnRg44Gu5oyH5a6a44GM44Gn44GN44G+44GZ44CCXG4vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vIC5mb28geyBAaW5jbHVkZSBzci1vbmx5KCk7IH1cbi8vIC5iYXIgeyBAaW5jbHVkZSBzci1vbmx5KGltcG9ydGFudCk7IH1cbi8vXG4vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLyAuZm9vIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB3aWR0aDogMXB4O1xuLy8gICBoZWlnaHQ6IDFweDtcbi8vICAgbWFyZ2luOiAtMXB4O1xuLy8gICBib3JkZXI6IDA7XG4vLyAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgIHBhZGRpbmc6IDA7XG4vLyAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4vLyB9XG4vLyAuYmFyIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4vLyAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbi8vICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbi8vICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4vLyAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuLy8gICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4vLyAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbi8vICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuLy8gfVxuQG1peGluIHNyLW9ubHkoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGlmICRpbXBvcnRhbnQgPT0gXCJpbXBvcnRhbnRcIiB7XG4gICAgJGltcG9ydGFudDogc3RyaW5nLnVucXVvdGUoXCIhaW1wb3J0YW50XCIpO1xuICB9IEBlbHNlIHtcbiAgICAkaW1wb3J0YW50OiBudWxsO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlICRpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggJGltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggJGltcG9ydGFudDtcbiAgcGFkZGluZzogMCAkaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggJGltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAkaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICRpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAkaW1wb3J0YW50O1xufVxuIiwiQG1peGluIHN3LUZvcm1SYWRpbygpIHtcbiAgJGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgLyog44OH44OV44Kp44Or44OI44Gu44Op44K444Kq44Oc44K/44Oz44KS6Z2e6KGo56S644Gr44GZ44KL44CCICovXG4gIEBpbmNsdWRlIHNyLW9ubHk7XG5cbiAgJiArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmICsgbGFiZWwgPiBzdmcge1xuICAgIEBpbmNsdWRlIHN2Zy1zdG9yZTtcblxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWFyZ2luOiBjYWxjKCgjeyRsaW5lLWhlaWdodH0gLSAxKSAqIDAuNWVtKSBlbSg0KSAwIDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXI6ICRmb3JtLWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZmlsbDogI2ZmZjtcbiAgfVxuXG4gICYgKyBsYWJlbCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFlbSAtIDRweCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJrZXlib2FyZFwiXSAmOmZvY3VzICsgbGFiZWwgPiBzdmcge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tYm9yZGVyLWNvbG9yLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7XG4gIH1cblxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gJjpmb2N1cyArIGxhYmVsID4gc3ZnLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gJjpmb2N1cyArIGxhYmVsID4gc3ZnIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJvZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmNoZWNrZWQgKyBsYWJlbCA+IHN2ZyxcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICY6Y2hlY2tlZCArIGxhYmVsID4gc3ZnLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gJjpjaGVja2VkICsgbGFiZWwgPiBzdmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBwcmludCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgZmlsbDogIzAwMDtcbiAgICB9XG4gIH1cblxuICAmLi1lcnJvciArIGxhYmVsID4gc3ZnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlY2VjO1xuICAgIGZpbGw6ICNmZmVjZWM7XG4gIH1cblxuICAmOmRpc2FibGVkICsgbGFiZWwge1xuICAgIGN1cnNvcjogJGZvcm0tY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRmb3JtLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gQGRlc2MgLSBTVkfjgrnjg5fjg6njgqTjg4jvvIhzdmctc3RvcmXvvInjgafkvb/nlKjjgZnjgovjgqLjgqTjgrPjg7PjgpLjgqLjgrnjg5rjgq/jg4jmr5TjgpLkv53jgaPjgZ/jgb7jgb7jgIFgZm9udC1zaXplYOOBp+OCteOCpOOCuuOBruaMh+WumuOBjOOBp+OBjeOCi+OCiOOBhuOBq+OBl+OBvuOBmeOAglxuLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNTAwXSAtIOOCouOCpOOCs+ODs+OBruaoquW5heOCkuWNmOS9jeeEoeOBl+OBp+aMh+WumuOBl+OBvuOBmeOAglxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzUwMF0gLSDjgqLjgqTjgrPjg7Pjga7pq5jjgZXjgpLljZjkvY3nhKHjgZfjgafmjIflrprjgZfjgb7jgZnjgIJcbi8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8gLmZvbyB7IEBpbmNsdWRlIHN2Zy1zdG9yZSg0MjguNiwgNTAwKTsgfVxuLy9cbi8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vIC5mb28ge1xuLy8gICB3aWR0aDogMC44NTcyZW07XG4vLyAgIGhlaWdodDogMWVtO1xuLy8gfVxuQG1peGluIHN2Zy1zdG9yZSgkd2lkdGg6IDUwMCwgJGhlaWdodDogNTAwKSB7XG4gICR3OiBzdHJpcC11bml0KCR3aWR0aCk7XG4gICRoOiBzdHJpcC11bml0KCRoZWlnaHQpO1xuXG4gIEBpZiAkdyA9PSAkaCB7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgfVxuXG4gIEBpZiAkdyA+ICRoIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1pbi13aWR0aDogMWVtO1xuICAgIGhlaWdodDogKG1hdGguZGl2KCRoLCAkdykpICogMWVtO1xuICB9XG5cbiAgQGlmICR3IDwgJGgge1xuICAgIHdpZHRoOiAobWF0aC5kaXYoJHcsICRoKSkgKiAxZW07XG4gICAgbWluLXdpZHRoOiAobWF0aC5kaXYoJHcsICRoKSkgKiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gIH1cbn1cbiIsIi5yZXN1bHRzLUlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiByZW0oMTUpO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBtcSgxMjE2cHgpIHtcbiAgICBtYXgtd2lkdGg6IDExODZweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIucmVzdWx0LU5vUmVzdWx0IHtcbiAgcGFkZGluZy10b3A6IHJlbSgyMCk7XG4gIHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSg1MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg1MCk7XG4gIH1cblxuICAmID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIucmVzdWx0LVBhZ2VyIHtcbn1cblxuLnJlc3VsdC1QYWdlcl9TcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucmVzdWx0LVBhZ2VyX1BjIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5yZXN1bHQtUGFnZXJfUHJldixcbi5yZXN1bHQtUGFnZXJfTmV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiByZW0oNDgpO1xuICBoZWlnaHQ6IHJlbSg0NSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJlc3VsdC1QYWdlcl9QcmV2IGEsXG4ucmVzdWx0LVBhZ2VyX05leHQgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogcmVtKDQ4KTtcbiAgaGVpZ2h0OiByZW0oNDUpO1xuICBmb250LXNpemU6IDA7XG4gIGNvbG9yOiAjOTk5O1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZGYwNTIzO1xuICAgIH1cbiAgfVxuXG4gICZbYXJpYS1kaXNhYmxlZF0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJlc3VsdC1QYWdlcl9QcmV2SWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGhlaWdodDogcmVtKDIyKTtcbiAgbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IHJlbSgyMik7XG4gIGNvbG9yOiAjOTk5O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgLy8gQGluY2x1ZGUgaWNvbjtcblxuICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB0b3A6IC0wLjRlbTtcbiAgICAvLyBjb250ZW50OiBcIiN7JGljb24tc2xpZGVfYXJyb3dfbGVmdH1cIjtcbiAgfVxuXG4gIC5yZXN1bHQtUGFnZXJfUHJldkRpc2FibGVkICsgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucmVzdWx0LVBhZ2VyX05leHRJY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgaGVpZ2h0OiByZW0oMjIpO1xuICBtYXJnaW46IGF1dG87XG4gIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgY29sb3I6ICM5OTk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICAvLyBAaW5jbHVkZSBpY29uO1xuXG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHRvcDogLTAuNGVtO1xuICAgIC8vIGNvbnRlbnQ6IFwiI3skaWNvbi1zbGlkZV9hcnJvd19yaWdodH1cIjtcbiAgfVxuXG4gIC5yZXN1bHQtUGFnZXJfTmV4dERpc2FibGVkICsgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucmVzdWx0LVBhZ2VyX1ByZXZEaXNhYmxlZCxcbi5yZXN1bHQtUGFnZXJfTmV4dERpc2FibGVkIHtcbiAgQGluY2x1ZGUgc3Itb25seTtcbn1cblxuLnJlc3VsdC1QYWdlcl9Mb2NhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5yZXN1bHQtUGFnZXJfTG9jYXRpb25JdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IHJlbSg0OCk7XG4gIGhlaWdodDogcmVtKDQ1KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAjZTllOWU5IGluc2V0O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RmMDUyMztcbiAgfVxufVxuXG4ucmVzdWx0LVBhZ2VyX0xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IHJlbSg0OCk7XG4gICAgaGVpZ2h0OiByZW0oNDUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICNlOWU5ZTkgaW5zZXQ7XG5cbiAgICAmLmN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGYwNTIzO1xuICAgIH1cbiAgfVxuXG4gICYgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogIzY2NjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZGYwNTIzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ucmVzdWx0LVBhZ2VyX0xpc3QuU1NfcGFnaW5nRmlyc3Qge1xufVxuXG4ucmVzdWx0LVBhZ2VyX0xpc3QuU1NfbnVtYmVyUGFnZSB7XG59XG5cbi5yZXN1bHQtUGFnZXJfTGlzdC5TU19wYWdpbmdMYXN0IHtcbn1cblxuLnJlc3VsdC1QYWdlcl9MaXN0LnJlc3VsdC1QYWdlcl9MaXN0UHJldiB7XG59XG5cbi5yZXN1bHQtUGFnZXJfTGlzdCAucmVzdWx0LVBhZ2VyX0xpc3RQcmV2LFxuLnJlc3VsdC1QYWdlcl9MaXN0IC5yZXN1bHQtUGFnZXJfTGlzdE5leHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHRyYW5zcGFyZW50IGluc2V0O1xufVxuXG4ucmVzdWx0LVBhZ2VyX0xpc3QgLnJlc3VsdC1QYWdlcl9MaXN0UHJldiBhLFxuLnJlc3VsdC1QYWdlcl9MaXN0IC5yZXN1bHQtUGFnZXJfTGlzdE5leHQgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4ucmVzdWx0LVBhZ2VyX0xpc3RQcmV2IGE6OmJlZm9yZSxcbi5yZXN1bHQtUGFnZXJfTGlzdE5leHQgYTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuNGVtO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiByZW0oNDgpO1xuICBoZWlnaHQ6IHJlbSgyMik7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiByZW0oMjIpO1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cblxuLnJlc3VsdC1QYWdlcl9MaXN0UHJldiBhOmhvdmVyOjpiZWZvcmUsXG4ucmVzdWx0LVBhZ2VyX0xpc3ROZXh0IGE6aG92ZXI6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGYwNTIzO1xufVxuXG4ucmVzdWx0LVBhZ2VyX0xpc3RQcmV2IGE6OmJlZm9yZSB7XG59XG5cbi5yZXN1bHQtUGFnZXJfTGlzdE5leHQgYTo6YmVmb3JlIHtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLnJlc3VsdHMtUmVzdWx0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDIxKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTApO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLy8g5qSc57Si57WQ5p6c5pWwXG4ucmVzdWx0cy1SZXN1bHRfSGl0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0NDQ7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNDApO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9IaXRzID4gc3Ryb25nIHtcbiAgZm9udC1zaXplOiByZW0oMTYpO1xuICBsaW5lLWhlaWdodDogMS4zMTI1O1xufVxuXG4vLyDooajnpLrku7bmlbBcbi5yZXN1bHRzLVJlc3VsdF9QZXJQYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0MCk7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuLnJlc3VsdHMtUmVzdWx0X1BlclBhZ2Ugc3BhbiB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSBhIHtcbiAgY29sb3I6ICNkZjA1MjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4vLyDkuKbjgbPpoIZcbi5yZXN1bHRzLVJlc3VsdF9Tb3J0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAvLyBjb2xvcjogIzk5OTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9Tb3J0IGEge1xuICBjb2xvcjogI2RmMDUyMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5yZXN1bHRzLVJlc3VsdF9Tb3J0IFtpZD1cInNvcnRTZWxlY3RlZFwiXSB7XG59XG5cbltpZD1cInNzLXNvcnQtZGF0ZVwiXS5zZWxlY3RlZCxcbltpZD1cInNzLXNvcnQtbWF0Y2hcIl0uc2VsZWN0ZWQge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnJlc3VsdC1NYWluUmVzdWx0cyB7XG4gIG1heC13aWR0aDogY2FsYygkZ2xvYmFsLW1heC13aWR0aCArIHJlbSg1NikpO1xuICBwYWRkaW5nOiByZW0oMTYpIHJlbSgxNikgMDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBwYWRkaW5nOiByZW0oMjgpIHJlbSg0MCkgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgcGFkZGluZzogcmVtKDI4KSByZW0oNTIpIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcSh4eGwpIHtcbiAgICBwYWRkaW5nOiByZW0oMjgpIHJlbSgyOCkgMDtcbiAgfVxufVxuXG4ucmVzdWx0LU1haW5SZXN1bHRzU3ViIHtcbiAgbWF4LXdpZHRoOiBjYWxjKCRnbG9iYWwtbWF4LXdpZHRoICsgcmVtKDU2KSk7XG4gIHBhZGRpbmc6IHJlbSgxNikgcmVtKDApIHJlbSgwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgJiA+IC5yZXN1bHRzLVJlc3VsdCB7XG4gICAgcGFkZGluZzogcmVtKDApIHJlbSg0MCkgcmVtKDIxKTtcblxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICBwYWRkaW5nOiByZW0oMCkgcmVtKDQwKSByZW0oMTApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxnKSB7XG4gICAgICBwYWRkaW5nOiByZW0oMCkgcmVtKDApIHJlbSgxMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBwYWRkaW5nOiByZW0oMCkgcmVtKDApIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIHBhZGRpbmc6IHJlbSgwKSByZW0oNTIpIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcSh4eGwpIHtcbiAgICBwYWRkaW5nOiByZW0oMCkgcmVtKDI4KSAwO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5yZXN1bHRzLVNlYXJjaCB7XG4gIHBhZGRpbmctdG9wOiByZW0oMTQpO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDE0KTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oNDQpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xuICB9XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9Gb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4vLyDlhaXliptcbi5yZXN1bHRzLVNlYXJjaF9RdWVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZmxleC1iYXNpczogbWF0aC5wZXJjZW50YWdlKGRpdig4MDAsIDExNzApKTtcbiAgICBtYXgtd2lkdGg6IG1hdGgucGVyY2VudGFnZShkaXYoODAwLCAxMTcwKSk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDMwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMCk7XG4gIH1cbn1cblxuLnJlc3VsdHMtU2VhcmNoX1F1ZXJ5ID4gaW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiByZW0oNTApO1xuICBwYWRkaW5nOiAwIHJlbSgxMCk7XG4gIHBhZGRpbmctbGVmdDogcmVtKDQ0KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXNpemU6IHJlbSgxNyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWU5ZTk7XG4gIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNnB4IC0zcHggIzllOWU5ZSBpbnNldDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAvKipcbiAgICogTm9ybWFsaXplLmNzc+OBruODquOCu+ODg+ODiOOCkuOBl+OBvuOBmeOAglxuICAgKi9cbiAgJlt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1ib3JkZXItY29sb3ItZm9jdXM7XG4gICAgb3V0bGluZS13aWR0aDogMDtcbiAgICBib3gtc2hhZG93OiAkZm9ybS1ib3gtc2hhZG93LWZvY3VzO1xuICB9XG5cbiAgJi1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWNlYztcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGZvcm0tY3Vyc29yLWRpc2FibGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWJhY2tncm91bmQtY29sb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJGZvcm0tb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxufVxuXG4ucmVzdWx0cy1TZWFyY2hfUXVlcnlJY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogcmVtKDEyKTtcbiAgaGVpZ2h0OiByZW0oMjQpO1xuICBtYXJnaW46IGF1dG87XG4gIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgY29sb3I6ICM0NDQ7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMC4xNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcmVtKDIyKTtcbiAgICBoZWlnaHQ6IHJlbSgyMik7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lLQ1NCNVBTSXdjSGdpSUhkcFpIUm9QU0kxTURCd2VDSWdhR1ZwWjJoMFBTSTFNREJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TUNBMU1EQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHRjBhQ0JtYVd4c1BTSWpORFEwSWlCa1BTSk5NekV6TGpRc016WXdMakZqTFRNeUxqUXNNak11TVMwM01pNHhMRE0yTGpjdE1URTFMRE0yTGpkRE9EZ3VPQ3d6T1RZdU9Dd3dMRE13T0N3d0xERTVPQzQwVXpnNExqZ3NNQ3d4T1RndU5Dd3djekU1T0M0MExEZzRMamdzTVRrNExqUXNNVGs0TGpRS0NXTXdMRFF5TGprdE1UTXVOaXc0TWk0MkxUTTJMamNzTVRFMWJERXpNQzR6TERFek1DNHpZekV5TGpnc01USXVPQ3d4TWk0M0xETXpMalFzTUN3ME5pNHhiQzB3TGpVc01DNDFZeTB4TWk0M0xERXlMamN0TXpNdU5Dd3hNaTQzTFRRMkxqRXNNRXd6TVRNdU5Dd3pOakF1TVV3ek1UTXVOQ3d6TmpBdU1Yb0tDU0JOTVRrNExqUXNNelV3TGpGak9ETXVPQ3d3TERFMU1TNDNMVFkzTGprc01UVXhMamN0TVRVeExqZFRNamd5TGpJc05EWXVOeXd4T1RndU5DdzBOaTQzVXpRMkxqY3NNVEUwTGpZc05EWXVOeXd4T1RndU5GTXhNVFF1Tml3ek5UQXVNU3d4T1RndU5Dd3pOVEF1TVV3eE9UZ3VOQ3d6TlRBdU1Yb2lMejRLUEM5emRtYytcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbn1cblxuLnJlc3VsdHMtU2VhcmNoX1F1ZXJ5IC5yZXN1bHRzLVNlYXJjaF9TdWJtaXQge1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfUXVlcnkgLlNlYXJjaF9TdWJtaXRCdXR0b24ge1xuICBAaW5jbHVkZSBzci1vbmx5O1xufVxuXG4vLyDjgqvjg4bjgrTjg6rmjIflrppcbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZmxleC1iYXNpczogbWF0aC5wZXJjZW50YWdlKGRpdigzNzAsIDExNzApKTtcbiAgICBtYXgtd2lkdGg6IG1hdGgucGVyY2VudGFnZShkaXYoMzcwLCAxMTcwKSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgPiBpbnB1dCB7XG4gIEBpbmNsdWRlIHN3LUZvcm1SYWRpbztcbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5ID4gbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IHJlbSgxNSk7XG59XG4iLCIuc3ctVGV4dCB7XG4gIG1hcmdpbjogcmVtKDQwKSAwIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG5cbi8vIOmWoumAo+aDheWgsVxuI3NzLWFkLXJlc3VsdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIOODmuODvOOCuOODjeODvOOCt+ODp+ODs1xuLmxheW91dC1Ub3BfQ29udGVudHMgLnNzLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLnNzLXBhZ2UtcHJldixcbi5zcy1wYWdlLW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogcmVtKDQ4KTtcbiAgaGVpZ2h0OiByZW0oNDUpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCB0cmFuc3BhcmVudCBpbnNldDtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2RmMDUyMztcbiAgICB9XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIC8vIEBpbmNsdWRlIGljb247XG5cbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuNGVtO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHJlbSgyMik7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICBjb2xvcjogIzk5OTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIH1cblxuICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICB9XG59XG5cbi5zcy1wYWdlLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBoZWlnaHQ6IHJlbSgyMik7XG5cbiAgLy8gbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IHJlbSgyMik7XG4gIGNvbG9yOiAjOTk5O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgLy8gY29udGVudDogXCIjeyRpY29uLXNsaWRlX2Fycm93X2xlZnR9XCI7XG4gIH1cbn1cblxuLnNzLXBhZ2UtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGhlaWdodDogcmVtKDIyKTtcblxuICAvLyBtYXJnaW46IGF1dG87XG4gIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgY29sb3I6ICM5OTk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiI3skaWNvbi1zbGlkZV9hcnJvd19yaWdodH1cIjtcbiAgfVxufVxuXG4vLyDjgqvjg4bjgrTjg6rlh7rliptcbi5zcy1ncm91cC1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IGlucHV0ICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjY4NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDQ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSBpbnB1dCArIGxhYmVsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjE4NzVyZW07XG4gIGhlaWdodDogMS4xODc1cmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSBpbnB1dDpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMxNTg5ZWU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAzcHggIzE1ODllZTtcbn1cblxuLnJlc3VsdHMtU2VhcmNoX0NhdGVnb3J5IGlucHV0OmZvY3VzOm5vdCguZm9jdXMtcmluZykgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzdWx0L2ltZy9pY29uX3JhZGlvX29uLnN2Z1wiKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgaW5wdXQgKyBsYWJlbFtkaXNhYmxlZF0sXG4ucmVzdWx0cy1TZWFyY2hfQ2F0ZWdvcnkgaW5wdXQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5yZXN1bHRzLVNlYXJjaF9DYXRlZ29yeSBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMS4xMjVyZW07XG59XG5cbi8vIOipsuW9k+aknOe0ouaVsFxuLnJlc3VsdHMtUmVzdWx0X0hpdHMge1xuICAmIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjU7XG4gIH1cbn1cblxuLy8g5qSc57Si57WQ5p6c5pWwXG4ucmVzdWx0cy1SZXN1bHRfUGVyUGFnZSB7XG4gIC5TU19oaXRDb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIEBpbmNsdWRlIHNyLW9ubHk7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC4yNWVtO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICB9XG4gIH1cblxuICAmIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgY29sb3I6ICM5OTk7XG4gIH1cblxuICAmIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAmIGlucHV0LmZvY3VzLXJpbmcgKyBsYWJlbCB7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tYm94LXNoYWRvdy1mb2N1cztcbiAgfVxufVxuXG4vLyDplqLpgKPpoIbjgajmlrDnnYDpoIZcbi5yZXN1bHRzLVJlc3VsdF9Tb3J0IHtcbiAgJiA6bm90KC5zZWxlY3RlZCkge1xuICAgIGNvbG9yOiAjZGYwNTIzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gICYgI3NzLXNvcnQtbWF0Y2gsXG4gICYgI3NzLXNvcnQtZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuW2lkPVwic3MtcmVzdWx0XCJdIHtcbiAgbWF4LXdpZHRoOiBjYWxjKCRnbG9iYWwtbWF4LXdpZHRoICsgcmVtKDU2KSk7XG4gIHBhZGRpbmc6IHJlbSgwKSByZW0oMTYpIDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgcGFkZGluZzogcmVtKDE2KSByZW0oNDApIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsZykge1xuICAgIHBhZGRpbmc6IHJlbSgxNikgcmVtKDUyKSAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoeHhsKSB7XG4gICAgcGFkZGluZzogcmVtKDE2KSByZW0oMjgpIDA7XG4gIH1cbn1cblxuLnJlc3VsdC1Db250ZW50c19UaXRsZSAuc3MtaGlnaGxpZ2h0LFxuLnJlc3VsdC1Db250ZW50c19MaW5rIC5zcy1oaWdobGlnaHQsXG4ucmVzdWx0LUNvbnRlbnRzX1N1bW1hcnkgLnNzLWhpZ2hsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zcy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiByZW0oMjQpO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSg0MCk7XG4gIH1cblxuICAmIC5zcy1wYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiByZW0oNDgpO1xuICAgIGhlaWdodDogcmVtKDQ1KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICNlOWU5ZTkgaW5zZXQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG5cbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZGYwNTIzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLnNzLXNlbGVjdC1wYWdlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2RmMDUyMztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGYwNTIzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcy1wYWdlLXByZXYsXG4gIC5zcy1wYWdlLW5leHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IHJlbSg0OCk7XG4gICAgaGVpZ2h0OiByZW0oNDUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcblxuICAgIC8vIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgLy8gICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIC8vICAgICBjb2xvcjogI2RmMDUyMztcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB3aWR0aDogcmVtKDQ4KTtcbiAgICAgIGhlaWdodDogcmVtKDIyKTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgLnNzLXBhZ2UtcHJldiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lLQ1NCNVBTSXdjSGdpSUhkcFpIUm9QU0kxTURCd2VDSWdhR1ZwWjJoMFBTSTFNREJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TUNBMU1EQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHOXNlV2R2YmlCbWFXeHNQU0lqT1RrNUlpQndiMmx1ZEhNOUlqVXdNQ3d5TkRBdU1TQXpPQ3d5TkRBdU1TQXhNakF1TXl3eE5UY3VPQ0F4TURZdU1pd3hORE11T0NBd0xESTFNQ0F4TURZdU1pd3pOVFl1TWlBeE1qQXVNeXd6TkRJdU1pQXpPQ3d5TlRrdU9TQTFNREFzTWpVNUxqa2dJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJS0NTQjVQU0l3Y0hnaUlIZHBaSFJvUFNJMU1EQndlQ0lnYUdWcFoyaDBQU0kxTURCd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURVd01DQTFNREFpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBnbzhjRzlzZVdkdmJpQm1hV3hzUFNJalpHWXdOVEl6SWlCd2IybHVkSE05SWpVd01Dd3lOREF1TVNBek9Dd3lOREF1TVNBeE1qQXVNeXd4TlRjdU9DQXhNRFl1TWl3eE5ETXVPQ0F3TERJMU1DQXhNRFl1TWl3ek5UWXVNaUF4TWpBdU15d3pOREl1TWlBek9Dd3lOVGt1T1NBMU1EQXNNalU1TGprZ0lpOCtDand2YzNablBnbz1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNzLXBhZ2UtbmV4dCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lLQ1NCNVBTSXdjSGdpSUhkcFpIUm9QU0kxTURCd2VDSWdhR1ZwWjJoMFBTSTFNREJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFV3TUNBMU1EQWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHOXNlV2R2YmlCbWFXeHNQU0lqT1RrNUlpQndiMmx1ZEhNOUlqQXNNalF3TGpFZ05EWXlMREkwTUM0eElETTNPUzQzTERFMU55NDRJRE01TXk0NExERTBNeTQ0SURVd01Dd3lOVEFnTXprekxqZ3NNelUyTGpJZ016YzVMamNzTXpReUxqSWdORFl5TERJMU9TNDVJREFzTWpVNUxqa2dJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJS0NTQjVQU0l3Y0hnaUlIZHBaSFJvUFNJMU1EQndlQ0lnYUdWcFoyaDBQU0kxTURCd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURVd01DQTFNREFpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBnbzhjRzlzZVdkdmJpQm1hV3hzUFNJalpHWXdOVEl6SWlCd2IybHVkSE05SWpBc01qUXdMakVnTkRZeUxESTBNQzR4SURNM09TNDNMREUxTnk0NElETTVNeTQ0TERFME15NDRJRFV3TUN3eU5UQWdNemt6TGpnc016VTJMaklnTXpjNUxqY3NNelF5TGpJZ05EWXlMREkxT1M0NUlEQXNNalU1TGprZ0lpOCtDand2YzNablBnbz1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */