html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/*
 * Legal Disclaimer
 *
 * These Fonts are licensed only for use on these domains and their subdomains:
 * si.se
 *
 * It is illegal to download or use them on other websites.
 *
 * While the @font-face statements below may be modified by the client, this
 * disclaimer may not be removed.
 *
 * Lineto.com, 2013
 */
@font-face {
  font-family: 'SwedenSans';
  src: url('fonts/swedensans/fs/swedensans-webfont.eot');
  src: url('fonts/swedensans/fs/swedensans-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/swedensans/fs/swedensans-webfont.woff') format('woff'), url('fonts/swedensans/fs/swedensans-webfont.ttf') format('truetype'), url('fonts/swedensans/fs/swedensans-webfont.svg#sweden_sans') format('svg');
}
@font-face {
  font-family: 'SwedenSans';
  src: url('fonts/swedensans/fs/swedensansbold-webfont.eot');
  src: url('fonts/swedensans/fs/swedensansbold-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/swedensans/fs/swedensansbold-webfont.woff') format('woff'), url('fonts/swedensans/fs/swedensansbold-webfont.ttf') format('truetype'), url('fonts/swedensans/fs/swedensansbold-webfont.svg#sweden_sansbold') format('svg');
  font-weight: bold;
}
@font-face {
  font-family: 'Akkurat';
  src: url('fonts/akkurat/lineto-akkurat-regular.eot');
  src: url('fonts/akkurat/lineto-akkurat-regular.eot?#iefix') format('embedded-opentype'), url('fonts/akkurat/lineto-akkurat-regular.woff') format('woff'), url('fonts/akkurat/lineto-akkurat-regular.svg#AkkuratRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Akkurat';
  src: url('fonts/akkurat/lineto-akkurat-italic.eot');
  src: url('fonts/akkurat/lineto-akkurat-italic.eot?#iefix') format('embedded-opentype'), url('fonts/akkurat/lineto-akkurat-italic.woff') format('woff'), url('fonts/akkurat/lineto-akkurat-italic.ttf') format('truetype'), url('fonts/akkurat/lineto-akkurat-italic.svg#AkkuratItalic') format('svg');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: 'Akkurat';
  src: url('fonts/akkurat/lineto-akkurat-bold.eot');
  src: url('fonts/akkurat/lineto-akkurat-bold.eot?#iefix') format('embedded-opentype'), url('fonts/akkurat/lineto-akkurat-bold.woff') format('woff'), url('fonts/akkurat/lineto-akkurat-bold.svg#AkkuratBold') format('svg');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Akkurat';
  src: url('fonts/akkurat/lineto-akkurat-bolditalic.eot');
  src: url('fonts/akkurat/lineto-akkurat-bolditalic.eot?#iefix') format('embedded-opentype'), url('fonts/akkurat/lineto-akkurat-bolditalic.woff') format('woff'), url('fonts/akkurat/lineto-akkurat-bolditalic.ttf') format('truetype'), url('fonts/akkurat/lineto-akkurat-bolditalic.svg#AkkuratBoldItalic') format('svg');
  font-weight: bold;
  font-style: italic;
}
/* Remove if not needed */
@font-face {
  font-family: 'ZurichBT-BoldCondensed';
  src: url('fonts/zurich/275D52_2_0.eot');
  src: url('fonts/zurich/275D52_2_0.eot?#iefix') format('embedded-opentype'), url('fonts/zurich/275D52_2_0.woff') format('woff'), url('fonts/zurich/275D52_2_0.ttf') format('truetype');
}
* {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  font-size: 16px;
  font-size: 1.6rem;
}
body.menu-open {
  position: static;
  overflow: hidden;
}
@media only screen and (min-width: 980px) {
  body.menu-open {
    overflow: auto;
  }
}
h1,
h2,
h3 {
  margin-bottom: 20px;
  line-height: 1;
}
h1 {
  text-transform: uppercase;
  font-family: 'SwedenSans', sans-serif;
}
h2,
h3 {
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
}
p {
  color: #fff;
  font-family: 'Akkurat', sans-serif;
  line-height: 1.2;
}
b,
strong {
  font-weight: bold;
}
a {
  text-decoration: none;
}
li {
  font-size: 16px;
  font-size: 1.6rem;
}
#main {
  background-color: #0096e1;
}
.u-g-12-12 {
  width: 100%;
  float: left;
}
.u-g-11-12 {
  width: 91.66666667%;
  float: left;
}
.u-g-10-12 {
  width: 83.33333333%;
  float: left;
}
.u-g-9-12 {
  width: 75%;
  float: left;
}
.u-g-8-12 {
  width: 66.66666667%;
  float: left;
}
.u-g-7-12 {
  width: 58.33333333%;
  float: left;
}
.u-g-6-12 {
  width: 50%;
  float: left;
}
.u-g-5-12 {
  width: 41.66666667%;
  float: left;
}
.u-g-4-12 {
  width: 33.33333333%;
  float: left;
}
.u-g-3-12 {
  width: 25%;
  float: left;
}
.u-g-2-12 {
  width: 16.66666667%;
  float: left;
}
.u-g-1-12 {
  width: 8.33333333%;
  float: left;
}
.u-tg-12-12 {
  width: 100%;
  display: table-cell;
}
.u-tg-11-12 {
  width: 91.66666667%;
  display: table-cell;
}
.u-tg-10-12 {
  width: 83.33333333%;
  display: table-cell;
}
.u-tg-9-12 {
  width: 75%;
  display: table-cell;
}
.u-tg-8-12 {
  width: 66.66666667%;
  display: table-cell;
}
.u-tg-7-12 {
  width: 58.33333333%;
  display: table-cell;
}
.u-tg-6-12 {
  width: 50%;
  display: table-cell;
}
.u-tg-5-12 {
  width: 41.66666667%;
  display: table-cell;
}
.u-tg-4-12 {
  width: 33.33333333%;
  display: table-cell;
}
.u-tg-3-12 {
  width: 25%;
  display: table-cell;
}
.u-tg-2-12 {
  width: 16.66666667%;
  display: table-cell;
}
.u-tg-1-12 {
  width: 8.33333333%;
  display: table-cell;
}
.u-o-12-12 {
  margin-left: 100%;
}
.u-o-11-12 {
  margin-left: 91.66666667%;
}
.u-o-10-12 {
  margin-left: 83.33333333%;
}
.u-o-9-12 {
  margin-left: 75%;
}
.u-o-8-12 {
  margin-left: 66.66666667%;
}
.u-o-7-12 {
  margin-left: 58.33333333%;
}
.u-o-6-12 {
  margin-left: 50%;
}
.u-o-5-12 {
  margin-left: 41.66666667%;
}
.u-o-4-12 {
  margin-left: 33.33333333%;
}
.u-o-3-12 {
  margin-left: 25%;
}
.u-o-2-12 {
  margin-left: 16.66666667%;
}
.u-o-1-12 {
  margin-left: 8.33333333%;
}
.u-g-5-5 {
  width: 100%;
  float: left;
}
.u-g-4-5 {
  width: 80%;
  float: left;
}
.u-g-3-5 {
  width: 60%;
  float: left;
}
.u-g-2-5 {
  width: 40%;
  float: left;
}
.u-g-1-5 {
  width: 20%;
  float: left;
}
.u-tg-5-5 {
  width: 100%;
  display: table-cell;
}
.u-tg-4-5 {
  width: 80%;
  display: table-cell;
}
.u-tg-3-5 {
  width: 60%;
  display: table-cell;
}
.u-tg-2-5 {
  width: 40%;
  display: table-cell;
}
.u-tg-1-5 {
  width: 20%;
  display: table-cell;
}
.u-o-5-5 {
  margin-left: 100%;
}
.u-o-4-5 {
  margin-left: 80%;
}
.u-o-3-5 {
  margin-left: 60%;
}
.u-o-2-5 {
  margin-left: 40%;
}
.u-o-1-5 {
  margin-left: 20%;
}
@media only screen and (min-width: 480px) {
  .u-g-12-12--s {
    width: 100%;
    float: left;
  }
  .u-g-11-12--s {
    width: 91.66666667%;
    float: left;
  }
  .u-g-10-12--s {
    width: 83.33333333%;
    float: left;
  }
  .u-g-9-12--s {
    width: 75%;
    float: left;
  }
  .u-g-8-12--s {
    width: 66.66666667%;
    float: left;
  }
  .u-g-7-12--s {
    width: 58.33333333%;
    float: left;
  }
  .u-g-6-12--s {
    width: 50%;
    float: left;
  }
  .u-g-5-12--s {
    width: 41.66666667%;
    float: left;
  }
  .u-g-4-12--s {
    width: 33.33333333%;
    float: left;
  }
  .u-g-3-12--s {
    width: 25%;
    float: left;
  }
  .u-g-2-12--s {
    width: 16.66666667%;
    float: left;
  }
  .u-g-1-12--s {
    width: 8.33333333%;
    float: left;
  }
  .u-tg-12-12--s {
    width: 100%;
    display: table-cell;
  }
  .u-tg-11-12--s {
    width: 91.66666667%;
    display: table-cell;
  }
  .u-tg-10-12--s {
    width: 83.33333333%;
    display: table-cell;
  }
  .u-tg-9-12--s {
    width: 75%;
    display: table-cell;
  }
  .u-tg-8-12--s {
    width: 66.66666667%;
    display: table-cell;
  }
  .u-tg-7-12--s {
    width: 58.33333333%;
    display: table-cell;
  }
  .u-tg-6-12--s {
    width: 50%;
    display: table-cell;
  }
  .u-tg-5-12--s {
    width: 41.66666667%;
    display: table-cell;
  }
  .u-tg-4-12--s {
    width: 33.33333333%;
    display: table-cell;
  }
  .u-tg-3-12--s {
    width: 25%;
    display: table-cell;
  }
  .u-tg-2-12--s {
    width: 16.66666667%;
    display: table-cell;
  }
  .u-tg-1-12--s {
    width: 8.33333333%;
    display: table-cell;
  }
  .u-o-12-12--s {
    margin-left: 100%;
  }
  .u-o-11-12--s {
    margin-left: 91.66666667%;
  }
  .u-o-10-12--s {
    margin-left: 83.33333333%;
  }
  .u-o-9-12--s {
    margin-left: 75%;
  }
  .u-o-8-12--s {
    margin-left: 66.66666667%;
  }
  .u-o-7-12--s {
    margin-left: 58.33333333%;
  }
  .u-o-6-12--s {
    margin-left: 50%;
  }
  .u-o-5-12--s {
    margin-left: 41.66666667%;
  }
  .u-o-4-12--s {
    margin-left: 33.33333333%;
  }
  .u-o-3-12--s {
    margin-left: 25%;
  }
  .u-o-2-12--s {
    margin-left: 16.66666667%;
  }
  .u-o-1-12--s {
    margin-left: 8.33333333%;
  }
  .u-g-5-5--s {
    width: 100%;
    float: left;
  }
  .u-g-4-5--s {
    width: 80%;
    float: left;
  }
  .u-g-3-5--s {
    width: 60%;
    float: left;
  }
  .u-g-2-5--s {
    width: 40%;
    float: left;
  }
  .u-g-1-5--s {
    width: 20%;
    float: left;
  }
  .u-tg-5-5--s {
    width: 100%;
    display: table-cell;
  }
  .u-tg-4-5--s {
    width: 80%;
    display: table-cell;
  }
  .u-tg-3-5--s {
    width: 60%;
    display: table-cell;
  }
  .u-tg-2-5--s {
    width: 40%;
    display: table-cell;
  }
  .u-tg-1-5--s {
    width: 20%;
    display: table-cell;
  }
  .u-o-5-5--s {
    margin-left: 100%;
  }
  .u-o-4-5--s {
    margin-left: 80%;
  }
  .u-o-3-5--s {
    margin-left: 60%;
  }
  .u-o-2-5--s {
    margin-left: 40%;
  }
  .u-o-1-5--s {
    margin-left: 20%;
  }
}
@media only screen and (min-width: 768px) {
  .u-g-12-12--m {
    width: 100%;
    float: left;
  }
  .u-g-11-12--m {
    width: 91.66666667%;
    float: left;
  }
  .u-g-10-12--m {
    width: 83.33333333%;
    float: left;
  }
  .u-g-9-12--m {
    width: 75%;
    float: left;
  }
  .u-g-8-12--m {
    width: 66.66666667%;
    float: left;
  }
  .u-g-7-12--m {
    width: 58.33333333%;
    float: left;
  }
  .u-g-6-12--m {
    width: 50%;
    float: left;
  }
  .u-g-5-12--m {
    width: 41.66666667%;
    float: left;
  }
  .u-g-4-12--m {
    width: 33.33333333%;
    float: left;
  }
  .u-g-3-12--m {
    width: 25%;
    float: left;
  }
  .u-g-2-12--m {
    width: 16.66666667%;
    float: left;
  }
  .u-g-1-12--m {
    width: 8.33333333%;
    float: left;
  }
  .u-tg-12-12--m {
    width: 100%;
    display: table-cell;
  }
  .u-tg-11-12--m {
    width: 91.66666667%;
    display: table-cell;
  }
  .u-tg-10-12--m {
    width: 83.33333333%;
    display: table-cell;
  }
  .u-tg-9-12--m {
    width: 75%;
    display: table-cell;
  }
  .u-tg-8-12--m {
    width: 66.66666667%;
    display: table-cell;
  }
  .u-tg-7-12--m {
    width: 58.33333333%;
    display: table-cell;
  }
  .u-tg-6-12--m {
    width: 50%;
    display: table-cell;
  }
  .u-tg-5-12--m {
    width: 41.66666667%;
    display: table-cell;
  }
  .u-tg-4-12--m {
    width: 33.33333333%;
    display: table-cell;
  }
  .u-tg-3-12--m {
    width: 25%;
    display: table-cell;
  }
  .u-tg-2-12--m {
    width: 16.66666667%;
    display: table-cell;
  }
  .u-tg-1-12--m {
    width: 8.33333333%;
    display: table-cell;
  }
  .u-o-12-12--m {
    margin-left: 100%;
  }
  .u-o-11-12--m {
    margin-left: 91.66666667%;
  }
  .u-o-10-12--m {
    margin-left: 83.33333333%;
  }
  .u-o-9-12--m {
    margin-left: 75%;
  }
  .u-o-8-12--m {
    margin-left: 66.66666667%;
  }
  .u-o-7-12--m {
    margin-left: 58.33333333%;
  }
  .u-o-6-12--m {
    margin-left: 50%;
  }
  .u-o-5-12--m {
    margin-left: 41.66666667%;
  }
  .u-o-4-12--m {
    margin-left: 33.33333333%;
  }
  .u-o-3-12--m {
    margin-left: 25%;
  }
  .u-o-2-12--m {
    margin-left: 16.66666667%;
  }
  .u-o-1-12--m {
    margin-left: 8.33333333%;
  }
  .u-g-5-5--m {
    width: 100%;
    float: left;
  }
  .u-g-4-5--m {
    width: 80%;
    float: left;
  }
  .u-g-3-5--m {
    width: 60%;
    float: left;
  }
  .u-g-2-5--m {
    width: 40%;
    float: left;
  }
  .u-g-1-5--m {
    width: 20%;
    float: left;
  }
  .u-tg-5-5--m {
    width: 100%;
    display: table-cell;
  }
  .u-tg-4-5--m {
    width: 80%;
    display: table-cell;
  }
  .u-tg-3-5--m {
    width: 60%;
    display: table-cell;
  }
  .u-tg-2-5--m {
    width: 40%;
    display: table-cell;
  }
  .u-tg-1-5--m {
    width: 20%;
    display: table-cell;
  }
  .u-o-5-5--m {
    margin-left: 100%;
  }
  .u-o-4-5--m {
    margin-left: 80%;
  }
  .u-o-3-5--m {
    margin-left: 60%;
  }
  .u-o-2-5--m {
    margin-left: 40%;
  }
  .u-o-1-5--m {
    margin-left: 20%;
  }
}
@media only screen and (min-width: 980px) {
  .u-g-12-12--l {
    width: 100%;
    float: left;
  }
  .u-g-11-12--l {
    width: 91.66666667%;
    float: left;
  }
  .u-g-10-12--l {
    width: 83.33333333%;
    float: left;
  }
  .u-g-9-12--l {
    width: 75%;
    float: left;
  }
  .u-g-8-12--l {
    width: 66.66666667%;
    float: left;
  }
  .u-g-7-12--l {
    width: 58.33333333%;
    float: left;
  }
  .u-g-6-12--l {
    width: 50%;
    float: left;
  }
  .u-g-5-12--l {
    width: 41.66666667%;
    float: left;
  }
  .u-g-4-12--l {
    width: 33.33333333%;
    float: left;
  }
  .u-g-3-12--l {
    width: 25%;
    float: left;
  }
  .u-g-2-12--l {
    width: 16.66666667%;
    float: left;
  }
  .u-g-1-12--l {
    width: 8.33333333%;
    float: left;
  }
  .u-tg-12-12--l {
    width: 100%;
    display: table-cell;
  }
  .u-tg-11-12--l {
    width: 91.66666667%;
    display: table-cell;
  }
  .u-tg-10-12--l {
    width: 83.33333333%;
    display: table-cell;
  }
  .u-tg-9-12--l {
    width: 75%;
    display: table-cell;
  }
  .u-tg-8-12--l {
    width: 66.66666667%;
    display: table-cell;
  }
  .u-tg-7-12--l {
    width: 58.33333333%;
    display: table-cell;
  }
  .u-tg-6-12--l {
    width: 50%;
    display: table-cell;
  }
  .u-tg-5-12--l {
    width: 41.66666667%;
    display: table-cell;
  }
  .u-tg-4-12--l {
    width: 33.33333333%;
    display: table-cell;
  }
  .u-tg-3-12--l {
    width: 25%;
    display: table-cell;
  }
  .u-tg-2-12--l {
    width: 16.66666667%;
    display: table-cell;
  }
  .u-tg-1-12--l {
    width: 8.33333333%;
    display: table-cell;
  }
  .u-o-12-12--l {
    margin-left: 100%;
  }
  .u-o-11-12--l {
    margin-left: 91.66666667%;
  }
  .u-o-10-12--l {
    margin-left: 83.33333333%;
  }
  .u-o-9-12--l {
    margin-left: 75%;
  }
  .u-o-8-12--l {
    margin-left: 66.66666667%;
  }
  .u-o-7-12--l {
    margin-left: 58.33333333%;
  }
  .u-o-6-12--l {
    margin-left: 50%;
  }
  .u-o-5-12--l {
    margin-left: 41.66666667%;
  }
  .u-o-4-12--l {
    margin-left: 33.33333333%;
  }
  .u-o-3-12--l {
    margin-left: 25%;
  }
  .u-o-2-12--l {
    margin-left: 16.66666667%;
  }
  .u-o-1-12--l {
    margin-left: 8.33333333%;
  }
  .u-g-5-5--l {
    width: 100%;
    float: left;
  }
  .u-g-4-5--l {
    width: 80%;
    float: left;
  }
  .u-g-3-5--l {
    width: 60%;
    float: left;
  }
  .u-g-2-5--l {
    width: 40%;
    float: left;
  }
  .u-g-1-5--l {
    width: 20%;
    float: left;
  }
  .u-tg-5-5--l {
    width: 100%;
    display: table-cell;
  }
  .u-tg-4-5--l {
    width: 80%;
    display: table-cell;
  }
  .u-tg-3-5--l {
    width: 60%;
    display: table-cell;
  }
  .u-tg-2-5--l {
    width: 40%;
    display: table-cell;
  }
  .u-tg-1-5--l {
    width: 20%;
    display: table-cell;
  }
  .u-o-5-5--l {
    margin-left: 100%;
  }
  .u-o-4-5--l {
    margin-left: 80%;
  }
  .u-o-3-5--l {
    margin-left: 60%;
  }
  .u-o-2-5--l {
    margin-left: 40%;
  }
  .u-o-1-5--l {
    margin-left: 20%;
  }
}
#m-svg-icon {
  width: inherit;
  height: inherit;
  background-size: contain;
  position: absolute;
  color: transparent;
  content: '';
}
#m-absolute-center {
  width: 50%;
  height: 50%;
  overflow: auto;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.u-confine {
  margin: 0 auto;
  padding-left: 10px;
  padding-right: 10px;
}
.u-container {
  width: 100%;
}
.u-container--nowrap {
  display: table;
}
.u-clearfix {
  zoom: 1;
}
.u-clearfix:before {
  content: '';
  display: block;
}
.u-clearfix:after {
  content: '';
  display: table;
  clear: both;
}
.u-visible {
  display: block;
}
.u-hidden {
  display: none;
}
@media only screen and (min-width: 768px) {
  .u-confine--m {
    max-width: 768px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 980px) {
  .u-confine--l {
    max-width: 980px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1280px) {
  .u-confine--xl {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1680px) {
  .u-confine--xxl {
    max-width: 1680px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
}
/* TODO: Check if this is the right fonts */
/* Chrome, Safari, Opera */
@-webkit-keyframes headerAnimation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Standard syntax */
@keyframes headerAnimation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/**
 *
 * Theme
 *
 * Theme class is used for theme specific styling like
 * background colors, font colors and links for example.
 * Used on all segments to define color and background.
 *
 */
.theme--blue {
  color: #fff;
  background-color: #0096e1;
}
.theme--blue.hover:hover {
  background-color: #0085c8;
}
.theme--dark-blue {
  color: #fff;
  background-color: #005293;
}
.theme--dark-blue.hover:hover {
  background-color: #003660;
}
.theme--green {
  color: #fff;
  background-color: #149497;
}
.theme--green.hover:hover {
  background-color: #117e80;
}
.theme--yellow {
  color: #fff;
  background-color: #ffcb05;
}
.theme--yellow.hover:hover {
  background-color: #d1a600;
}
.theme--yellow h3 {
  color: #927401;
}
.theme--red {
  color: #fff;
  background-color: #ef4662;
}
.theme--red.hover:hover {
  background-color: #eb173a;
}
.theme--gray {
  background-color: #f5f5f5;
}
.theme--gray h1,
.theme--gray h2,
.theme--gray h3 {
  color: #0096e1;
}
.theme--gray p {
  color: #2f2c2d;
}
.theme--gray.hover:hover {
  background-color: #e8e8e8;
}
.theme--white {
  background-color: #f5f5f5;
}
.theme--white * {
  color: #2f2c2d;
}
.theme--white.hover:hover {
  background-color: #e8e8e8;
}
.theme--black {
  color: #fff;
  background-color: #333333;
}
.theme--black.hover:hover {
  background-color: #262626;
}
.theme--yellow-black {
  background-color: #ffcb05;
  color: #2f2c2d;
}
.theme--yellow-black.hover:hover {
  background-color: #ebba00;
}
.theme.hover {
  cursor: pointer;
  -webkit-transform: translateZ(0px);
}
.theme.hover:hover {
  transition: opacity .5s;
}
.theme__link {
  color: inherit;
  text-decoration: underline;
}
.theme__link:hover {
  text-decoration: none;
}
/**
 *
 * Main
 *
 * The main block creates a wrapper for sections
 * inside the #main div. main__content contains
 * the article and wysiwyg block and main__footer
 * contains optional segments like FAQ and testimonials.
 *
 */
.main__content {
  position: relative;
}
.wysiwyg {
  /* Media class is added manually in wysiwyg
    to get a wrapper around the iframe */
}
.wysiwyg--page {
  width: 100%;
  text-align: left;
  margin: 0 auto;
  color: #2f2c2d;
  font-family: 'Times New Roman', Times, serif;
  line-height: 1.8;
  font-size: 20px;
  font-size: 2rem;
}
.wysiwyg--page p {
  margin-bottom: 35px;
}
.wysiwyg--page li {
  margin-bottom: 20px;
}
.wysiwyg--page a {
  color: #00aae9;
}
.wysiwyg--school {
  color: #fff;
  line-height: 1.6875;
  font-family: 'Akkurat', sans-serif;
}
.wysiwyg--school p {
  margin-bottom: 30px;
}
.wysiwyg--school a {
  color: #005293;
}
.wysiwyg h2 {
  margin-bottom: 20px;
  line-height: 1;
  font-size: 40px;
  font-size: 4rem;
}
.wysiwyg h3 {
  font-size: 28px;
  font-size: 2.8rem;
}
.wysiwyg ul,
.wysiwyg ol {
  margin-top: 20px;
  margin-bottom: 35px;
  padding-left: 40px;
  list-style: initial;
}
.wysiwyg p,
.wysiwyg li {
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  line-height: inherit;
}
.wysiwyg a {
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
.wysiwyg a:hover {
  text-decoration: underline;
}
.wysiwyg b,
.wysiwyg strong {
  font-weight: bold;
}
.wysiwyg .wp-caption {
  width: 100% !important;
  margin-bottom: 35px;
}
.wysiwyg .wp-caption img {
  width: 100%;
  height: auto;
}
.wysiwyg .wp-caption-text {
  margin-top: 4px;
  margin-bottom: 0;
  font-family: arial, sans-serif;
  font-size: 11px;
  font-size: 1.1rem;
}
.wysiwyg .wp-caption-text:before {
  content: "Photo: ";
  font-weight: bold;
}
.wysiwyg .media {
  width: 100%;
  height: 0;
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%;
}
.wysiwyg .media iframe {
  width: 100%;
  position: absolute;
  height: 100%;
}
/**
 *
 * Button
 *
 * Diffrent buttons used in segments as links
 * and on submit buttons in form toolbars.
 *
 */
.btn {
  font-family: Sans-serif;
}
.btn--submit {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 18px 69px 17px 15px;
  border: 3px solid #0096e1;
  color: #0096e1;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  background: transparent;
  background-repeat: no-repeat;
  background-position: 100% 50%;
  font-size: 16px;
  font-size: 1.6rem;
}
.btn--submit:hover {
  color: #fff;
  background-color: #0096e1;
}
.btn--submit:hover:after {
  background: url('../img/arrow-down_wh.png') no-repeat;
}
.btn--submit:after {
  content: '';
  position: absolute;
  top: 15px;
  right: 25px;
  width: 27px;
  height: 29px;
  background: url('../img/arrow-down.png') no-repeat;
}
.btn--submit-calendar {
  border: 3px solid #fff;
  color: #fff;
}
.btn--submit-calendar:hover {
  background-color: #ef4662;
}
.btn--submit-calendar:after {
  content: '';
  position: absolute;
  top: 15px;
  right: 25px;
  width: 27px;
  height: 29px;
  background: url('../img/arrow-down_wh.png') no-repeat;
}
.btn--submit-contact {
  position: relative;
  border: 3px solid #fff;
  color: #fff;
  background: url('../img/arrow_26_wh.png') no-repeat right 10px center;
}
.btn--submit-school-map {
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}
.btn--archive {
  position: relative;
  display: inline-block;
  margin-top: 20px;
  padding: 19px 95px 19px 25px;
  text-align: center;
  border: 3px solid #fff;
  color: #fff;
}
.btn--archive:after {
  content: '';
  position: absolute;
  top: 15px;
  right: 30px;
  width: 29px;
  height: 26px;
  background: url(../img/sprites.png) no-repeat;
  background-position: -450px 0px;
  color: transparent;
}
.btn--archive:hover {
  background: #fff;
  transition: all .2s;
}
.btn--news:hover {
  color: #0096e1;
}
.btn--news:hover:after {
  background-position: -450px -150px;
}
.btn--faq:hover,
.btn--blog:hover {
  color: #149497;
}
.btn--faq:hover:after,
.btn--blog:hover:after {
  background-position: -450px -50px;
}
.btn--ext:after {
  position: absolute;
  top: 14px;
  right: 25px;
  width: 33px;
  height: 26px;
  background: url(../img/extarrow_26_wh.png) no-repeat 0 0;
  background-position: center center;
}
.btn--instagram:hover {
  color: #149497;
}
.btn--instagram:hover:after {
  background-image: url(../img/extarrow_26_green.png);
}
.btn--social:hover {
  color: #0096e1;
}
.btn--social:hover:after {
  background-image: url(../img/extarrow_26_blue.png);
}
.btn--calendar:hover {
  color: #ef4662;
}
.btn--calendar:hover:after {
  background-position: -450px -100px;
}
.btn--blog {
  top: 20px;
}
@media only screen and (min-width: 768px) {
  .btn--archive {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
  }
  .btn--faq,
  .btn--calendar,
  .btn--news {
    position: relative;
  }
}
@media only screen and (min-width: 1140px) {
  .btn--faq,
  .btn--calendar {
    position: absolute;
    top: 74px;
    right: 4%;
    bottom: auto;
  }
}
/**
 *
 * Button Hamburger
 *
 * Hamburger icon made of span elements.
 * Used for toggling mobile menu and other sites menu.
 *
 */
.menu-open .btn-hamburger {
  position: absolute;
  top: -8px;
  right: 0;
}
.btn-hamburger__span {
  display: block;
  width: 23px;
  height: 2px;
  margin-bottom: 5px;
  background-color: #fff;
  color: transparent;
}
.menu-open .btn-hamburger__span {
  background-color: transparent;
  color: #fff;
}
.menu-open .btn-hamburger__span--close {
  font-size: 30px;
  line-height: 30px;
  position: relative;
  left: 3px;
}
@media only screen and (min-width: 980px) {
  .btn-hamburger {
    position: absolute;
    top: 13px;
    right: 10px;
  }
  .menu-open .btn-hamburger {
    top: 8px;
    right: 10px;
  }
  .btn-hamburger__span {
    width: 12px;
    margin-bottom: 2px;
  }
  .menu-open .btn-hamburger__span--close {
    font-size: 20px;
    line-height: 20px;
    left: 0;
  }
}
/**
 *
 * Header Main
 *
 * The main header dispalyed at the top of all pages. Contains menu, logo and searchform.
 *
 */
.header-main {
  z-index: 1000;
  top: 0px;
  left: 0px;
  position: fixed;
  width: 100%;
}
.admin-bar .header-main,
.has-global-menu .header-main {
  position: absolute;
  top: 30px;
}
.has-global-menu.sticky .header-main {
  position: fixed;
  top: 0;
  -webkit-transform: rotateX(0);
}
.menu-open .header-main {
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
.header-main__navbar {
  height: 45px;
  background-color: rgba(0, 0, 0, 0.6);
}
.menu-open .header-main__navbar {
  position: relative;
  z-index: 900;
  background-color: rgba(0, 0, 0, 0);
}
.header-main__navbar-container {
  position: relative;
  margin-left: 4%;
  margin-right: 4%;
}
.header-main__menu-toggle {
  position: absolute;
  top: 15px;
  right: 0;
  cursor: pointer;
  font-family: 'Akkurat', sans-serif;
}
.header-main__menu-toggle-text {
  display: none;
}
.header-main__menu {
  display: none;
}
.menu-open .header-main__menu {
  display: block;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  width: 100%;
  height: calc(100% - 45px);
}
.has-global-menu .menu-open .header-main__menu {
  height: calc(100% - 90px);
}
.header-main__menu-container {
  padding: 20px 4%;
  background-color: #0096e1;
}
@media only screen and (min-width: 980px) {
  .header-main {
    position: absolute;
    left: 0;
    top: auto;
    padding: 45px 0 0 0;
    width: 100%;
    background: transparent;
    zoom: 1;
  }
  .header-main:before {
    content: '';
    display: block;
  }
  .header-main:after {
    content: '';
    display: table;
    clear: both;
  }
  .admin-bar.sticky .header-main {
    top: 31px;
  }
  .sticky .header-main {
    position: fixed;
    top: 0;
    left: 0;
    height: 37px;
    padding: 0;
    background-color: rgba(0, 0, 0, 0.7);
    -webkit-animation: headerAnimation 1s;
    animation: headerAnimation 1s;
  }
  .header-main__container {
    padding-left: 4%;
    padding-right: 4%;
  }
  .sticky .header-main__container {
    position: relative;
  }
  .header-main__navbar {
    height: auto;
    background-color: transparent;
  }
  .menu-open .header-main__navbar {
    -webkit-box-shadow: none;
    box-shadow: none;
    position: static;
  }
  .header-main__navbar-container {
    margin: 0;
  }
  .header-main__menu-toggle {
    position: fixed;
    top: 0;
    right: 0;
    width: 205px;
    height: 37px;
    background-color: rgba(0, 0, 0, 0.7);
    padding-right: 32px;
    padding-left: 10px;
    z-index: 900;
  }
  .sticky .header-main__menu-toggle {
    background-color: transparent;
    position: absolute;
    margin-right: -32px;
  }
  .menu-open .header-main__menu-toggle {
    background-color: transparent;
  }
  .has-global-menu .header-main__menu-toggle {
    display: none;
  }
  .header-main__menu-toggle-text {
    display: block;
    font-size: 12px;
    line-height: 37px;
  }
  .header-main__menu {
    display: block;
  }
  .header-main__menu-container {
    padding: 0;
    background-color: transparent;
  }
}
/**
 *
 * Menu Primary
 *
 * Menu primary is the the wrapper for the site's primary navigation.
 * It has three diffrent views: mobile, sticky and default desktop.
 *
 */
.menu-primary__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  zoom: 1;
  /**
         * TODO: Modify walker so we can use BEM classes
         */
}
.menu-primary__list:before {
  content: '';
  display: block;
}
.menu-primary__list:after {
  content: '';
  display: table;
  clear: both;
}
.menu-primary__list li {
  margin: 5px 0px;
}
.menu-primary__list a {
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 400;
  font-family: inherit;
}
@media only screen and (min-width: 980px) {
  .menu-primary {
    /**
         * TODO: Rewrite menu walker to generate BEM classes
         */
  }
  .sticky .menu-primary {
    position: absolute;
    top: -2px;
    width: 45%;
    margin-left: 120px;
  }
  .sticky .menu-primary__container {
    height: 37px;
  }
  .menu-primary__list {
    display: block;
    font-size: 18px;
    font-size: 1.8rem;
    font-family: 'SwedenSans', sans-serif;
    zoom: 1;
  }
  .menu-primary__list:before {
    content: '';
    display: block;
  }
  .menu-primary__list:after {
    content: '';
    display: table;
    clear: both;
  }
  .menu-primary__list li {
    float: left;
    list-style: none;
    margin: 10px 25px 0 0;
    width: auto;
    height: auto;
    line-height: 1.4;
  }
  .sticky .menu-primary__list li.visible {
    display: block;
    position: relative;
  }
  .sticky .menu-primary__list li.hidden {
    display: none;
  }
  .menu-primary__list li:last-child {
    margin-right: 0;
  }
  .menu-primary__list li a {
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: 0.06em;
    font-size: 15px;
    font-size: 1.5rem;
    transition: all .2s;
  }
  .menu-primary__list li a:hover {
    color: #005293;
    text-shadow: 0 1px rgba(255, 255, 255, 0.25);
  }
  .sticky .menu-primary__list li a {
    opacity: 0.8;
  }
  .sticky .menu-primary__list li a:hover {
    opacity: 1;
    color: #fff;
  }
  .menu-primary__list li.current-menu-item a,
  .menu-primary__list li.current-page-ancestor a {
    color: #005293;
    text-shadow: 0 1px rgba(255, 255, 255, 0.25);
  }
  .sticky .menu-primary__list li.current-menu-item a,
  .sticky .menu-primary__list li.current-page-ancestor a {
    opacity: 1;
    color: #ffffff;
    text-shadow: none;
  }
}
@media only screen and (min-width: 1280px) {
  .sticky .menu-primary {
    width: 50%;
  }
}
@media only screen and (min-width: 1340px) {
  .sticky .menu-primary {
    width: 55%;
  }
}
.menu-more {
  display: none;
}
@media only screen and (min-width: 980px) {
  .sticky .menu-more {
    display: block;
    position: absolute;
    top: 0;
    right: -170px;
    min-width: 155px;
    text-transform: uppercase;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .sticky .menu-more ul {
    margin: 0;
    padding: 0;
  }
  .sticky .menu-more li {
    list-style: none;
    float: none;
    margin: 0;
  }
  .sticky .menu-more a {
    display: block;
    height: 37px;
    padding: 0 10px;
    line-height: 37px;
    opacity: 0.8;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.7);
    text-decoration: none;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .sticky .menu-more a:hover {
    opacity: 1;
    color: #fff;
  }
  .sticky .menu-more__list {
    display: none;
    font-size: 0.85em;
  }
  .sticky .menu-more__list.select-open {
    display: none;
  }
  .sticky .keep .menu-more__list.select-open {
    display: block;
  }
  .sticky .menu-more__toggle {
    display: block;
    color: #fff;
    line-height: 1.4;
    padding: 0 10px;
    cursor: pointer;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.menu-global {
  position: relative;
  height: 30px;
  padding-right: 10px;
  padding-left: 10px;
  background-color: #FFCB05;
  font-size: 16px;
  font-size: 1.6rem;
  z-index: 10;
}
.shortfacts .menu-global {
  display: none;
}
.menu-global__list {
  position: relative;
  display: table;
  margin: 0;
  padding: 0;
  height: inherit;
  box-sizing: border-box;
  zoom: 1;
}
.menu-global__list:before {
  content: '';
  display: block;
}
.menu-global__list:after {
  content: '';
  display: table;
  clear: both;
}
.menu-global__list .menu-item {
  float: left;
  height: 29px;
  line-height: 26px;
  padding: 0;
  padding-top: 2px;
  padding-bottom: 2px;
  margin-right: 2px;
  box-sizing: border-box;
  text-align: center;
  list-style: none;
}
.menu-global__list .menu-item.current a,
.menu-global__list .menu-item.current-menu-item a {
  background-color: #122238;
  color: #FFCB05;
}
.menu-global__list a {
  display: block;
  height: 25px;
  padding-right: 7px;
  padding-left: 7px;
  font-size: inherit;
  color: #1a3050;
  text-decoration: none;
  transition: all .5s;
}
@media only screen and (min-width: 980px) {
  .menu-global {
    padding-right: 26px;
    padding-left: 26px;
  }
  .menu-global__list {
    display: block;
    left: -10px;
  }
  .menu-global__list a {
    font-size: 20px;
    font-size: 2rem;
  }
  .menu-global__list a:hover {
    background-color: #122238;
    color: #FFCB05;
  }
}
/**
 *
 * Menu article
 *
 * Menu article is added dynamically with javascript by
 * looking for all H2 in article and adding them as an
 * anchor link in the menu to the left of the article.
 *
 */
.menu-article {
  display: none;
}
@media only screen and (min-width: 980px) {
  .menu-article {
    display: block;
    float: left;
    width: 25%;
    top: 0;
    min-height: 1px;
    padding-right: 35px;
    text-align: left;
  }
  .sticky-wrapper .menu-article {
    width: 100%;
  }
  .menu-article.stuck {
    position: fixed;
    top: 75px;
    width: 23% !important;
  }
  .menu-article__content {
    display: none;
    padding: 31px 19px;
    background-color: #d2edf8;
  }
  .menu-article__item {
    margin-bottom: 15px;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  .menu-article__item-link {
    line-height: 1;
    color: #005293;
    font-family: 'Akkurat', sans-serif;
  }
  .menu-article__item-link:hover {
    text-decoration: underline;
  }
}
@media only screen and (min-width: 980px) {
  /* TODO: Consider moving this to a seperate block
        or rename with better BEM class */
  .sticky-wrapper {
    display: block;
    width: 25%;
    min-height: 1px;
    float: left;
  }
}
.pagination {
  padding: 30px 4%;
  background-color: #d2edf8;
}
.pagination__container {
  float: right;
  font-family: 'Akkurat', sans-serif;
}
.pagination__label {
  float: left;
  color: #0096e1;
  line-height: 54px;
  font-size: 1.25em;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
}
.pagination__search-term {
  text-decoration: underline;
  font-style: normal;
}
.pagination__item {
  display: none;
  float: left;
  margin-right: 10px;
  line-height: 54px;
  text-align: center;
}
.pagination__item:last-child {
  margin-right: 0;
}
.pagination__item--left,
.pagination__item--right {
  display: block;
  position: relative;
}
.pagination__item > a {
  display: block;
  min-width: 54px;
  line-height: 54px;
  text-align: center;
  color: #fff;
  background-color: #0096e1;
}
.pagination__item > a:hover {
  text-decoration: underline;
}
.pagination__item > span.current {
  display: block;
  min-width: 54px;
  line-height: 54px;
  text-align: center;
  color: #2f2c2d;
  background-color: #fff;
}
.pagination__item > span.dots {
  color: #2f2c2d;
}
.pagination__item-link {
  display: block;
  line-height: 54px;
  min-width: 54px;
  text-align: center;
  color: #fff;
  background-color: #0096e1;
}
.pagination__item-link--left:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -250px -200px;
  color: transparent;
  content: '';
  display: block;
  width: 35px;
  height: 35px;
  top: 16px;
  left: 14px;
}
.pagination__item-link--right:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -450px 0px;
  color: transparent;
  content: '';
  display: block;
  width: 35px;
  height: 35px;
  top: 16px;
  left: 14px;
}
@media only screen and (min-width: 768px) {
  .pagination__item {
    display: block;
  }
}
/*
Other sites menu
*/
.other-sites {
  background-color: #0096e1;
  padding: 0 4%;
}
.other-sites__title {
  display: block;
  height: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
  color: #fff;
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: normal;
  font-family: 'ZurichBT-BoldCondensed', sans-serif;
  text-align: left;
  text-transform: uppercase;
  line-height: 1.2;
  border-bottom: 1px solid #0074ae;
}
.other-sites__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.other-sites__item {
  padding: 15px 0;
  border-top: 1px solid #15b1ff;
  border-bottom: 1px solid #0074ae;
}
.other-sites__item:last-child {
  position: relative;
}
.other-sites__item:last-child:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}
.other-sites__item-link {
  text-decoration: none;
}
.other-sites__item-link:hover {
  text-decoration: none;
}
.other-sites__item-content {
  display: table;
  width: 100%;
}
.other-sites__item-description {
  display: table-cell;
  vertical-align: middle;
  width: 60%;
  line-height: 1.125;
}
.other-sites__item-title {
  margin-bottom: 5px;
  font-weight: normal;
  font-family: 'SwedenSans', sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #fff;
}
.other-sites__item-text {
  margin: 0;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #fff;
}
.other-sites__image-container {
  display: table-cell;
  width: 40%;
  height: auto;
  text-align: right;
  padding-top: 4px;
}
.other-sites__image-container img {
  width: 60%;
  max-width: 120px;
  height: auto;
}
@media only screen and (min-width: 980px) {
  .other-sites {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 0;
    z-index: 9;
    background-color: rgba(0, 0, 0, 0.8);
  }
  .menu-open .other-sites {
    display: table;
  }
  .other-sites__container {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
  .other-sites__wrap {
    display: inline-block;
    width: 80%;
    margin-top: -113px;
  }
  .other-sites__title {
    height: auto;
    margin-top: 34px;
    margin-bottom: 34px;
    padding: 0;
    font-size: 38px;
    font-size: 3.8rem;
    font-family: 'SwedenSans', sans-serif;
    text-align: center;
    border-bottom: none;
  }
  .other-sites__list {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 20px 0;
    zoom: 1;
  }
  .other-sites__list:before {
    content: '';
    display: block;
  }
  .other-sites__list:after {
    content: '';
    display: table;
    clear: both;
  }
  .other-sites__item {
    float: left;
    width: 50%;
    text-align: left;
    padding: 0 30px;
    border-top: none;
    border-bottom: none;
  }
  .other-sites__item:last-child:after {
    display: none;
  }
  .other-sites__item:nth-child(odd) {
    clear: both;
  }
  .other-sites__item-content {
    height: 120px;
  }
  .other-sites__description {
    width: 70%;
    vertical-align: top;
  }
  .other-sites__image-container {
    width: 30%;
    padding-bottom: 20px;
    vertical-align: middle;
  }
  .other-sites__item-title {
    margin-bottom: 6px;
    font-size: 19px;
    font-size: 1.9rem;
  }
  .other-sites__item-text {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 1260px) {
  .other-sites__wrap {
    width: 60%;
  }
}
/**
 *
 * FAQ
 *
 * FAQ block is used both inside a segment on the startpage
 * and in the FAQ page template. Modifiers ´--home´ and ´--page´
 * are used to seperate startpage from page template.
 *
 */
.faq {
  position: relative;
  color: #fff;
}
.faq--home {
  margin-top: 45px;
}
.faq--page {
  background-color: #149497;
}
.faq--page .faq__item,
.single .faq__item,
.page .faq__item {
  padding: 55px 4%;
  border-top: 1px solid #1fc7cb;
}
.faq--home .faq__item {
  margin-bottom: 55px;
}
.faq__item-title {
  min-height: 84px;
  margin-bottom: 3px;
  padding-left: 113px;
  padding-top: 15px;
  line-height: 1.2;
  font-size: 23px;
  font-size: 2.3rem;
  background-image: url(../img/faq-question-icon_84.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.faq--home .faq__item-title {
  min-height: 72px;
  padding-left: 97px;
  padding-bottom: 0;
  letter-spacing: 0.03em;
  font-size: 19px;
  font-size: 1.9rem;
  background-image: url(../img/faq-question-icon.png);
}
.faq__item-title:before {
  content: "“";
}
.faq__item-title:after {
  content: "”";
}
.faq__item-answer {
  margin-top: 2px;
  min-height: 84px;
  padding-left: 113px;
  background-image: url(../img/faq-answer-icon_84.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.faq--home .faq__item-answer {
  min-height: 72px;
  padding-left: 97px;
  background-image: url(../img/faq-answer-icon.png);
}
.faq__item-answer p {
  padding-top: 15px;
}
.faq--home .faq__item-answer p {
  line-height: 1.2;
  letter-spacing: .03em;
}
.faq--page .faq__item-answer p,
.single .faq__item-answer p,
.page .faq__item-answer p {
  vertical-align: middle;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
  line-height: 1.65;
  letter-spacing: .05em;
}
.faq__item-answer p:before {
  content: "- ";
}
.faq__item-answer a {
  color: #fff;
  text-decoration: underline;
}
.faq__item-answer a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .faq--home {
    margin-top: 70px;
  }
  .faq__col {
    float: left;
    width: 45%;
  }
  .faq__col:first-child {
    margin-right: 6.5%;
  }
}
/**
 *
 * Logo
 *
 * Site logo inside header. Logo shrinks when header is sticky.
 *
 */
.logo {
  position: absolute;
  left: 0;
  top: 10px;
  display: inline-block;
  width: 70px;
  height: 26px;
  background-image: url('../img/svg/study-logo.svg');
  background-size: contain;
  background-repeat: no-repeat;
}
.logo__title {
  font-size: 2rem;
  text-indent: -9999px;
}
.lt-ie9 .logo {
  display: block;
  position: relative;
  width: 211px;
  height: 110px;
  margin: 0;
}
.lt-ie9 .logo:after {
  content: '';
  position: absolute;
  top: 0;
  width: 211px;
  height: 100px;
  background: url(../img/logo.png) no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 980px) {
  .logo {
    position: relative;
    display: inline-block;
    margin: 0;
    left: 0;
    width: 211px;
    height: 135px;
  }
  .sticky .logo {
    width: 70px;
    height: 26px;
    top: 5px;
  }
}
/**
 *
 * Hero block
 *
 * This is the hero block used on top of all pages.
 * On startpage a segment acts as hero block (.segment--hero)
 *
 */
.hero {
  position: relative;
  overflow: hidden;
  background: #0096e1;
  color: #fff;
  /*----------  Testimonial hero  ----------*/
  /*----------  End Testimonial hero  ----------*/
}
.hero__container {
  padding: 100px 4% 4%;
  z-index: 100;
  position: relative;
}
.hero__content {
  width: 100%;
  font-size: 18px;
  font-size: 1.8rem;
}
.hero__content p {
  font-size: inherit;
  margin-bottom: 21px;
  line-height: 1.25;
}
.hero__content--testimonial {
  width: 100%;
  max-width: none;
}
.hero__testimonial-author {
  display: none;
}
.hero__testimonial-info {
  margin-bottom: 22px;
  text-transform: uppercase;
  font-size: 17px;
  font-size: 1.7rem;
}
.hero > .bg,
.hero__image {
  display: none;
}
.hero .lt-ie9 .bg,
.lt-ie9 .hero__image {
  display: none !important;
}
.hero__title {
  margin-bottom: 25px;
  font-size: 43px;
  font-size: 4.3rem;
  font-family: 'SwedenSans', sans-serif;
  font-weight: bold;
  color: inherit;
  letter-spacing: 0.02em;
}
.hero a {
  color: #fff;
  text-decoration: underline;
}
.hero a:hover {
  text-decoration: none;
}
.hero__text-wrap {
  width: 100%;
  max-width: 1230px;
  font-size: 17px;
  font-size: 1.7rem;
}
.hero__text-wrap p,
.hero__text-wrap a,
.hero__text-wrap span {
  font-size: inherit;
  margin-bottom: 30px;
}
@media only screen and (min-width: 480px) {
  .hero__title {
    font-size: 51px;
    font-size: 5.1rem;
  }
}
@media only screen and (min-width: 530px) {
  .hero__title {
    font-size: 61px;
    font-size: 6.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .hero__container {
    padding-bottom: 6%;
  }
  .hero > .bg,
  .hero__image {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 98;
    filter: alpha(opacity=30);
    opacity: 0.3;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
  }
}
@media only screen and (min-width: 980px) {
  .hero {
    /*----------  Testimonial hero  ----------*/
    /*----------  End Testimonial hero  ----------*/
  }
  .hero--home {
    min-height: 800px;
  }
  .hero__container {
    padding-top: 310px;
  }
  .hero__content {
    width: 80%;
    max-width: 1250px;
    font-size: 22px;
    font-size: 2.2rem;
  }
  .hero__content--testimonial {
    position: relative;
    width: 100%;
    max-width: none;
  }
  .hero__text-wrap {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .hero__title {
    font-size: 104px;
    font-size: 10.4rem;
  }
  .hero__title--search {
    font-size: 72px;
    font-size: 7.2rem;
  }
  .hero--testimonial .hero__title {
    font-size: 72px;
    font-size: 7.2rem;
  }
  .hero__title--small {
    font-size: 60px;
    font-size: 6rem;
  }
  .hero__text-container--testimonial {
    width: 50%;
    max-width: 895px;
    margin: 0 auto;
  }
  .hero__testimonial-info {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .hero__testimonial-author {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 18%;
    height: 100%;
    color: #fff;
    text-align: center;
  }
  .hero__testimonial-author-image {
    padding-right: 20%;
  }
  .hero__testimonial-author-image img {
    width: 100%;
    max-width: 260px;
    height: auto;
    border-radius: 50%;
  }
}
@media only screen and (min-width: 1280px) {
  .hero__testimonial-author {
    width: 20%;
  }
}
@media only screen and (min-width: 1340px) {
  .hero {
    min-height: 700px;
  }
  .hero--no-bg {
    min-height: 0;
  }
  .hero__content--news-archive {
    max-width: 840px;
  }
  .hero__title--news,
  .hero__title--search,
  .hero--testimonial .hero__title {
    font-size: 120px;
    font-size: 12rem;
  }
  .hero__title--small {
    font-size: 80px;
    font-size: 8rem;
  }
  .hero__testimonial-info {
    font-size: 30px;
    font-size: 3rem;
  }
}
@media only screen and (min-width: 1820px) {
  .hero__testimonial-author {
    width: 25%;
  }
}
/**
*
* Article
*
* Standard articles are displayed on default pages and posts
* using the default page template. Contains menu-article.
*
*/
.article {
  position: relative;
  padding: 2% 4% 4%;
  background-color: #fff;
  text-align: center;
}
.article--testimonial {
  position: relative;
}
.article__left {
  text-align: center;
}
.article__date {
  display: none;
}
.article__date--news {
  display: inline-block;
  margin-bottom: 20px;
  font-size: 16px;
  font-size: 1.6rem;
}
.article__fade-gradient {
  height: 30px;
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  background: -moz-linear-gradient(bottom, #ffffff 0%, rgba(229, 229, 229, 0) 100%);
  background: -webkit-gradient(linear, left bottom, left bottom, color-stop(0%, #ffffff), color-stop(100%, rgba(229, 229, 229, 0)));
  background: -webkit-linear-gradient(bottom, #ffffff 0%, rgba(229, 229, 229, 0) 100%);
  background: -o-linear-gradient(bottom, #ffffff 0%, rgba(229, 229, 229, 0) 100%);
  background: -ms-linear-gradient(bottom, #ffffff 0%, rgba(229, 229, 229, 0) 100%);
  background: linear-gradient(to top, #ffffff 0%, rgba(229, 229, 229, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00e5e5e5', endColorstr='#ffffff', GradientType=0);
}
@media only screen and (min-width: 980px) {
  .article__container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    zoom: 1;
  }
  .article__container:before {
    content: '';
    display: block;
  }
  .article__container:after {
    content: '';
    display: table;
    clear: both;
  }
  .article__content {
    float: left;
    width: 50%;
    max-width: 895px;
    overflow: hidden;
  }
  .article__right {
    margin-left: 25%;
  }
  .article__container--testimonial {
    position: static;
  }
  .article__left {
    position: absolute;
    top: 0;
    left: 0;
    width: 18%;
    height: 100%;
    padding-top: 2%;
    padding-bottom: 4%;
  }
  .article__left img {
    height: 100%;
    max-height: 285px;
    width: auto;
  }
}
@media only screen and (min-width: 1280px) {
  .article__left {
    width: 20%;
  }
}
@media only screen and (min-width: 1820px) {
  .article__left {
    width: 25%;
  }
}
/**
 *
 * Caption
 *
 * Caption is added to all images from QBank.
 *
 */
.caption {
  display: none;
}
@media only screen and (min-width: 768px) {
  .caption {
    display: inline-block;
    position: absolute;
    left: 4%;
    color: #fff;
    opacity: 0.7;
    font-family: sans-serif;
    font-size: 12.8px;
    font-size: 1.28rem;
    z-index: 199;
  }
  .caption a {
    color: #fff;
  }
  .segment .caption {
    bottom: 35px;
  }
  .hero .caption,
  .segment--hero .caption {
    bottom: 20px;
  }
  .lt-ie9 .caption {
    display: none !important;
  }
}
@media only screen and (min-width: 980px) {
  .hero .caption,
  .segment--hero .caption {
    bottom: 35px;
  }
}
/*
News list

Block for displaying the three latest posts
Part of a segment block
*/
.news-list {
  font-family: 'Akkurat', sans-serif;
}
.news-list__item {
  max-width: 800px;
  margin-bottom: 30px;
}
.news-list__item:hover {
  opacity: 0.7;
}
.lt-ie9 .news-list__item {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
.news-list__item-link {
  display: block;
  text-decoration: none;
}
.news-list__item-date {
  display: inline-block;
  min-width: 92px;
  margin-bottom: 32px;
  padding: 9px;
  background-color: #FFF;
  color: #000;
  text-transform: uppercase;
  font-size: 12px;
  font-size: 1.2rem;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  line-height: 1.3;
}
.news-list__item-title {
  margin: 0;
  padding: 0 0 15px 0;
  color: #fff;
  text-decoration: none;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
.news-list__item:first-child .news-list__item-title {
  font-size: 44px;
  font-size: 4.4rem;
}
.news-list__item-excerpt {
  text-decoration: none;
  font-family: 'Akkurat', sans-serif;
}
.news-list__btn {
  display: inline-block;
  min-width: 244px;
  padding: 19px 105px 19px 25px;
}
@media only screen and (min-width: 1140px) {
  .news-list__item {
    float: left;
    display: block;
    width: 48%;
    margin-bottom: 15px;
    position: relative;
  }
  .news-list__item:first-child {
    padding-top: 66px;
    padding-bottom: 66px;
  }
  .news-list__item:first-child a {
    position: relative;
  }
  .news-list__item:nth-child(n+2) {
    float: left;
    width: 40%;
    margin-top: 30px;
    margin-bottom: 20px;
  }
  .news-list__item:nth-child(n+2) a {
    padding: 33px 50px;
  }
  .news-list__item:first-child .news-list__item-title {
    font-size: 72px;
    font-size: 7.2rem;
  }
  .news-list__btn {
    position: absolute;
    right: 4%;
    bottom: 40px;
    width: auto;
    margin-bottom: 0;
  }
}
.news-archive__toolbar {
  padding: 4%;
  background-color: #d2edf8;
  color: #fff;
}
.news-archive__item {
  display: block;
  padding: 45px 4%;
  color: #2f2c2d;
  background-color: #f5f5f5;
  border-bottom: 1px solid #fff;
}
.news-archive__item-content {
  max-width: 720px;
}
.news-archive__item-date {
  display: block;
  margin-bottom: 15px;
  font-family: 'Akkurat', sans-serif;
}
.news-archive h2,
.news-archive p {
  color: inherit;
}
.news-archive h2 {
  margin-bottom: 13px;
  font-size: 20px;
  font-size: 2rem;
}
.segment {
  position: relative;
  width: 100%;
  color: #fff;
  /*------  Container for the WYSIWYG content  ------*/
}
.segment--hero {
  position: relative;
  overflow: hidden;
  background: #0096e1;
}
.segment--list {
  background-color: #f5f5f5;
}
.segment--blog-posts,
.segment--faq {
  background-color: #149497;
}
.segment__container {
  position: relative;
  z-index: 200;
}
.segment__container--padding {
  padding: 4%;
}
.segment--hero .segment__container {
  padding-top: 100px;
}
.segment__link,
.segment__item-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  zoom: 1;
}
.segment__link:before,
.segment__item-link:before {
  content: '';
  display: block;
}
.segment__link:after,
.segment__item-link:after {
  content: '';
  display: table;
  clear: both;
}
.segment__item-content {
  position: relative;
  z-index: 200;
  padding: 4%;
  overflow: visible;
}
.segment__item-content--half {
  padding-right: 12%;
}
.segment__item-content--half.segment__item-content--testimonial {
  padding-top: 8%;
}
.segment__item-content--page {
  padding-right: 10%;
}
.segment--hero .segment__item-content {
  padding-top: 100px;
}
.segment__text-container h3 {
  margin-bottom: 24px;
  line-height: 1.2;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  font-size: 28px;
  font-size: 2.8rem;
}
.segment__text-container p {
  font-family: 'Akkurat', sans-serif;
}
.segment__text-container--social-feeds {
  max-width: 800px;
}
.segment__text-container--heading h2 {
  line-height: 1.2;
  font-size: 32px;
  font-size: 3.2rem;
}
.segment__text-container--blog-posts p,
.segment__text-container--social-feeds p {
  font-size: 20px;
  font-size: 2rem;
}
.segment__title {
  color: inherit;
  text-transform: uppercase;
  /* Prevent long titles to break out of site width */
}
.segment__title--small,
.segment__title--default {
  padding-top: 10px;
  text-transform: none;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  font-size: 32px;
  font-size: 3.2rem;
}
.segment__title--large {
  font-family: 'SwedenSans', sans-serif;
  font-weight: bold;
  font-size: 40px;
  font-size: 4rem;
}
.segment__title--default {
  text-transform: none;
}
.segment__title--quote {
  margin-bottom: 0;
  line-height: 1.2;
  /* On startpage segment, use less line height */
}
.segment__title--quote:before,
.segment__title--quote:after {
  content: '‘';
}
.home .segment__title--quote {
  line-height: 1;
}
.segment__text--testimonial {
  padding-top: 20px;
  clear: both;
}
.segment__text--default {
  line-height: 1.4;
}
.segment__image-container {
  display: none;
}
.segment__image-container img {
  width: 100%;
  height: auto;
}
.segment .bg {
  display: none;
}
@media only screen and (min-width: 480px) {
  .segment__text-container--full p,
  .segment__text-container--default p {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .segment__title--large {
    font-size: 56px;
    font-size: 5.6rem;
  }
}
@media only screen and (min-width: 530px) {
  .segment {
    /* Used for transparent background image
        No BEM-class because of functiuon restriction */
  }
  .segment__item-content--full {
    width: 96%;
  }
  .segment__text-container--full,
  .segment__text-container--default {
    float: left;
    width: 55%;
    max-width: 860px;
  }
  .segment__text-container--default-left {
    float: right;
    width: 55%;
    max-width: 860px;
  }
  .segment__item-content--arrow .segment__text-container--full {
    width: 80%;
  }
  .segment__text-container h3 {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .segment--full .bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 198;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    filter: alpha(opacity=20);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
  }
  .segment__image-container--default {
    display: block;
    position: relative;
    float: left;
    width: 40%;
    max-width: 425px;
    margin-left: 4%;
    opacity: 0.5;
    transition: opacity .3s;
  }
  .segment--default:hover .segment__image-container--default {
    opacity: 1;
  }
  .segment__image-container--default-left {
    margin-left: 0;
    margin-right: 4%;
  }
}
@media only screen and (min-width: 768px) {
  .segment {
    /* Used for transparent background image
        No BEM-class because of functiuon restriction */
  }
  .segment__item--half {
    position: relative;
    float: left;
    width: 50%;
    height: 390px;
    overflow: hidden;
  }
  .segment__item-content--full {
    padding: 4%;
  }
  .segment__item-content--half {
    height: 350px;
    padding: 8% 5% 75px 8%;
  }
  .segment__item-content--page {
    height: 350px;
    overflow: hidden;
    padding: 8%;
    padding-bottom: 75px;
    padding-right: 5%;
  }
  .home .segment__item-content--testimonial {
    padding-bottom: 4%;
  }
  .segment__text-container--half {
    width: 100%;
    max-width: 680px;
  }
  .segment__text-container--half p {
    max-width: 535px;
  }
  .segment__text-container--blog-posts p,
  .segment__text-container--social-feeds p {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .segment__title--large {
    font-size: 80px;
    font-size: 8rem;
  }
  .segment .bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 198;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    filter: alpha(opacity=20);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
  }
}
@media only screen and (min-width: 980px) {
  .segment--hero {
    min-height: 800px;
  }
  .segment--hero .segment__container {
    padding-top: 330px;
  }
  .segment--hero .segment__item-content {
    padding-top: 330px;
  }
  .segment__text-container--heading h2 {
    font-size: 48px;
    font-size: 4.8rem;
  }
  .segment__title--small,
  .segment__title--default {
    font-size: 48px;
    font-size: 4.8rem;
  }
  .segment__title--quote {
    font-size: 32px;
    font-size: 3.2rem;
  }
}
@media only screen and (min-width: 1140px) {
  .segment__title--large {
    font-size: 104px;
    font-size: 10.4rem;
  }
  .segment__image-container--testimonial {
    display: block;
    float: right;
    width: 125px;
    margin-top: 13px;
    margin-left: 10%;
    margin-bottom: 50px;
    text-align: center;
  }
  .segment__image-container--testimonial img {
    width: 100%;
    height: auto;
    max-width: 125px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
  }
}
@media only screen and (min-width: 1340px) {
  .segment__text-container--half {
    max-width: 650px;
    width: 100%;
  }
  .segment__text-container--heading h2 {
    font-size: 60px;
    font-size: 6rem;
  }
  .segment__title--small,
  .segment__title--default {
    font-size: 61px;
    font-size: 6.1rem;
  }
  .segment__title--quote {
    font-size: 40px;
    font-size: 4rem;
  }
}
/**
 *
 * Blog posts
 *
 * Block for displaying the latest post from student blog
 * Part of a segment block
 *
 */
.blog-posts {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  zoom: 1;
}
.blog-posts:before {
  content: '';
  display: block;
}
.blog-posts:after {
  content: '';
  display: table;
  clear: both;
}
.blog-posts__title {
  margin-bottom: 24px;
  line-height: 1.2;
  font-size: 29px;
  font-size: 2.9rem;
}
.blog-posts__item {
  margin-bottom: 30px;
}
.blog-posts__item-link {
  display: block;
  color: #fff;
}
.blog-posts__item-link:hover {
  opacity: 0.7;
}
.blog-posts__item-title {
  margin-top: 15px;
  margin-bottom: 15px;
  color: inherit;
  line-height: 1.2;
  font-weight: bold;
  font-family: 'SwedenSans', sans-serif;
  font-size: 22px;
  font-size: 2.2rem;
}
.blog-posts__item-content {
  margin-bottom: 15px;
  line-height: 1.4;
  font-family: 'Akkurat', sans-serif;
}
.blog-posts__author-info {
  line-height: 1.2;
  zoom: 1;
}
.blog-posts__author-info:before {
  content: '';
  display: block;
}
.blog-posts__author-info:after {
  content: '';
  display: table;
  clear: both;
}
.blog-posts__author-info img {
  float: left;
  width: 50px;
  height: auto;
  margin-right: 6px;
  border-radius: 50%;
}
.blog-posts__author-info:before {
  display: table;
}
.blog-posts__author-name {
  margin-top: 10px;
  margin-bottom: 5px;
  font-family: 'SwedenSans', sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
}
.blog-posts__item-date {
  font-family: 'Akkurat', sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 530px) {
  .blog-posts {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media only screen and (min-width: 768px) {
  .blog-posts {
    padding-bottom: 80px;
  }
  .blog-posts__item {
    float: left;
    width: 48%;
  }
  .blog-posts__item:first-of-type {
    margin-right: 4%;
  }
  .blog-posts__title {
    font-size: 40px;
    font-size: 4rem;
  }
  .blog-posts__item-content {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .blog-posts__author-info img {
    margin-right: 10px;
  }
  .blog-posts__btn {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
  }
}
@media only screen and (min-width: 1340px) {
  .blog-posts__item-title {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
/**
 *
 * Instagram posts
 *
 * Block used inside a segment. Contains the three latest
 * updates from Instagram with image and caption text.
 *
 */
.instagram-posts {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  zoom: 1;
}
.instagram-posts:before {
  content: '';
  display: block;
}
.instagram-posts:after {
  content: '';
  display: table;
  clear: both;
}
.instagram-posts__title {
  margin-bottom: 24px;
  line-height: 1.2;
  font-size: 29px;
  font-size: 2.9rem;
}
.instagram-posts__item {
  position: relative;
  margin-bottom: 15px;
}
.instagram-posts__item-caption {
  position: absolute;
  bottom: 0;
  padding: 0 20px 20px;
  text-shadow: 0 1px 2px #000;
  z-index: 1;
}
.instagram-posts__item-link {
  color: #fff;
}
.instagram-posts__item-description {
  line-height: 1.2;
  font-family: 'SwedenSans', sans-serif;
  font-weight: bold;
}
.instagram-posts__item-date {
  font-family: 'Akkurat', sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  text-shadow: 0 1px 2px #000;
  line-height: 1.4;
}
.instagram-posts__item-overlay {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
}
.instagram-posts__item:hover .instagram-posts__item-overlay {
  opacity: 0.3;
}
.instagram-posts img {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .instagram-posts {
    padding-bottom: 80px;
  }
  .instagram-posts__title {
    font-size: 40px;
    font-size: 4rem;
  }
  .instagram-posts__item {
    float: left;
    width: 32%;
    margin-right: 2%;
  }
  .instagram-posts__item:last-of-type {
    margin-right: 0;
  }
  .instagram-posts__item-caption {
    padding-bottom: 0;
  }
  .instagram-posts__item-description {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .instagram-posts__btn {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
  }
}
@media only screen and (min-width: 1140px) {
  .instagram-posts__item-caption {
    padding-bottom: 20px;
  }
  .instagram-posts__item-description {
    margin: 0;
    font-size: 24px;
    font-size: 2.4rem;
  }
}
/*
Social feeds

Block for displaying updates from Facebook and Twitter
Part of a segment block
*/
.social-feed {
  position: relative;
  padding-top: 6%;
  padding-bottom: 6%;
}
.social-feed__title {
  margin-bottom: 24px;
  line-height: 1.2;
  font-size: 40px;
  font-size: 4rem;
}
.social-feed__item {
  margin-top: 20px;
}
.social-feed__item--twitter {
  background-image: url(../img/feed-icon.png);
  background-repeat: no-repeat;
  padding-top: 60px;
}
.social-feed__item img {
  width: 100%;
  margin-bottom: 10px;
}
.social-feed__item-link {
  display: block;
}
.social-feed__item-img {
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 50%;
  background-size: cover;
  background-position: center;
}
.social-feed__item-text {
  line-height: 1.25;
  font-size: 19px;
  font-size: 1.9rem;
}
.social-feed__item:hover .social-feed__item-text {
  opacity: 0.7;
}
.social-feed__btn {
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .social-feed {
    padding-top: 0;
    padding-bottom: 100px;
  }
  .social-feed--facebook {
    padding-top: 24px;
  }
  .social-feed__item {
    display: table-cell;
    width: 50%;
  }
  .social-feed__item:nth-child(2n) {
    padding-right: 3%;
  }
  .social-feed__item:nth-child(2n+1) {
    padding-left: 3%;
  }
  .social-feed__item--twitter:nth-child(2n+1) {
    background-position: 6% 0;
  }
  .social-feed__btn {
    position: absolute;
    bottom: 0;
    right: 0;
    top: auto;
  }
}
/**
 *
 * Calendar Overview
 *
 * The block is used in the calendar segment on startpage.
 * Part of a segment block.
 *
 */
.calendar-overview {
  zoom: 1;
}
.calendar-overview:before {
  content: '';
  display: block;
}
.calendar-overview:after {
  content: '';
  display: table;
  clear: both;
}
.calendar-overview__list--featured {
  margin-bottom: 10px;
  transition: all 0.3s;
}
.lt-ie9 .calendar-overview__list--featured {
  width: 100%;
  margin: 0 0 10px 0;
}
.lt-ie9 .calendar-overview__list--featured p {
  max-width: 800px;
}
.lt-ie9 .calendar-overview__list--other {
  width: 100%;
  margin: 0;
}
.calendar-overview__item {
  display: table;
  width: 100%;
  height: 114px;
  margin-bottom: 1px;
  vertical-align: middle;
  border-spacing: 1px 0;
  color: #fff;
}
.lt-ie9 .calendar-overview__item {
  display: table;
  width: 100%;
  height: 114px;
  margin: 0 0 1px 0;
  vertical-align: middle;
  border-spacing: 1px 0;
  color: #fff;
}
.calendar-overview__item-link {
  display: table-row;
}
.calendar-overview__item-date {
  display: table-cell;
  width: 113px;
  padding-top: 25px;
  text-align: center;
  color: #fff;
  background-color: #f56c82;
  transition: all 0.3s;
}
.calendar-overview__item:hover .calendar-overview__item-date {
  color: #f56c82;
  background-color: #fff;
}
.calendar-overview__item-date h3 {
  display: inline-block;
  margin: 0;
  line-height: 0;
  text-transform: uppercase;
  font-size: 24px;
  font-size: 2.4rem;
  font-family: 'Akkurat', sans-serif;
}
.calendar-overview__item-date h4 {
  margin: 0;
  margin-top: 2px;
  line-height: 0.9;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  font-size: 65px;
  font-size: 6.5rem;
}
.calendar-overview__item-description {
  display: table-cell;
  padding: 20px;
  vertical-align: middle;
  color: #fff;
  background-color: #f56c82;
  transition: all 0.3s;
}
.calendar-overview__item:hover .calendar-overview__item-description {
  color: #f56c82;
  background-color: #fff;
}
.calendar-overview__item-description h3 {
  margin-bottom: 0;
  font-family: 'Akkurat', sans-serif;
  line-height: 1.2;
  font-size: 18px;
  font-size: 1.8rem;
}
.calendar-overview__item--featured .calendar-overview__item-description h3 {
  margin-bottom: 10px;
}
.calendar-overview__item-description p {
  color: inherit;
  line-height: 1.2;
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (min-width: 1140px) {
  .calendar-overview__list--featured {
    float: left;
    width: 33%;
    margin-bottom: 0;
    background-color: #f56c82;
  }
  .calendar-overview__list--featured:hover {
    background-color: #fff;
  }
  .calendar-overview__list--other {
    position: relative;
    float: left;
    width: 67%;
  }
  .calendar-overview__item--other {
    float: left;
    width: 48%;
    margin-left: 2%;
    display: table;
    vertical-align: middle;
  }
  .calendar-overview__item--featured {
    width: 100%;
    height: 343px;
    margin-left: 0;
    border-spacing: 0;
  }
  .lt-ie9 .calendar-overview__item--featured {
    height: 343px;
  }
  .calendar-overview__item-date--featured {
    display: block;
    width: auto;
    text-align: left;
    padding: 25px 23px 18px 23px;
  }
  .calendar-overview__item-date--featured h4 {
    margin: 2px 0 11px -5px;
    line-height: 0.8;
    font-size: 120px;
    font-size: 12rem;
  }
  .calendar-overview__item--featured .calendar-overview__item-description {
    display: block;
    padding: 0 23px;
    vertical-align: middle;
  }
}
/**
 * Calendar Archive
 *
 * The block is used in the si-calendar-archive template.
 * Contains form-toolbar block.
 *
 */
.calendar-archive {
  color: #fff;
  background-color: #ef4662;
}
.calendar-archive__toolbar {
  padding: 20px 4% 30px 4%;
  background-color: #f56c82;
}
.calendar-archive__header {
  padding-top: 29px;
  padding-bottom: 22px;
  border-bottom: 1px solid #f56c82;
}
.calendar-archive__header-container {
  width: 90%;
  margin-left: 4%;
  margin-right: 4%;
}
.calendar-archive__header-date {
  display: inline-block;
  margin: 0;
  font-size: 48px;
  font-size: 4.8rem;
}
.calendar-archive__header-date-span--low-res {
  display: block;
}
.calendar-archive__header-date-span--high-res {
  display: none;
}
.calendar-archive__item {
  display: table;
  width: 100%;
  vertical-align: top;
  border-bottom: 1px solid #f56c82;
}
.calendar-archive__item-date {
  display: table-cell;
  height: 100px;
  min-width: 100px;
  padding-top: 13px;
  vertical-align: top;
  text-align: center;
  border-right: 1px solid #f56c82;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  font-size: 40px;
  font-size: 4rem;
}
.calendar-archive__item-description {
  display: table-cell;
  width: 100%;
  padding: 20px;
  vertical-align: middle;
}
.calendar-archive__item-title {
  margin-bottom: 13px;
  opacity: 1;
  font-size: 20px;
  font-size: 2rem;
}
.calendar-archive__item-text-container p {
  margin-bottom: 24px;
  line-height: 1.5;
}
.calendar-archive__item-text-container a {
  color: inherit;
  font-family: inherit;
  text-decoration: underline;
}
.calendar-archive__item-text-container a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .calendar-archive__header-date {
    font-size: 65px;
    font-size: 6.5rem;
  }
  .calendar-archive__header-date-span--low-res {
    display: none;
  }
  .calendar-archive__header-date-span--high-res {
    display: block;
  }
  .calendar-archive__item-description {
    padding: 45px 20px;
  }
  .calendar-archive__item-date {
    height: 180px;
    min-width: 115px;
    padding-top: 52px;
    vertical-align: top;
    font-size: 65px;
    font-size: 6.5rem;
  }
}
@media only screen and (min-width: 980px) {
  .calendar-archive__item-container {
    max-width: 1680px;
    padding-left: 4%;
    padding-right: 4%;
  }
  .calendar-archive__item-text-container {
    width: 70%;
  }
  .calendar-archive__item-date {
    text-align: left;
  }
}
/**
 *
 * Footer Main
 *
 * Footer block contains diffrent menus depending on site
 * and widget content as text or links. Most menu classes
 * are wordpress generated and don't follow BEM structure.
 *
 */
.footer-main {
  position: relative;
  width: 100%;
  background-color: #ffcb05;
  font-family: 'Akkurat', sans-serif;
  /*----------  Footer Widgets  ----------*/
  /*----------  Footer menu - policy links ----------*/
  /*----------  Footer menu - other languages  ----------*/
  /*----------  Footer menu - links  ----------*/
  /*----------  Footer menu - social links  ----------*/
  /*----------  Footer menu - page links  ----------*/
}
.footer-main__container {
  padding: 4%;
}
.footer-main__content {
  color: #005b95;
}
.footer-main__content .textwidget {
  max-width: 560px;
  margin-bottom: 20px;
}
.footer-main__content h2 {
  margin-bottom: 10px;
  color: inherit;
  font-size: 48px;
  font-size: 4.8rem;
}
.footer-main__content h2:nth-of-type(2) {
  margin-top: 45px;
}
.footer-main__content p,
.footer-main__content div {
  line-height: 1.2;
}
.footer-main__content a {
  display: inline-block;
  padding-right: 18px;
  position: relative;
  color: inherit;
  text-decoration: underline;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
}
.footer-main__content a:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -300px -200px;
  color: transparent;
  content: '';
  width: 15px;
  height: 15px;
  top: 3px;
  right: 0;
}
.footer-main__content a:hover {
  text-decoration: none;
}
.footer-main__content a:hover:after {
  position: absolute;
  top: 3px;
  right: -5px;
  transition: right 0.25s;
}
.footer-main__content p {
  margin-bottom: 22px;
  color: #005b95;
}
.footer-main #menu-footer-policy-links {
  display: inline-block;
  margin-bottom: 20px;
}
.footer-main #menu-footer-policy-links li {
  display: block;
  margin-bottom: 5px;
}
.footer-main #menu-footer-policy-links li:first-child {
  margin-left: 0;
}
.footer-main #menu-other-languages-footer {
  display: inline-block;
  margin-bottom: 20px;
}
.footer-main #menu-other-languages-footer a:after {
  display: none;
}
.lt-ie9 .footer-main .menu-footer-links-container li {
  border: none !important;
}
.footer-main .menu-footer-links-container {
  max-width: 446px;
  margin-top: 29px;
  width: 100%;
}
.footer-main .menu-footer-links-container ul.nav-menu {
  margin-bottom: 11px;
  width: 100%;
}
.footer-main .menu-footer-links-container li {
  display: table;
  width: 100%;
  border-top: 2px solid #005b95;
  border-left: 2px solid #005b95;
  border-right: 2px solid #005b95;
}
.footer-main .menu-footer-links-container li:last-child {
  border-bottom: 2px solid #005b95;
}
.footer-main .menu-footer-links-container .menu-footer-links-container li {
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
}
.footer-main .menu-footer-links-container .menu-wrapper {
  width: 100%;
  height: 90px;
  vertical-align: middle;
  text-align: center;
  display: table-cell;
}
.lt-ie9 .footer-main .menu-footer-links-container .menu-wrapper {
  text-align: left;
}
.footer-main .menu-footer-links-container a {
  display: inline-block;
  position: relative;
}
.footer-main .menu-footer-links-container a span {
  display: none;
}
.footer-main .menu-footer-links-container a:after {
  display: none;
}
.footer-main .menu-footer-links-container .sweden a {
  width: 179px;
  height: 53px;
}
.footer-main .menu-footer-links-container .sweden a:before {
  content: '';
  position: absolute;
  top: 3px;
  left: 0;
  width: inherit;
  height: inherit;
  background: url(../img/svg/sweden-blue.svg) no-repeat;
  background-size: contain;
}
.lt-ie9 .footer-main .menu-footer-links-container .sweden a {
  background: url(../img/logo_si.png) no-repeat;
}
.footer-main .menu-footer-links-container .si a {
  width: 68px;
  height: 46px;
}
.footer-main .menu-footer-links-container .si a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
  background: url(../img/svg/si-blue.svg) no-repeat;
  background-size: contain;
}
.lt-ie9 .footer-main .menu-footer-links-container .si a {
  background: url(../img/si-blue.png) no-repeat;
}
.lt-ie9 .footer-main .menu-footer-social-links-container li:after {
  background: #e6b705;
}
.footer-main .menu-footer-social-links-container ul {
  display: inline-block;
  float: right;
  margin-top: 75px;
  margin-right: 20px;
  padding: 0;
}
.footer-main .menu-footer-social-links-container ul li {
  position: relative;
  float: left;
  width: 45px;
  height: 45px;
  list-style: none;
  z-index: 199;
  margin-right: 1px;
}
.footer-main .menu-footer-social-links-container ul li:after {
  background: #000000;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: '';
  z-index: 198;
  opacity: 0.1;
}
.footer-main .menu-footer-social-links-container ul li.mail a {
  width: 27px;
  height: 20px;
}
.footer-main .menu-footer-social-links-container ul li.mail a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -150px -150px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.facebook a {
  width: 16px;
  height: 32px;
}
.footer-main .menu-footer-social-links-container ul li.facebook a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -200px -150px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.twitter a {
  width: 33px;
  height: 27px;
}
.footer-main .menu-footer-social-links-container ul li.twitter a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -250px -150px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.vimeo a {
  width: 31px;
  height: 27px;
}
.footer-main .menu-footer-social-links-container ul li.vimeo a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -300px -150px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.youtube a {
  width: 29px;
  height: 35px;
}
.footer-main .menu-footer-social-links-container ul li.youtube a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -350px -150px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.instagram a {
  width: 30px;
  height: 30px;
}
.footer-main .menu-footer-social-links-container ul li.instagram a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -400px -150px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.youku a {
  width: 32px;
  height: 23px;
}
.footer-main .menu-footer-social-links-container ul li.youku a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -250px -350px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.weibo a {
  width: 32px;
  height: 28px;
}
.footer-main .menu-footer-social-links-container ul li.weibo a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -300px -350px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li.wechat a {
  width: 32px;
  height: 28px;
}
.footer-main .menu-footer-social-links-container ul li.wechat a:before {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -200px -350px;
  color: transparent;
  content: '';
}
.footer-main .menu-footer-social-links-container ul li a {
  width: 50%;
  height: 50%;
  overflow: auto;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 200;
}
.footer-main .menu-footer-social-links-container ul li a span {
  display: none;
}
.footer-main .menu-footer-page-links-container {
  width: 100%;
  height: 142px;
  margin-bottom: 35px;
  padding-top: 6px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5b604;
  font-size: 15px;
  font-size: 1.5rem;
}
.footer-main .menu-footer-page-links-container ul a {
  display: inline-block;
  padding-right: 20px;
  margin-bottom: 10px;
  text-decoration: none;
  background: url('../img/link_cb_arrow_hover.png') no-repeat center right;
}
.footer-main .menu-footer-page-links-container ul a:hover {
  padding-right: 25px;
  transition: padding-right 0.15s;
}
.footer-main__slogan {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer-main .menu-footer-links-container {
    max-width: 446px;
  }
  .footer-main .menu-footer-links-container li {
    float: left;
    width: 50%;
    border-top: 2px solid #005b95;
    border-bottom: 2px solid #005b95;
    border-right: none;
  }
  .footer-main .menu-footer-links-container li:last-child {
    border-right: 2px solid #005b95;
  }
}
@media only screen and (min-width: 980px) {
  .footer-main__content {
    float: left;
    width: 47%;
  }
  .footer-main__content h2 {
    font-size: 64px;
    font-size: 6.4rem;
  }
  .footer-main__slogan {
    display: block;
    float: left;
    width: 47%;
    max-width: 470px;
    margin-top: 28px;
  }
  .footer-main__slogan-img {
    width: 100%;
  }
}
@media only screen and (min-width: 1280px) {
  .footer-main #menu-footer-policy-links li,
  .footer-main #menu-other-languages-footer li {
    display: inline-block;
    margin-right: 45px;
  }
}
/*
Search result

A list view for presenting search results
*/
.search-result {
  padding: 4%;
  background-color: #fff;
}
.search-result__item {
  margin-top: 50px;
}
.search-result__item:first-child {
  margin-top: 0;
}
.search-result__item-thumbnail {
  display: none;
}
.search-result__item-title {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 10px;
  font-size: 18px;
  font-size: 1.8rem;
}
.search-result__item-title:hover {
  text-decoration: underline;
}
.search-result__item-link {
  display: block;
  color: #2f2c2d;
}
.search-result__item-link--permalink {
  text-decoration: underline;
  line-height: 1.3;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}
.search-result__item-link--permalink:hover {
  text-decoration: none;
}
.search-result__item-link--permalink:after {
  content: "";
  display: inline-block;
  position: relative;
  top: 2px;
  width: 13px;
  height: 13px;
  margin-left: 15px;
  background-image: url(../img/arrow_13_bl.png);
  background-repeat: no-repeat;
}
.search-result__item-label {
  display: inline-block;
  position: relative;
  top: -2px;
  margin-bottom: 10px;
  padding: 6px 8px;
  font-family: 'SwedenSans', sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  background: #d2edf8;
  color: #0096e1;
  text-transform: uppercase;
}
.search-result__item-excerpt {
  margin-bottom: 20px;
  line-height: 1.3;
  color: #2f2c2d;
}
@media only screen and (min-width: 768px) {
  .search-result__item-thumbnail {
    display: block;
    float: left;
    margin-right: 20px;
  }
}
.menu-breadcrumb {
  display: none;
}
@media only screen and (min-width: 980px) {
  .menu-breadcrumb {
    display: inline-block;
    position: absolute;
    top: 240px;
    margin-top: 22px;
    padding: 10px 125px 10px 4%;
    text-align: left;
    background-color: #d2edf8;
    z-index: 200;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .has-global-menu .menu-breadcrumb {
    top: 240px;
  }
  .menu-breadcrumb__item {
    display: inline-block;
    float: left;
    font-size: inherit;
    font-family: 'Akkurat', sans-serif;
    color: #0096e1;
    line-height: 1.2;
  }
  .menu-breadcrumb__item-link {
    margin-right: 6px;
    white-space: nowrap;
    font-family: 'Akkurat', sans-serif;
    font-weight: bold;
    font-size: inherit;
    color: #005293;
  }
  .menu-breadcrumb__item-link:after {
    content: "/";
    display: inline-block;
    margin-left: 6px;
    text-decoration: none !important;
  }
  .menu-breadcrumb__item-link:hover {
    text-decoration: underline;
  }
  .menu-breadcrumb__item-link:hover:after {
    text-decoration: none !important;
  }
}
@media only screen and (min-width: 1200px) {
  .has-global-menu .menu-breadcrumb {
    top: 240px;
  }
}
@media only screen and (min-width: 1340px) {
  .menu-breadcrumb {
    padding: 16px 175px 15px 4%;
  }
}
/**
 *
 * Expander links
 *
 * Expander links are used to toggle calender or FAQ items with too long text.
 * .read-less and .read-more links are generated from the jQuery expander plugin.
 *
 */
.expander-links .read-more,
.expander-links__read-more {
  padding-left: 4px;
}
.expander-links .read-more a,
.expander-links__read-more a {
  padding-left: 4px;
}
.expander-links .read-more a:after,
.expander-links__read-more a:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -150px -200px;
  color: transparent;
  content: '';
  width: 14px;
  height: 15px;
  top: 5px;
  right: 0;
}
.expander-links__read-more--right {
  float: right;
  margin-bottom: 20px;
}
.expander-links .read-less,
.expander-links__read-less {
  display: block;
  width: 100%;
  margin-top: 8px;
  clear: both;
}
.expander-links .read-less a:after,
.expander-links__read-less a:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -200px -200px;
  color: transparent;
  content: '';
  width: 14px;
  height: 15px;
  top: 2px;
  right: 0;
}
.expander-links .read-more a,
.expander-links .read-less a,
.expander-links__read-more-link,
.expander-links__read-less-link {
  position: relative;
  display: inline-block;
  padding-right: 20px;
  text-decoration: underline;
  letter-spacing: 0.05em;
  color: #fff;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  cursor: pointer;
}
.expander-links .read-more a:hover,
.expander-links .read-less a:hover,
.expander-links__read-more-link:hover,
.expander-links__read-less-link:hover {
  text-decoration: none;
}
/*
Scholarships list page

The block is used in the si-scholarship-list-page template.
Contains form-toolbar block.
*/
.scholarships__toolbar {
  padding: 48px 4% 58px 4%;
  background-color: #d2edf8;
  color: #fff;
}
.scholarships__toolbar-title {
  margin-bottom: 35px;
  color: #0096e1;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
  font-size: 30px;
  font-size: 3rem;
}
.scholarships__item-link {
  color: #fff;
}
.scholarships__item-container,
.scholarships__no-result {
  padding: 38px 4%;
  border-bottom: 1px solid #fff;
}
.scholarships__item-title {
  max-width: 980px;
  font-size: 25px;
  font-size: 2.5rem;
}
.scholarships__item-text {
  line-height: 1.4;
}
.scholarships__no-result-link {
  color: inherit;
  text-decoration: underline;
}
.scholarships .details {
  display: block;
}
/**
 *
 * Education
 *
 * Education block is used in si-education-landing-page template
 * and lists all available programmes. Contains form-toolbar block.
 *
 */
.education__toolbar {
  padding: 4%;
  background-color: #d2edf8;
}
.education__toolbar-title {
  margin-bottom: 15px;
  line-height: 1.25;
  color: #0096e1;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
  font-size: 25px;
  font-size: 2.5rem;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7);
}
.education__toolbar-description {
  margin-bottom: 40px;
  color: #0096e1;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
}
.education__result {
  color: #fff;
}
.education__result-title {
  margin-bottom: 0;
  padding-top: 7%;
  padding-left: 4%;
  padding-bottom: 6%;
}
.education__list {
  border-top: 1px solid #fff;
}
.education__item {
  border-bottom: 1px solid #d2ecf9;
  overflow: hidden;
}
.education__item-container {
  padding: 22px 4%;
  line-height: 1.5;
}
.education__item-title {
  margin-bottom: 30px;
  line-height: 1.3;
  font-size: 30px;
  font-size: 3rem;
}
.education__item-title-link {
  color: inherit;
}
.education__item-title-link:hover {
  text-decoration: underline;
}
.education__item-link {
  color: #005293;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
  font-weight: bold;
}
.education__item-link:hover {
  text-decoration: underline;
}
.education__item-text {
  line-height: 1.5;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
}
.education__item-text--program {
  display: inline-block;
}
.education__item-description {
  display: none;
  font-family: 'Akkurat', sans-serif;
}
.education__item-description p {
  margin-bottom: 15px;
}
.education__item-description a {
  color: #005293;
  font-style: italic;
  font-weight: bold;
}
.education__item-description .expander-links__read-less a {
  font-style: normal;
  color: #f5f5f5;
}
.education__item-description-text {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .education__result-title {
    padding-top: 2%;
    padding-bottom: 2%;
    font-size: 32px;
    font-size: 3.2rem;
  }
}
@media only screen and (min-width: 980px) {
  .education__toolbar-description {
    margin-bottom: 60px;
  }
  .education__result-title {
    font-size: 74px;
    font-size: 7.4rem;
  }
}
/**
 *
 * School
 *
 * The block contains toolbar and listing of universities (placemarks).
 * Used in si-school-map template.
 *
 */
.school {
  background-color: #fff;
}
.school__toolbar {
  padding: 4%;
  background-color: #d2edf8;
}
.lt-ie9 .school__toolbar {
  display: none;
}
.school__toolbar-title {
  margin-bottom: 15px;
  line-height: 1.25;
  color: #0096e1;
  font-family: 'Akkurat', sans-serif;
  font-weight: normal;
  font-style: italic;
  font-size: 25px;
  font-size: 2.5rem;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7);
}
.school__toggle-filter-link {
  color: #0096e1;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
  text-decoration: underline;
}
.school__toggle-filter-link:hover {
  text-decoration: none;
}
.school__toggle-filter-link:after {
  content: '';
  width: 12px;
  height: 13px;
  margin-left: 5px;
  display: inline-block;
  background-image: url('../img/sprites.png');
  background-repeat: no-repeat;
}
.school__toggle-filter-link--open:after {
  background-position: -400px -250px;
}
.school__toggle-filter-link--close:after {
  background-position: -450px -250px;
}
.school__placemark-container {
  padding: 3% 4% 4%;
  background-color: #fff;
}
.school__placemark-list {
  margin-top: 16px;
  margin-bottom: 16px;
  font-family: 'Akkurat', sans-serif;
}
.school__placemark-item {
  margin-bottom: 10px;
}
.school__placemark-item-link {
  font-size: 15px;
  font-size: 1.5rem;
  color: #0096e1;
}
.school__placemark-item-link:hover {
  text-decoration: underline;
}
.school__placemark-title {
  font-family: 'Akkurat', sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (min-width: 500px) {
  .school__placemark-list {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
  }
  .page-template-si-school-map-ch-php .school__placemark-list {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
  }
}
@media only screen and (min-width: 768px) {
  .school__placemark-list {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 40px;
    -webkit-column-gap: 40px;
    column-gap: 40px;
  }
  .page-template-si-school-map-ch-php .school__placemark-list {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
  }
}
@media only screen and (min-width: 980px) {
  .school__placemark-list {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
  }
  .page-template-si-school-map-ch-php .school__placemark-list {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}
.school-single {
  background-color: #0096e1;
}
.school-single__container {
  padding-top: 100px;
}
.school-single__title {
  max-width: 1250px;
  margin-bottom: 35px;
  padding-right: 4%;
  padding-left: 4%;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-family: 'SwedenSans', sans-serif;
  font-weight: bold;
  color: #fff;
  font-size: 32px;
  font-size: 3.2rem;
}
.school-single__header-container {
  position: relative;
  width: 100%;
  padding-left: 4%;
  background-color: #005293;
  color: #fff;
}
.school-single__info {
  display: table;
  width: 100%;
  max-width: 880px;
  position: relative;
  z-index: 1;
  color: #fff;
}
.school-single__info-list {
  padding-top: 4%;
  padding-bottom: 4%;
  font-family: 'Akkurat', sans-serif;
}
.school-single__info-item {
  padding-top: 5px;
  padding-bottom: 5px;
  line-height: 1.2;
}
.school-single a,
.school-single__info-item-link {
  color: inherit;
  text-decoration: none;
}
.school-single a:hover,
.school-single__info-item-link:hover {
  text-decoration: underline;
}
.school-single__content {
  padding-top: 64px;
  padding-bottom: 60px;
  overflow: hidden;
}
.school-single__wysiwyg {
  padding-right: 4%;
  padding-left: 4%;
}
@media only screen and (min-width: 768px) {
  .school-single__title {
    font-size: 64px;
    font-size: 6.4rem;
  }
  .school-single__info-list {
    display: table-cell;
    width: 50%;
    padding: 4% 4% 4% 0;
  }
}
@media only screen and (min-width: 980px) {
  .school-single__container {
    padding-top: 310px;
  }
  .school-single__header {
    margin-right: 4%;
  }
  .school-single__title {
    font-size: 91px;
    font-size: 9.1rem;
  }
  .school-single__wysiwyg {
    float: left;
    width: 50%;
  }
}
/**
 *
 * School map
 *
 * The block contains a google map with placemarkers.
 * The classes are defined in the js files.
 * Used in si-school-map template and si-school-placemarks-page.
 *
 */
.school-map--overview {
  position: relative;
  width: 100%;
  padding-bottom: 59%;
}
.school-map__container {
  position: absolute;
}
.school-map .si_info_window .infoWindowContent {
  padding: 20px 20px 25px 20px !important;
  border-radius: 0px !important;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.school-map .si_info_window .infoWindowContent a {
  color: #0096e1;
}
.school-map .si_info_window .infoWindowContent a:hover {
  text-decoration: underline;
}
.school-map .si_info_window .infoWindowContent h4 {
  margin-bottom: 21px;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
}
.school-map .si_info_window .infoWindowContent h4 a {
  font-size: 18px;
  font-size: 1.8rem;
}
.school-map .si_info_window .infoWindowContent .address {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.4;
}
.school-map .si_info_window .infoWindowContent .email,
.school-map .si_info_window .infoWindowContent .website {
  line-height: 1.4;
}
.school-map .si_info_window .infoWindowContent .email a,
.school-map .si_info_window .infoWindowContent .website a {
  font-size: 14px;
  font-size: 1.4rem;
}
.school-map .si_info_window .infoWindowContent li {
  margin-top: 5px;
  margin-bottom: 5px;
}
.school-map .si_info_window .infoWindowContent li a {
  font-size: 15px;
  font-size: 1.5rem;
}
.school-map .si_info_window #frojd-google-maps-overlay-view-arrow {
  height: 17px;
  background: none;
}
.school-map .si_info_window #frojd-google-maps-overlay-view-close {
  width: 13px;
  height: 13px;
  background: url('../img/sprites.png') no-repeat -400px -300px;
}
.school-map .si_info_window #frojd-google-maps-overlay-view-close:hover {
  background-position: -350px -300px;
}
/**
 *
 * Social share
 *
 * The block contains of fb and twitter share buttons.
 * Used in single, page and single-scholarship template.
 *
 */
.social-share {
  float: left;
  width: 25%;
  min-height: 1px;
  padding-left: 35px;
}
.social-share__container {
  display: none;
}
.social-share__container.stuck {
  position: fixed;
  top: 75px;
}
.social-share__icon {
  display: block;
  width: 35px;
  height: 35px;
  margin-bottom: 10px;
  content: " ";
}
.social-share__icon--fb {
  background-image: url(../img/fb-share-icon.png);
  background-image: url(../img/svg/fb-share-icon.svg);
  background-size: 100%;
}
.social-share__icon--fb:hover {
  background-image: url(../img/fb-share-icon_hover.png);
  background-image: url(../img/svg/fb-share-icon_hover.svg);
}
.social-share__icon--twitter {
  background-image: url(../img/tw-share-icon.png);
  background-image: url(../img/svg/tw-share-icon.svg);
  background-size: 100%;
}
.social-share__icon--twitter:hover {
  background-image: url(../img/tw-share-icon_hover.png);
  background-image: url(../img/svg/tw-share-icon_hover.svg);
}
@media only screen and (min-width: 980px) {
  .social-share__container {
    display: block;
    margin-top: 0;
  }
  .social-share__container.sticky {
    position: fixed;
    top: 60px;
  }
}
.media-viewer {
  padding-right: 4%;
  padding-left: 4%;
  user-select: none;
}
.media-viewer__input {
  position: absolute;
  left: -9999px;
}
.media-viewer__label {
  position: relative;
  display: inline-block;
  margin-right: -3px;
  padding: 10px;
  z-index: 99;
  color: #fff;
  cursor: pointer;
  line-height: 1.8;
  text-align: center;
  text-transform: uppercase;
  font-size: 15px;
  font-size: 1.5rem;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
}
.media-viewer__label:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.1;
  z-index: 98;
  color: transparent;
}
.lt-ie9 .media-viewer__label:after {
  background: #33A6DF;
}
.media-viewer__input:checked + .media-viewer__label {
  background: #fff;
  color: #0096e1;
}
.media-viewer__input:checked + .media-viewer__label:after {
  display: none;
}
.media-viewer__media-item {
  display: none;
  padding: 5px;
  margin: 0;
  background: #fff;
  list-style: none;
  position: relative;
}
.media-viewer__media-item--map {
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
#video:checked ~ .media-viewer__media-item--video,
#photos:checked ~ .media-viewer__media-item--photos {
  display: block;
}
#map:checked ~ .media-viewer__media-item--map {
  display: block;
  height: auto;
  padding: 5px;
}
.media-viewer__media-item-container {
  height: 0;
  overflow: hidden;
  padding: 0 0 56.25% 0;
  position: relative;
}
.media-viewer iframe,
.media-viewer #frojd-google-maps-map {
  height: 100% !important;
  width: 100% !important;
  top: 0;
  left: 0;
  position: absolute;
}
.media-viewer__arrow {
  position: absolute;
  top: 47%;
  width: 26px;
  height: 26px;
  z-index: 101;
  cursor: pointer;
}
.lt-ie9 .media-viewer__arrow {
  display: none;
}
.media-viewer__arrow--prev {
  left: 10px;
}
.media-viewer__arrow--prev:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -350px -200px;
  color: transparent;
  content: '';
}
.media-viewer__arrow--next {
  right: 10px;
}
.media-viewer__arrow--next:after {
  width: inherit;
  height: inherit;
  position: absolute;
  background: url(../img/sprites.png) no-repeat;
  background-position: -400px -200px;
  color: transparent;
  content: '';
}
.media-viewer__gallery-item {
  display: none;
  position: relative;
}
.media-viewer__gallery-item.active {
  display: block;
}
.media-viewer__gallery-item img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  width: auto;
  margin: auto;
}
.media-viewer__gallery-meta-data {
  display: none;
}
@media only screen and (min-width: 768px) {
  .media-viewer__gallery-meta-data {
    display: block;
    position: absolute;
    bottom: -30px;
    width: 100%;
    font-size: 13px;
    font-size: 1.3rem;
    font-family: 'Akkurat', sans-serif;
    color: #fff;
  }
  .media-viewer__gallery-meta-data .caption {
    float: right;
    display: block;
    position: relative;
    right: 0;
    left: auto;
    bottom: 0;
    opacity: 1;
    font-size: inherit;
    font-family: 'Akkurat', sans-serif;
    font-style: italic;
  }
  .media-viewer__gallery-description {
    position: relative;
    float: left;
    margin-left: -5px;
  }
}
@media only screen and (min-width: 980px) {
  .media-viewer {
    float: left;
    width: 50%;
  }
}
@media only screen and (min-width: 1680px) {
  .media-viewer__label {
    width: 149px;
    padding: 9px 0;
  }
}
/**
 *
 * Searchform
 *
 * Search input displayed in mobile menu and navbar.
 *
 */
.form-search {
  margin-bottom: 20px;
}
.form-search__input {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 2px;
  background: #fff;
  color: #005293;
  text-transform: none;
  text-indent: 0;
  font-size: 12px;
  font-size: 1.2rem;
}
.form-search__input:-moz-placeholder {
  color: #005293;
}
.form-search__input::-moz-placeholder {
  color: #005293;
}
.form-search__input:-ms-input-placeholder {
  color: #005293;
}
.form-search__input::-webkit-input-placeholder {
  color: #005293;
}
.form-search__label {
  display: none;
}
@media only screen and (min-width: 980px) {
  .form-search {
    display: block;
    position: absolute;
    top: 0;
    right: 205px;
    width: 200px;
  }
  .has-global-menu .form-search {
    right: 0;
  }
  .sticky .form-search {
    width: auto;
  }
  .sticky .form-search:after {
    display: none;
  }
  .form-search:after {
    content: "";
    position: absolute;
    top: 9px;
    right: 19px;
    width: 17px;
    height: 18px;
    pointer-events: none;
    background: url(../img/search-dark-blue.png) no-repeat;
  }
  .form-search__input {
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 37px;
    padding: 1px 45px 1px 15px;
    border: 0;
    outline: 0;
    background-color: #4ab3e7;
    color: #005b95;
    text-indent: 0;
    text-transform: none;
    font-family: 'Akkurat', sans-serif;
    font-size: 12px;
    font-size: 1.2rem;
    transition: width .5s;
  }
  .form-search__input:focus {
    background-color: #f5f5f5;
    width: 280px;
  }
  .sticky .form-search__input {
    top: 37px;
    right: auto;
    left: -13px;
    height: 0;
    background-color: transparent;
    color: #ffffff;
    border-radius: 0;
    transition: none;
  }
  .sticky .form-search__input:-moz-placeholder {
    color: #ffffff;
  }
  .sticky .form-search__input::-moz-placeholder {
    color: #ffffff;
  }
  .sticky .form-search__input:-ms-input-placeholder {
    color: #ffffff;
  }
  .sticky .form-search__input::-webkit-input-placeholder {
    color: #ffffff;
  }
  .sticky .form-search__input:focus {
    background-color: rgba(0, 0, 0, 0.5);
    height: 37px;
  }
  .has-global-menu .form-search__input {
    left: auto;
    right: 0;
  }
  .sticky .form-search__label {
    display: block;
    position: relative;
    width: 36px;
    height: 37px;
    margin-right: 15px;
    cursor: pointer;
  }
  .sticky .form-search__label:after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 17px;
    height: 18px;
    pointer-events: none;
    background: url(../img/search.png) no-repeat;
  }
}
@media only screen and (min-width: 1260px) {
  .form-search__label {
    right: 45px;
  }
}
.form-contact {
  font-family: 'Akkurat', sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  max-width: 600px;
}
.form-contact__field {
  margin-bottom: 25px;
}
.form-contact__field-label {
  display: block;
  font-style: italic;
  margin-bottom: 8px;
}
.form-contact__field-input,
.form-contact__field-textarea,
.form-contact__field-select {
  padding: 18px 10px;
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  border: 2px solid transparent;
  color: #0096E1;
}
.error .form-contact__field-input,
.error .form-contact__field-textarea,
.error .form-contact__field-select {
  border-color: #ef4662;
}
.form-contact__field-select {
  -webkit-appearance: none;
  -moz-appearance: none;
}
.form-contact__field-select::-ms-expand {
  display: none;
}
.form-contact__field-textarea {
  height: 100px;
  resize: none;
  font-family: inherit;
}
.form-contact__field-error-message {
  display: none;
  color: #ef4662;
  background: white;
  padding: 6px;
  margin-top: 5px;
  margin-bottom: 10px;
}
.error .form-contact__field-error-message {
  display: block;
}
.form-contact__message p {
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .form-contact__field {
    padding-right: 20px;
  }
  .form-contact .form-contact__btn {
    max-width: 270px;
    float: right;
  }
  .form-contact__message {
    clear: both;
  }
}
/**
 *
 * Form toolbar
 *
 * The block contains a search/filter form with diffrent fields.
 * Used on pages: Calendar, Scholarships, Universities and News Archive.
 *
 */
.form-toolbar__container--school-map {
  margin-top: 40px;
}
.form-toolbar__title {
  margin-bottom: 15px;
  font-style: italic;
  color: #0096e1;
  font-size: 30px;
  font-size: 3rem;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7);
}
.form-toolbar__field {
  margin-top: 20px;
}
.form-toolbar__field:first-child {
  margin-top: 0;
}
.form-toolbar__field-label {
  display: block;
  margin-bottom: 0;
  color: #fff;
  line-height: 2;
  font-family: 'Akkurat', sans-serif;
  font-style: italic;
  font-size: 18px;
  font-size: 1.8rem;
}
.form-toolbar__field-label--default {
  color: #0096e1;
}
.form-toolbar__field-label--checkbox {
  position: relative;
  display: table-cell;
  height: 38px;
  padding-right: 10px;
  padding-left: 42px;
  vertical-align: middle;
  line-height: 1.25;
  cursor: pointer;
  font-size: 12px;
  font-size: 1.2rem;
}
.form-toolbar__field-label--checkbox:before {
  content: '';
  position: absolute;
  top: 5px;
  left: 1px;
  width: 31px;
  height: 30px;
  background: url('../img/sprites.png') no-repeat -300px -250px;
}
.form-toolbar__field-label--checkbox.checked:before {
  background-position: -350px -250px;
}
.form-toolbar__field-container {
  width: auto;
  cursor: pointer;
}
.form-toolbar__field-container--select {
  position: relative;
  height: 63px;
}
.form-toolbar__field-container--select:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 100%;
  background: url(../img/select-arrows_form.png) no-repeat;
  background-position: center;
  pointer-events: none;
}
.form-toolbar__field-container--select.theme--blue:after {
  background-color: #0096e1;
}
.form-toolbar__field-container--select.theme--red:after {
  background-color: #ef4662;
}
.form-toolbar__field-select {
  width: 100%;
  height: 63px;
  padding: 20px 10px 19px 15px;
  -webkit-appearance: none;
  color: #fff;
  border: none;
  text-shadow: 0 0 0 #fff;
  cursor: pointer;
  font-size: 16px;
  font-size: 1.6rem;
}
.form-toolbar__field-select:focus {
  outline: none;
}
.form-toolbar__field-select option {
  padding: 9px 10px;
}
.form-toolbar__field-input {
  position: relative;
  height: 65px;
  width: 100%;
  border: 0;
  line-height: 65px;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: 'Akkurat', sans-serif;
  font-weight: bold;
  color: #0096e1;
  background-image: url(../img/search-blue.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  border-left: 15px solid #fff;
  border-right: 15px solid #fff;
}
.form-toolbar__field-checkbox {
  display: none;
}
.form-toolbar__submit-container {
  float: left;
  width: 280px;
  margin-top: 15px;
}
@media only screen and (min-width: 500px) {
  .form-toolbar__item--checkbox {
    display: block;
    float: left;
    width: 47%;
    margin-right: 3%;
  }
  .form-toolbar__submit-container {
    width: 300px;
  }
}
@media only screen and (min-width: 768px) {
  .form-toolbar__field--fixed-with {
    width: 230px;
  }
  .form-toolbar__field-label--checkbox {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 980px) {
  .form-toolbar--table {
    display: table;
  }
  .form-toolbar__item--checkbox {
    width: 30%;
  }
  .form-toolbar__field--table-cell {
    display: table-cell;
    margin-bottom: 0;
    padding-right: 30px;
  }
  .form-toolbar__field--row-item {
    float: left;
    width: 20%;
    margin-top: 0px;
    margin-left: 2%;
  }
  .form-toolbar__field--period {
    width: 15%;
    margin-left: 0;
  }
  .form-toolbar__field--action {
    float: right;
    width: 14%;
  }
  .form-toolbar__field--search {
    display: block;
    width: 100%;
    margin-bottom: 40px;
    padding-right: 0;
  }
}
/**
 *
 * Link arrow
 *
 * The block is used on default segment blocks when a link is present
 * and displays an arrow as a background image. Styling applies to the
 * element with the class but also targets nested segment__text-container.
 *
 */
.link-arrow {
  background-repeat: no-repeat;
  background-size: auto;
  /*----------  Segments with large arrow  ----------*/
  /*----------  Segments with small arrow  ----------*/
  /*----------  Segments with external link  ----------*/
}
.link-arrow--large {
  background-position: 96% 92%;
}
.link-arrow--large .segment__text-container {
  width: 90%;
}
.link-arrow--large.link-arrow--white {
  background-image: url(../img/arrow_26_wh.png);
}
.link-arrow--large.link-arrow--black {
  background-image: url(../img/arrow_26_bl.png);
}
.link-arrow--large.link-arrow--blue {
  background-image: url(../img/arrow_26_blue.png);
}
.link-arrow--small {
  background-position: 96% 92%;
}
.link-arrow--small.link-arrow--white {
  background-image: url(../img/arrow_26_wh.png);
}
.link-arrow--small.link-arrow--black {
  background-image: url(../img/arrow_26_bl.png);
}
.link-arrow--small.link-arrow--blue {
  background-image: url(../img/arrow_26_blue.png);
}
.link-arrow--ext.link-arrow--white {
  background-image: url(../img/extarrow_26_wh.png);
}
.link-arrow--ext.link-arrow--black {
  background-image: url(../img/extarrow_26_bl.png);
}
.link-arrow--ext.link-arrow--blue {
  background-image: url(../img/extarrow_26_blue.png);
}
@media only screen and (min-width: 480px) {
  .link-arrow {
    /*----------  Segments with large arrow  ----------*/
  }
  .link-arrow--large.link-arrow--white {
    background-image: url(../img/arrow_46_wh.png);
  }
  .link-arrow--large.link-arrow--black {
    background-image: url(../img/arrow_46_bl.png);
  }
  .link-arrow--large.link-arrow--blue {
    background-image: url(../img/arrow_46_blue.png);
  }
}
@media only screen and (min-width: 530px) {
  .link-arrow {
    /*----------  Segments with large arrow  ----------*/
    /*----------  Segments with small arrow  ----------*/
    /*----------  Segments with external link  ----------*/
    /*----------  Segments with arrow to the left  ----------*/
  }
  .link-arrow--large {
    width: 96%;
  }
  .link-arrow--large .segment__text-container {
    width: 80%;
  }
  .segment--hero .link-arrow--large--large {
    background-position: 100% center;
    text-align: left;
  }
  .link-arrow--small {
    width: 92%;
    background-position: 100% 50%;
  }
  .link-arrow--small.link-arrow--white {
    background-image: url(../img/arrow_46_wh.png);
  }
  .link-arrow--small.link-arrow--black {
    background-image: url(../img/arrow_46_bl.png);
  }
  .link-arrow--small.link-arrow--blue {
    background-image: url(../img/arrow_46_blue.png);
  }
  .link-arrow--ext.link-arrow--white {
    background-image: url(../img/extarrow_46_wh.png);
  }
  .link-arrow--ext.link-arrow--black {
    background-image: url(../img/extarrow_46_bl.png);
  }
  .link-arrow--ext.link-arrow--blue {
    background-image: url(../img/extarrow_46_blue.png);
  }
  .link-arrow--align-left {
    margin-left: 4%;
    padding-left: 10%;
    background-position: center left;
  }
}
@media only screen and (min-width: 768px) {
  .link-arrow {
    /*----------  Segments with small arrow  ----------*/
    /*----------  Segments with arrow to the left  ----------*/
  }
  .link-arrow--small {
    background-position: 100% 100%;
  }
  .segment--hero .link-arrow {
    background-position: 100% 250px;
  }
  .link-arrow--align-left {
    /* Override if segment is in hero block */
    background-position: center left !important;
  }
}
@media only screen and (min-width: 980px) {
  .link-arrow {
    /*----------  Segments with large arrow  ----------*/
    /*----------  Segments with small arrow  ----------*/
    /*----------  Segments with external link  ----------*/
  }
  .link-arrow--large {
    width: 90%;
    background-position: center right;
  }
  .segment--hero .link-arrow--large {
    background-position: right bottom 100px;
  }
  .link-arrow--large.link-arrow--white {
    background-image: url(../img/arrow_65_wh.png);
  }
  .link-arrow--large.link-arrow--black {
    background-image: url(../img/arrow_65_bl.png);
  }
  .link-arrow--large.link-arrow--blue {
    background-image: url(../img/arrow_65_blue.png);
  }
  .link-arrow--small {
    background-position: bottom right;
  }
  .link-arrow--small.link-arrow--white {
    background-image: url(../img/arrow_65_wh.png);
  }
  .link-arrow--small.link-arrow--black {
    background-image: url(../img/arrow_65_bl.png);
  }
  .link-arrow--small.link-arrow--blue {
    background-image: url(../img/arrow_65_blue.png);
  }
  .link-arrow--ext.link-arrow--white {
    background-image: url(../img/extarrow_65_wh.png);
  }
  .link-arrow--ext.link-arrow--black {
    background-image: url(../img/extarrow_65_bl.png);
  }
  .link-arrow--ext.link-arrow--blue {
    background-image: url(../img/extarrow_65_blue.png);
  }
}
/*Desktop specific*/
.no-touch .error404 {
  background-size: cover;
}
.error404 {
  z-index: 50;
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  min-height: 100%;
  width: 100%;
  background: #0096E1;
  background-attachment: fixed;
  background-size: 100%;
  background-position: top;
}
.error404 footer {
  display: none;
}
.error404 header .header-main__menu-primary {
  display: none;
}
.error404 header .logo {
  display: none !important;
}
.error404 .ribbon-handle {
  display: none;
}
.error404 .wrapper-404 {
  z-index: 20;
  position: relative;
  margin-left: 5%;
  margin-right: 5%;
  padding-top: 15%;
  padding-bottom: 20px;
  color: #005293;
  font-family: 'SwedenSans', sans-serif;
}
.error404 .wrapper-404 .logo {
  position: relative;
  margin-bottom: 30px;
  margin-top: 20px;
  width: 211px;
  height: 100px;
}
.error404 .wrapper-404 .logo:after {
  background: url(../img/svg/study-logo.svg) no-repeat;
}
.error404 .wrapper-404 hr {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  border-color: #000000 -moz-use-text-color rgba(255, 255, 255, 0.1);
  border-image: none;
  border-left: 0 none;
  border-right: 0 none;
  border-style: solid none;
  border-width: 1px 0;
  margin: 0 0 32px;
  color: #005293;
  background-color: #005293;
  width: 47px;
  height: 5px;
}
.error404 .wrapper-404 h3 {
  font-size: 1.5em;
  text-transform: uppercase;
  font-weight: normal;
}
.error404 .wrapper-404 p {
  margin-bottom: 15px;
  font-size: 1.765em;
  line-height: 1.5em;
  text-transform: uppercase;
  font-family: 'SwedenSans', sans-serif;
  color: #ffffff;
}
.error404 .wrapper-404 .buttons {
  margin-top: 39px;
}
.error404 .wrapper-404 .button {
  line-height: 51px;
  padding: 19px 60px 16px 15px;
  background: #005293;
  text-transform: uppercase;
  color: #fff;
  position: relative;
}
.error404 .wrapper-404 .button:after {
  width: inherit;
  height: inherit;
  background: url(../img/sprites.png) no-repeat;
  background-position: -450px 0px;
  color: transparent;
  content: '';
  content: " ";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 30px;
  height: 30px;
}
.error404 .wrapper-404 .sender {
  font-family: 'Akkurat', sans-serif;
  font-size: 1.176em;
  position: relative;
  top: 24px;
}
@media only screen and (orientation: landscape) {
  .error404 {
    background-position: center;
  }
}
@media only screen and (min-width: 480px) {
  .error404 .wrapper-404 h3 {
    font-size: 3em;
  }
}
@media only screen and (min-width: 768px) {
  .error404 .wrapper-404 {
    margin-left: auto;
    margin-right: auto;
    max-width: 728px;
  }
  .error404 .wrapper-404 h3 {
    font-size: 4em;
  }
  .error404 .wrapper-404 .thanx p {
    width: 60%;
    float: left;
  }
  .error404 .wrapper-404 .thanx .buttons {
    float: right;
  }
  .error404 .wrapper-404 .button {
    padding: 19px 80px 16px 30px;
  }
  .error404 .wrapper-404 .button:after {
    top: 14px;
    right: 36px;
    width: 30px;
    height: 30px;
  }
}
@media only screen and (min-width: 980px) {
  .error404 .wrapper-404 {
    max-width: 980px;
  }
  .error404 .wrapper-404 .logo {
    margin-top: 0;
  }
  .error404 .wrapper-404 .thanx p {
    width: 70%;
  }
  .error404 .wrapper-404 .thanx .buttons {
    margin-right: 28px;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvY29yZS9yZXNldC5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9jb3JlL2ZvbnRzLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2NvcmUvZ2xvYmFscy5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9jb3JlL21peGlucy5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9jb3JlL3ZhcmlhYmxlcy5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9jb3JlL2dyaWQubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvY29yZS91dGlsaXRpZXMubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvY29yZS9hbmltYXRpb24ubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL3RoZW1lLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9tYWluLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy93eXNpd3lnLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9idG4ubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2J0bi1oYW1idXJnZXIubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2hlYWRlci1tYWluLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9tZW51LXByaW1hcnkubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL21lbnUtbW9yZS5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvbWVudS1nbG9iYWwubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL21lbnUtYXJ0aWNsZS5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvcGFnaW5hdGlvbi5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvb3RoZXItc2l0ZXMubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2ZhcS5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvbG9nby5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvaGVyby5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvYXJ0aWNsZS5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvY2FwdGlvbi5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvbmV3cy1saXN0Lmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9uZXdzLWFyY2hpdmUubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL3NlZ21lbnQubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2Jsb2ctcG9zdHMubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2luc3RhZ3JhbS1wb3N0cy5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvc29jaWFsLWZlZWQubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2NhbGVuZGFyLW92ZXJ2aWV3Lmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9jYWxlbmRhci1hcmNoaXZlLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9mb290ZXItbWFpbi5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvc2VhcmNoLXJlc3VsdC5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvbWVudS1icmVhZGNydW1iLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9leHBhbmRlci1saW5rcy5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvc2Nob2xhcnNoaXBzLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9lZHVjYXRpb24ubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL3NjaG9vbC5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvc2Nob29sLXNpbmdsZS5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvc2Nob29sLW1hcC5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3Mvc29jaWFsLXNoYXJlLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9tZWRpYS12aWV3ZXIubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2Zvcm0tc2VhcmNoLmxlc3MiLCJzcmMvd3AtY29udGVudC90aGVtZXMvc3R1ZHlzd2VkZW5zZS9sZXNzL2Jsb2Nrcy9mb3JtLWNvbnRhY3QubGVzcyIsInNyYy93cC1jb250ZW50L3RoZW1lcy9zdHVkeXN3ZWRlbnNlL2xlc3MvYmxvY2tzL2Zvcm0tdG9vbGJhci5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvbGluay1hcnJvdy5sZXNzIiwic3JjL3dwLWNvbnRlbnQvdGhlbWVzL3N0dWR5c3dlZGVuc2UvbGVzcy9ibG9ja3MvcGFnZS00MDQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFNO0FBQU07QUFBSztBQUFNO0FBQVE7QUFBUTtBQUN2QztBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFHO0FBQVk7QUFDdkM7QUFBRztBQUFNO0FBQVM7QUFBUztBQUFLO0FBQU07QUFDdEM7QUFBSztBQUFLO0FBQUk7QUFBSztBQUFLO0FBQUs7QUFBRztBQUFHO0FBQ25DO0FBQU87QUFBUTtBQUFRO0FBQUs7QUFBSztBQUFJO0FBQ3JDO0FBQUc7QUFBRztBQUFHO0FBQ1Q7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQ3BCO0FBQVU7QUFBTTtBQUFPO0FBQ3ZCO0FBQU87QUFBUztBQUFPO0FBQU87QUFBTztBQUFJO0FBQUk7QUFDN0M7QUFBUztBQUFPO0FBQVE7QUFBUztBQUNqQztBQUFRO0FBQVk7QUFBUTtB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QUFDO0VBQ1YsbUJBQUE7RUFDQSxXQUFBOztBQUZKLEtBQUssQ0FBUSxDQUFDO0VBQ1YsbUJBQUE7RUFDQSxXQUFBOztBQUZKLEtBQUssQ0FBUSxDQUFDO0VBQ1YsVUFBQTtFQUNBLFdBQUE7O0FBRkosS0FBSyxDQUFRLENBQUM7RUFDVixtQkFBQTtFQUNBLFdBQUE7O0FBRkosS0FBSyxDQUFRLENBQUM7RUFDVixtQkFBQTtFQUNBLFdBQUE7O0FBRkosS0FBSyxDQUFRLENBQUM7RUFDVixVQUFBO0VBQ0EsV0FBQTs7QUFGSixLQUFLLENBQVEsQ0FBQztFQUNWLG1CQUFBO0VBQ0EsV0FBQTs7QUFGSixLQUFLLENBQVEsQ0FBQztFQUNWLGtCQUFBO0VBQ0EsV0FBQTs7QUFVSixNQUFNLEVBQVEsQ0FBQztFQUNYLFdBQUE7RUFDQSxtQkFBQTs7QUFGSixNQUFNLEVBQVEsQ0FBQztFQUNYLG1CQUFBO0VBQ0EsbUJBQUE7O0FBRkosTUFBTSxFQUFRLENBQUM7RUFDWCxtQkFBQTtFQUNBLG1CQUFBOztBQUZKLE1BQU0sQ0FBUSxDQUFDO0VBQ1gsVUFBQTtFQUNBLG1CQUFBOztBQUZKLE1BQU0sQ0FBUSxDQUFDO0VBQ1gsbUJBQUE7RUFDQSxtQkFBQTs7QUFGSixNQUFNLENBQVEsQ0FBQztFQUNYLG1CQUFBO0VBQ0EsbUJBQUE7O0FBRkosTUFBTSxDQUFRLENBQUM7RUFDWCxVQUFBO0VBQ0EsbUJBQUE7O0FBRkosTUFBTSxDQUFRLENBQUM7RUFDWCxtQkFBQTtFQUNBLG1CQUFBOztBQUZKLE1BQU0sQ0FBUSxDQUFDO0VBQ1gsbUJBQUE7RUFDQSxtQkFBQTs7QUFGSixNQUFNLENBQVEsQ0FBQztFQUNYLFVBQUE7RUFDQSxtQkFBQTs7QUFGSixNQUFNLENBQVEsQ0FBQztFQUNYLG1CQUFBO0VBQ0EsbUJBQUE7O0FBRkosTUFBTSxDQUFRLENBQUM7RUFDWCxrQkFBQTtFQUNBLG1CQUFBOztBQVVKLEtBQUssRUFBUSxDQUFDO0VBQ1YsaUJBQUE7O0FBREosS0FBSyxFQUFRLENBQUM7RUFDVix5QkFBQTs7QUFESixL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Q29udGVudCI6WyJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6IG5vbmU7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufSIsIi8qXG4gKiBMZWdhbCBEaXNjbGFpbWVyXG4gKlxuICogVGhlc2UgRm9udHMgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBvbiB0aGVzZSBkb21haW5zIGFuZCB0aGVpciBzdWJkb21haW5zOlxuICogc2kuc2VcbiAqXG4gKiBJdCBpcyBpbGxlZ2FsIHRvIGRvd25sb2FkIG9yIHVzZSB0aGVtIG9uIG90aGVyIHdlYnNpdGVzLlxuICpcbiAqIFdoaWxlIHRoZSBAZm9udC1mYWNlIHN0YXRlbWVudHMgYmVsb3cgbWF5IGJlIG1vZGlmaWVkIGJ5IHRoZSBjbGllbnQsIHRoaXNcbiAqIGRpc2NsYWltZXIgbWF5IG5vdCBiZSByZW1vdmVkLlxuICpcbiAqIExpbmV0by5jb20sIDIwMTNcbiAqL1xuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnU3dlZGVuU2Fucyc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3N3ZWRlbnNhbnMvZnMvc3dlZGVuc2Fucy13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCdmb250cy9zd2VkZW5zYW5zL2ZzL3N3ZWRlbnNhbnMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCdmb250cy9zd2VkZW5zYW5zL2ZzL3N3ZWRlbnNhbnMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL3N3ZWRlbnNhbnMvZnMvc3dlZGVuc2Fucy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvc3dlZGVuc2Fucy9mcy9zd2VkZW5zYW5zLXdlYmZvbnQuc3ZnI3N3ZWRlbl9zYW5zJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTd2VkZW5TYW5zJztcbiAgICBzcmM6IHVybCgnZm9udHMvc3dlZGVuc2Fucy9mcy9zd2VkZW5zYW5zYm9sZC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCdmb250cy9zd2VkZW5zYW5zL2ZzL3N3ZWRlbnNhbnNib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvc3dlZGVuc2Fucy9mcy9zd2VkZW5zYW5zYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnZm9udHMvc3dlZGVuc2Fucy9mcy9zd2VkZW5zYW5zYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvc3dlZGVuc2Fucy9mcy9zd2VkZW5zYW5zYm9sZC13ZWJmb250LnN2ZyNzd2VkZW5fc2Fuc2JvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Fra3VyYXQnO1xuICAgIHNyYzogdXJsKCdmb250cy9ha2t1cmF0L2xpbmV0by1ha2t1cmF0LXJlZ3VsYXIuZW90Jyk7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL2Fra3VyYXQvbGluZXRvLWFra3VyYXQtcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCdmb250cy9ha2t1cmF0L2xpbmV0by1ha2t1cmF0LXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCdmb250cy9ha2t1cmF0L2xpbmV0by1ha2t1cmF0LXJlZ3VsYXIuc3ZnI0Fra3VyYXRSZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdBa2t1cmF0JztcbiAgICBzcmM6IHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1pdGFsaWMuZW90Jyk7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL2Fra3VyYXQvbGluZXRvLWFra3VyYXQtaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL2Fra3VyYXQvbGluZXRvLWFra3VyYXQtaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1pdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCdmb250cy9ha2t1cmF0L2xpbmV0by1ha2t1cmF0LWl0YWxpYy5zdmcjQWtrdXJhdEl0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQWtrdXJhdCc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL2Fra3VyYXQvbGluZXRvLWFra3VyYXQtYm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1ib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL2Fra3VyYXQvbGluZXRvLWFra3VyYXQtYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL2Fra3VyYXQvbGluZXRvLWFra3VyYXQtYm9sZC5zdmcjQWtrdXJhdEJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdBa2t1cmF0JztcbiAgICBzcmM6IHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1ib2xkaXRhbGljLmVvdCcpO1xuICAgIHNyYzogdXJsKCdmb250cy9ha2t1cmF0L2xpbmV0by1ha2t1cmF0LWJvbGRpdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1ib2xkaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1ib2xkaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvYWtrdXJhdC9saW5ldG8tYWtrdXJhdC1ib2xkaXRhbGljLnN2ZyNBa2t1cmF0Qm9sZEl0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBSZW1vdmUgaWYgbm90IG5lZWRlZCAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdadXJpY2hCVC1Cb2xkQ29uZGVuc2VkJztcbiAgICBzcmM6IHVybCgnZm9udHMvenVyaWNoLzI3NUQ1Ml8yXzAuZW90Jyk7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3p1cmljaC8yNzVENTJfMl8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL3p1cmljaC8yNzVENTJfMl8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnZm9udHMvenVyaWNoLzI3NUQ1Ml8yXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuIiwiKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXMpO1xuXG4gICAgJi5tZW51LW9wZW4ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmgxLFxuaDIsXG5oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxufVxuXG5oMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogQGZvbnQtLXN3ZWRlbnNhbnM7XG59XG5cbmgyLFxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxucCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmEge1xuICAgIC8vZm9udC1mYW1pbHk6IEBmb250LS1zd2VkZW5zYW5zO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxubGkge1xuICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zKTtcbn1cblxuI21haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tcHJpbWFyeS1ibHVlO1xufVxuXG4iLCIjbS1ncmlkKEBiYXNlLCBAbW9kaWZpZXI6IDApIHtcbiAgICAjbS1jcmVhdGUtZ3JpZChAYmFzZSwgQGJhc2UsIEBtb2RpZmllcik7XG4gICAgI20tY3JlYXRlLXRhYmxlLWdyaWQoQGJhc2UsIEBiYXNlLCBAbW9kaWZpZXIpO1xuICAgICNtLWNyZWF0ZS1vZmZzZXQoQGJhc2UsIEBiYXNlLCBAbW9kaWZpZXIpO1xufVxuXG4jbS1jcmVhdGUtZ3JpZChAYmFzZSwgQGluZGV4LCBAbW9kaWZpZXI6IDApIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAudS1nLUB7aW5kZXh9LUB7YmFzZX0gd2hlbiAoQG1vZGlmaWVyID0gMCkge1xuICAgICAgICB3aWR0aDogMTAwJSAqIEBpbmRleCAvIEBiYXNlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgLnUtZy1Ae2luZGV4fS1Ae2Jhc2V9LS1Ae21vZGlmaWVyfSB3aGVuIG5vdCAoQG1vZGlmaWVyID0gMCkge1xuICAgICAgICB3aWR0aDogMTAwJSAqIEBpbmRleCAvIEBiYXNlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgI20tY3JlYXRlLWdyaWQoQGJhc2UsIChAaW5kZXggLSAxKSwgQG1vZGlmaWVyKTtcbn1cblxuI20tY3JlYXRlLXRhYmxlLWdyaWQoQGJhc2UsIEBpbmRleCwgQG1vZGlmaWVyOiAwKSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgLnUtdGctQHtpbmRleH0tQHtiYXNlfSB3aGVuIChAbW9kaWZpZXIgPSAwKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICogQGluZGV4IC8gQGJhc2U7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICAgIC51LXRnLUB7aW5kZXh9LUB7YmFzZX0tLUB7bW9kaWZpZXJ9IHdoZW4gbm90IChAbW9kaWZpZXIgPSAwKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICogQGluZGV4IC8gQGJhc2U7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICAgICNtLWNyZWF0ZS10YWJsZS1ncmlkKEBiYXNlLCAoQGluZGV4IC0gMSksIEBtb2RpZmllcik7XG59XG5cbiNtLWNyZWF0ZS1vZmZzZXQoQGJhc2UsIEBpbmRleCwgQG1vZGlmaWVyOiAwKSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgLnUtby1Ae2luZGV4fS1Ae2Jhc2V9IHdoZW4gKEBtb2RpZmllciA9IDApIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMCUgKiBAaW5kZXggLyBAYmFzZTtcbiAgICB9XG4gICAgLnUtby1Ae2luZGV4fS1Ae2Jhc2V9LS1Ae21vZGlmaWVyfSB3aGVuIG5vdCAoQG1vZGlmaWVyID0gMCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAwJSAqIEBpbmRleCAvIEBiYXNlO1xuICAgIH1cbiAgICAjbS1jcmVhdGUtb2Zmc2V0KEBiYXNlLCAoQGluZGV4IC0gMSksIEBtb2RpZmllcik7XG59XG5cbiNtLWZvbnQtc2l6ZShAdmFsdWUpIHtcbiAgICBAcmVtLXZhbHVlOiBAdmFsdWU7XG4gICAgQHB4LXZhbHVlOiAoQHZhbHVlICogMTApO1xuICAgIGZvbnQtc2l6ZTogfidAe3B4LXZhbHVlfXB4JztcbiAgICBmb250LXNpemU6IH4nQHtyZW0tdmFsdWV9cmVtJztcbn1cblxuLy8gQXV0b3ByZWZpeGVyIGRvbid0IGhhbmRsZSBwbGFjZWhvbGRlciBjb2xvclxuI20tcGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gRmlyZWZveCAxOStcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuI20tc3ByaXRlKEB4LCBAeSkge1xuICAgIEBzcHJpdGUtZ3JpZDogNTBweDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc3ByaXRlcy5wbmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtKEB4ICogQHNwcml0ZS1ncmlkKSAtKEB5ICogQHNwcml0ZS1ncmlkKTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG59XG5cbiNtLXN2Zy1pY29uIHtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG59XG5cbiNtLXN2Zy1pbWFnZShAaW1hZ2UsIEBzaXplOiBhdXRvKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3VybC0tc3ZnfUB7aW1hZ2V9LnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuI20tYWJzb2x1dGUtY2VudGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4jbS1jb2x1bW4tY291bnQoQHZhbHVlKSB7XG4gIC1tb3otY29sdW1uLWNvdW50OiBAdmFsdWU7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogQHZhbHVlO1xufVxuXG4jbS1jb2x1bW4tZ2FwKEB2YWx1ZSkge1xuICAtbW96LWNvbHVtbi1nYXA6IEB2YWx1ZTtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAdmFsdWU7XG4gIGNvbHVtbi1nYXA6IEB2YWx1ZTtcbn1cbiIsIi8vIFdpZHRocyBhbmQgaGVpZ2h0c1xuQHdpZHRoLS1zOiAgICAgIDQ4MHB4O1xuQHdpZHRoLS1tOiAgICAgIDc2OHB4O1xuQHdpZHRoLS1sOiAgICAgIDk4MHB4O1xuQHdpZHRoLS14bDogICAgIDEyODBweDtcbkB3aWR0aC0teHhsOiAgICAxNjgwcHg7XG5cbkB3aWR0aC0tNDAwOiAgICA0MDBweDtcbkB3aWR0aC0tNTAwOiAgICA1MDBweDtcbkB3aWR0aC0tNTMwOiAgICA1MzBweDtcbkB3aWR0aC0tODAwOiAgICA4MDBweDtcbkB3aWR0aC0tODUwOiAgICA4NTBweDtcbkB3aWR0aC0tMTEwMDogICAxMTAwcHg7XG5Ad2lkdGgtLTExNDA6ICAgMTE0MHB4O1xuQHdpZHRoLS0xMjAwOiAgIDEyMDBweDtcbkB3aWR0aC0tMTI2MDogICAxMjYwcHg7XG5Ad2lkdGgtLTEzNDA6ICAgMTM0MHB4O1xuQHdpZHRoLS0xNDQwOiAgIDE0NDBweDtcbkB3aWR0aC0tMTY4MDogICAxNjgwcHg7XG5Ad2lkdGgtLTE4MjA6ICAgMTgyMHB4O1xuXG5AaGVpZ2h0LS1zdGlja3ktbWVudTogMzdweDtcblxuXG4vLyBNYXJnaW5zIGFuZCBwYWRkaW5nc1xuQHBhZGRpbmctLXM6IDEwcHg7XG5cbi8vIE1lZGlhIHF1ZXJpZXNcbkBtZWRpYS0tczogICAgICB+J29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3dpZHRoLS1zfSknO1xuQG1lZGlhLS1tOiAgICAgIH4nb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB7d2lkdGgtLW19KSc7XG5AbWVkaWEtLWw6ICAgICAgfidvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHt3aWR0aC0tbH0pJztcbkBtZWRpYS0teGw6ICAgICB+J29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3dpZHRoLS14bH0pJztcbkBtZWRpYS0teHhsOiAgICB+J29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3dpZHRoLS14eGx9KSc7XG5cbkBtZWRpYS0tNTAwOiAgICB+J29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3dpZHRoLS01MDB9KSc7XG5AbWVkaWEtLTUzMDogICAgfidvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHt3aWR0aC0tNTMwfSknO1xuQG1lZGlhLS0xMTQwOiAgIH4nb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB7d2lkdGgtLTExNDB9KSc7XG5AbWVkaWEtLTEyMDA6ICAgfidvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHt3aWR0aC0tMTIwMH0pJztcbkBtZWRpYS0tMTI2MDogICB+J29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3dpZHRoLS0xMjYwfSknO1xuQG1lZGlhLS0xMzQwOiAgIH4nb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB7d2lkdGgtLTEzNDB9KSc7XG5AbWVkaWEtLTE2ODA6ICAgfidvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHt3aWR0aC0tMTY4MH0pJztcbkBtZWRpYS0tMTgyMDogICB+J29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3dpZHRoLS0xODIwfSknO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuQGdyaWQtY29sdW1ucy0tbWFpbjogMTI7XG5AZ3JpZC1jb2x1bW5zLS1hbHRlcm5hdGl2ZTogNTtcblxuLy8gQ29sb3JzXG5AY29sb3ItLXByaW1hcnktYmx1ZTogICAjMDA5NmUxO1xuQGNvbG9yLS1kYXJrLWJsdWU6ICAgICAgIzAwNTI5MztcbkBjb2xvci0tbGlnaHQtYmx1ZTogICAgICNEMkVERjg7XG5AY29sb3ItLXllbGxvdzogICAgICAgICAjZmZjYjA1O1xuQGNvbG9yLS1yZWQ6ICAgICAgICAgICAgI2VmNDY2MjtcbkBjb2xvci0tbGlnaHQtcmVkOiAgICAgICNmNTZjODI7XG5AY29sb3ItLWdyZWVuOiAgICAgICAgICAjMTQ5NDk3O1xuQGNvbG9yLS1ncmF5OiAgICAgICAgICAgIzlkYWViNztcbkBjb2xvci0tZGFyay1ncmF5OiAgICAgICMzMzMzMzM7XG5AY29sb3ItLXdoaXRlOiAgICAgICAgICAjZjVmNWY1O1xuQGNvbG9yLS1zd2VkZW4tbGluazogICAgIzAwYWFlOTtcblxuQGNvbG9yLS1iYXNlLWZvbnQ6ICAgICAgICAgICAgICAjMmYyYzJkO1xuQGNvbG9yLS1ib2R5OiAgICAgICAgICAgICAgICAgICBAY29sb3ItLXByaW1hcnktYmx1ZTtcbkBjb2xvci0tbGluazogICAgICAgICAgICAgICAgICAgIzAwNWI5NTtcbkBjb2xvci0tc3RhdHVzLXRleHQ6ICAgICAgICAgICAgQGNvbG9yLS1ncmF5O1xuQGNvbG9yLS1oZWFkZXI6ICAgICAgICAgICAgICAgICBAY29sb3ItLXByaW1hcnktYmx1ZTtcbkBjb2xvci0tZmFxOiAgICAgICAgICAgICAgICAgICAgQGNvbG9yLS1ncmVlbjtcbkBjb2xvci0tZmVlZDogICAgICAgICAgICAgICAgICAgQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG5AY29sb3ItLXRlc3RpbW9uaWFsOiAgICAgICAgICAgIEBjb2xvci0tZGFyay1ibHVlO1xuQGNvbG9yLS1zZWFyY2g6ICAgICAgICAgICAgICAgICBAY29sb3ItLWxpZ2h0LWJsdWU7XG5AY29sb3ItLXNlYXJjaGZvcm06ICAgICAgICAgICAgICM0YWIzZTc7XG5AY29sb3ItLXBhZ2luYXRpb246ICAgICAgICAgICAgIEBjb2xvci0tbGlnaHQtYmx1ZTtcbkBjb2xvci0tYnJlYWRjcnVtYjogICAgICAgICAgICAgQGNvbG9yLS1saWdodC1ibHVlO1xuQGNvbG9yLS1jYWxlbmRhcjogICAgICAgICAgICAgICBAY29sb3ItLXJlZDtcbkBjb2xvci0tY2FsZW5kYXItbGlnaHQ6ICAgICAgICAgQGNvbG9yLS1saWdodC1yZWQ7XG5AY29sb3ItLXNjaG9sYXJzaGlwOiAgICAgICAgICAgIEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuQGNvbG9yLS1zY2hvbGFyc2hpcC1saWdodDogICAgICBAY29sb3ItLWxpZ2h0LWJsdWU7XG5AY29sb3ItLWVkdWNhdGlvbjogICAgICAgICAgICAgIEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuQGNvbG9yLS1lZHVjYXRpb24tbGlnaHQ6ICAgICAgICBAY29sb3ItLWxpZ2h0LWJsdWU7XG5AY29sb3ItLWZvb3RlcjogICAgICAgICAgICAgICAgIEBjb2xvci0teWVsbG93O1xuQGNvbG9yLS1mb290ZXItZm9udDogICAgICAgICAgICBAY29sb3ItLWxpbms7XG5AY29sb3ItLWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICMwMDViOTU7XG5AY29sb3ItLW1lbnUtYXJ0aWNsZTogICAgICAgICAgIEBjb2xvci0tbGlnaHQtYmx1ZTtcbkBjb2xvci0tdG9vbGJhci1uZXdzOiAgICAgICAgICAgQGNvbG9yLS1saWdodC1ibHVlO1xuQGNvbG9yLS1zdWJtaXQtYnRuOiAgICAgICAgICAgICBAY29sb3ItLXByaW1hcnktYmx1ZTtcbkBjb2xvci0tc3VibWl0LWJ0bi1yZWQ6ICAgICAgICAgQGNvbG9yLS1yZWQ7XG5AY29sb3ItLWVkdWNhdGlvbi1pdGVtLWJvcmRlcjogICNkMmVjZjk7XG5AY29sb3ItLXBhZ2luYXRpb24tYmc6ICAgICAgICAgIEBjb2xvci0tbGlnaHQtYmx1ZTtcbkBjb2xvci0tbmV3cy1pdGVtLWJnOiAgICAgICAgICAgQGNvbG9yLS13aGl0ZTtcblxuLy8gRm9udCBmYW1pbGllc1xuQGZvbnQtLXN3ZWRlbnNhbnM6ICAgICAgICAgICdTd2VkZW5TYW5zJywgc2Fucy1zZXJpZjtcblxuQGZvbnQtLWFra3VyYXQ6ICAgICAgICAgICAgICdBa2t1cmF0Jywgc2Fucy1zZXJpZjtcblxuQGZvbnQtLXp1cmljaDogICAgICAgICAgICAgICdadXJpY2hCVC1Cb2xkQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcblxuLyogVE9ETzogQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcmlnaHQgZm9udHMgKi9cbkBmb250LS1ib2R5OiAgICAgICAgICAgICAgICBBcmlhbCwgc2Fucy1zZXJpZjtcbkBmb250LS1hcnRpY2xlOiAgICAgICAgICAgICAnVGltZXMgTmV3IFJvbWFuJywgVGltZXMsIHNlcmlmO1xuQGZvbnQtLXNhbnMtc2VyaWY6ICAgICAgICAgIHNhbnMtc2VyaWY7XG5cbi8vIEZvbnQgc2l6ZXNcbkBmb250LXNpemUtLXh4czogICAgMS4yO1xuQGZvbnQtc2l6ZS0teHM6ICAgICAxLjQ7XG5AZm9udC1zaXplLS1zOiAgICAgIDEuNjtcbkBmb250LXNpemUtLW06ICAgICAgMS44O1xuQGZvbnQtc2l6ZS0tbDogICAgICAyLjA7XG5AZm9udC1zaXplLS14bDogICAgIDIuMjtcbkBmb250LXNpemUtLXh4bDogICAgMi40O1xuXG5AZm9udC1zaXplLS1icmVhZGNydW1iOiAgICAgICAgICAgICAgICAgMS4zO1xuQGZvbnQtc2l6ZS0tY2FsZW5kYXItdGV4dDogICAgICAgICAgICAgIDEuNTtcbkBmb250LXNpemUtLXNjaG9vbC1tYXA6ICAgICAgICAgICAgICAgICAxLjU7XG5AZm9udC1zaXplLS1mb3JtLXRvb2xiYXItdGl0bGU6ICAgICAgICAgMztcbkBmb250LXNpemUtLWNhbGVuZGFyLWRhdGUtYXJjaGl2ZTogICAgICA0Ljg7XG5AZm9udC1zaXplLS1jYWxlbmRhci1kYXRlLWFyY2hpdmUtbXFtOiAgNi41O1xuQGZvbnQtc2l6ZS0tY2FsZW5kYXItaXRlbS1kYXRlLWFyY2hpdmU6IDQ7XG5AZm9udC1zaXplLS1jYWxlbmRhci1kYXRlLWhvbWU6ICAgICAgICAgMTI7XG5AZm9udC1zaXplLS1zY2hvbGFyc2hpcC10aXRsZTogICAgICAgICAgMi41O1xuQGZvbnQtc2l6ZS0tdG9vbGJhci1lZHVjYXRpb246ICAgICAgICAgIDIuNTtcbkBmb250LXNpemUtLWVkdWNhdGlvbi1yZXN1bHQtdGl0bGUtbXFtOiAzLjI7XG5AZm9udC1zaXplLS1lZHVjYXRpb24tcmVzdWx0LXRpdGxlLW1xbDogNy40O1xuQGZvbnQtc2l6ZS0tc2Nob29sLXNpbmdsZS10aXRsZTogICAgICAgIDMuMjtcbkBmb250LXNpemUtLXNjaG9vbC1zaW5nbGUtdGl0bGUtbXFtOiAgICA2LjQ7XG5AZm9udC1zaXplLS1zY2hvb2wtc2luZ2xlLXRpdGxlLW1xbDogICAgOS4xO1xuQGZvbnQtc2l6ZS0tZm9ybS1maWVsZDogICAgICAgICAgICAgICAgIEBmb250LXNpemUtLXM7XG5AZm9udC1zaXplLS1mb3JtLWZpZWxkLWxhYmVsOiAgICAgICAgICAgQGZvbnQtc2l6ZS0tbTtcbkBmb250LXNpemUtLXRpdGxlLS1xdW90ZTogICAgICAgICAgICAgICA0O1xuQGZvbnQtc2l6ZS0tdGl0bGUtLWFydGljbGU6ICAgICAgICAgICAgIDQ7XG5AZm9udC1zaXplLS10aXRsZS0tYXJ0aWNsZS1zOiAgICAgICAgICAgMi44O1xuQGZvbnQtc2l6ZS0tdGl0bGUtLXNtYWxsLS1tcWw6ICAgICAgICAgIDQuODtcbkBmb250LXNpemUtLXRpdGxlLS1tcWw5ODA6ICAgICAgICAgICAgICA2LjQ7XG5AZm9udC1zaXplLS10aXRsZS0tc21hbGwtLW1xMTM0MDogICAgICAgNi4xO1xuQGZvbnQtc2l6ZS0tdGl0bGUtc2VhcmNoLW1xbDogICAgICAgICAgIDcuMjtcbkBmb250LXNpemUtLWhlcm86ICAgICAgICAgICAgICAgICAgICAgICAxMC40O1xuQGZvbnQtc2l6ZS0tdGl0bGUtbGFyZ2UtbXExMzQwOiAgICAgICAgIDEyO1xuXG5cbi8vIFotaW5kZXhcbkB6LWluZGV4LS0xOiAxMDA7XG5Aei1pbmRleC0tMjogMjAwO1xuQHotaW5kZXgtLTM6IDMwMDtcbkB6LWluZGV4LS00OiA0MDA7XG5Aei1pbmRleC0tNTogNTAwO1xuQHotaW5kZXgtLTY6IDYwMDtcbkB6LWluZGV4LS03OiA3MDA7XG5Aei1pbmRleC0tODogODAwO1xuQHotaW5kZXgtLTk6IDkwMDtcbkB6LWluZGV4LS0xMDogMTAwMDtcblxuQHotaW5kZXhfX2hlYWRlci1tYWluOiAgICAgICAgICBAei1pbmRleC0tMTA7ICAgIC8vOTk5XG5Aei1pbmRleF9faGVhZGVyLW1haW5fX25hdmJhcjogIEB6LWluZGV4LS05OyAgICAgLy8xMFxuQHotaW5kZXhfX2hlcm9fX2NvbnRhaW5lcjogICAgICBAei1pbmRleC0tMTsgICAgIC8vMVxuQHotaW5kZXhfX2hlcm9fX2ltYWdlOiAgICAgICAgICBAei1pbmRleC0tMSAtIDI7IC8vMFxuQHotaW5kZXhfX3NlZ21lbnRfX2NvbnRlbnQ6ICAgICBAei1pbmRleC0tMjsgICAgIC8vMlxuQHotaW5kZXhfX2JnOiAgICAgICAgICAgICAgICAgICBAei1pbmRleC0tMiAtIDI7IC8vMFxuQHotaW5kZXhfX2NhcHRpb246ICAgICAgICAgICAgICBAei1pbmRleC0tMiAtIDE7IC8vMVxuQHotaW5kZXhfX21lbnUtc29jaWFsX19pY29uOiAgICBAei1pbmRleC0tMiAtIDI7IC8vLTFcbkB6LWluZGV4X19tZW51LXNvY2lhbF9faXRlbTogICAgQHotaW5kZXgtLTIgLSAxOyAvLzFcbkB6LWluZGV4X19tZW51LXNvY2lhbF9fbGluazogICAgQHotaW5kZXgtLTI7ICAgICAvLzNcbkB6LWluZGV4X19icmVhZGNydW1iOiAgICAgICAgICAgQHotaW5kZXgtLTI7ICAgICAvLzNcbkB6LWluZGV4X19tZWRpYS12aWV3ZXJfX2xhYmVsOiAgQHotaW5kZXgtLTEgLSAxOyAvLzBcbkB6LWluZGV4X19tZWRpYS12aWV3ZXJfX2FmdGVyOiAgQHotaW5kZXgtLTEgLSAyOyAvLy0xXG5Aei1pbmRleF9fbWVkaWEtdmlld2VyX19hcnJvdzogIEB6LWluZGV4LS0xICsgMTsgLy8xXG5cbi8vIFNwcml0ZSBncmlkIHNpemVcbkBzcHJpdGUtZ3JpZDogNTBweDtcblxuLy8gVXJsc1xuQHVybC0tc3ZnOiAnLi4vaW1nL3N2Zy8nO1xuQHVybC0taW1hZ2U6ICcuLi9pbWcvJztcbiIsIiNtLWdyaWQoQGdyaWQtY29sdW1ucy0tbWFpbik7XG4jbS1ncmlkKEBncmlkLWNvbHVtbnMtLWFsdGVybmF0aXZlKTtcblxuQG1lZGlhIEBtZWRpYS0tcyB7XG4gICAgI20tZ3JpZChAZ3JpZC1jb2x1bW5zLS1tYWluLCBzKTtcbiAgICAjbS1ncmlkKEBncmlkLWNvbHVtbnMtLWFsdGVybmF0aXZlLCBzKTtcbn1cblxuQG1lZGlhIEBtZWRpYS0tbSB7XG4gICAgI20tZ3JpZChAZ3JpZC1jb2x1bW5zLS1tYWluLCBtKTtcbiAgICAjbS1ncmlkKEBncmlkLWNvbHVtbnMtLWFsdGVybmF0aXZlLCBtKTtcbn1cblxuQG1lZGlhIEBtZWRpYS0tbCB7XG4gICAgI20tZ3JpZChAZ3JpZC1jb2x1bW5zLS1tYWluLCBsKTtcbiAgICAjbS1ncmlkKEBncmlkLWNvbHVtbnMtLWFsdGVybmF0aXZlLCBsKTtcbn1cbiIsIi51LWNvbmZpbmUge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogQHBhZGRpbmctLXM7XG4gICAgcGFkZGluZy1yaWdodDogQHBhZGRpbmctLXM7XG59XG5cbi8vIFVzZSBhcyBhIGNvbnRhaW5lciBmb3IgZ3JpZCBpdGVtc1xuLnUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYtLW5vd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbn1cblxuLnUtY2xlYXJmaXgge1xuICAgIHpvb206IDE7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4udS12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnUtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgQG1lZGlhLS1tIHtcbiAgICAudS1jb25maW5lLS1tIHtcbiAgICAgICAgbWF4LXdpZHRoOiBAd2lkdGgtLW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgQG1lZGlhLS1sIHtcbiAgICAudS1jb25maW5lLS1sIHtcbiAgICAgICAgbWF4LXdpZHRoOiBAd2lkdGgtLWw7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgQG1lZGlhLS14bCB7XG4gICAgLnUtY29uZmluZS0teGwge1xuICAgICAgICBtYXgtd2lkdGg6IEB3aWR0aC0teGw7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgQG1lZGlhLS14eGwge1xuICAgIC51LWNvbmZpbmUtLXh4bCB7XG4gICAgICAgIG1heC13aWR0aDogQHdpZHRoLS14eGw7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5cbiIsIi8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRlckFuaW1hdGlvbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLyogU3RhbmRhcmQgc3ludGF4ICovXG5Aa2V5ZnJhbWVzIGhlYWRlckFuaW1hdGlvbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IH1cbn1cbiIsIi8qKlxuICpcbiAqIFRoZW1lXG4gKlxuICogVGhlbWUgY2xhc3MgaXMgdXNlZCBmb3IgdGhlbWUgc3BlY2lmaWMgc3R5bGluZyBsaWtlXG4gKiBiYWNrZ3JvdW5kIGNvbG9ycywgZm9udCBjb2xvcnMgYW5kIGxpbmtzIGZvciBleGFtcGxlLlxuICogVXNlZCBvbiBhbGwgc2VnbWVudHMgdG8gZGVmaW5lIGNvbG9yIGFuZCBiYWNrZ3JvdW5kLlxuICpcbiAqL1xuXG4udGhlbWUge1xuXG4gICAgJi0tYmx1ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcbiAgICAgICAgJi5ob3Zlcjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLS1wcmltYXJ5LWJsdWUsIDUlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRhcmstYmx1ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWRhcmstYmx1ZTtcbiAgICAgICAgJi5ob3Zlcjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLS1kYXJrLWJsdWUsIDEwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ncmVlbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWdyZWVuO1xuICAgICAgICAmLmhvdmVyOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3ItLWdyZWVuLCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS15ZWxsb3cge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS15ZWxsb3c7XG4gICAgICAgICYuaG92ZXI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvci0teWVsbG93LCAxMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6IzkyNzQwMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXJlZCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXJlZDtcbiAgICAgICAgJi5ob3Zlcjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLS1yZWQsIDEwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcmF5IGFuZCB3aGl0ZSBhcmUgaWRlbnRpY2FsIGJlc2lkZXMgaGVhZGluZyBjb2xvciwgcmVtb3ZlIGlmIG5vdCBuZWVkZWRcbiAgICAmLS1ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS13aGl0ZTtcbiAgICAgICAgaDEsIGgyLCBoMyB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLS1iYXNlLWZvbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5ob3Zlcjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLS13aGl0ZSwgNSUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JheSBhbmQgd2hpdGUgYXJlIGlkZW50aWNhbCBiZXNpZGVzIGhlYWRpbmcgY29sb3IsIHJlbW92ZSBpZiBub3QgbmVlZGVkXG4gICAgJi0td2hpdGUge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0td2hpdGU7XG4gICAgICAgKiA+IHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tYmFzZS1mb250O1xuICAgICAgIH1cbiAgICAgICAmLmhvdmVyOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3ItLXdoaXRlLCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ibGFjayB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWRhcmstZ3JheTtcbiAgICAgICAgJi5ob3Zlcjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLS1kYXJrLWdyYXksIDUlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXllbGxvdy1ibGFjayB7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS15ZWxsb3c7XG4gICAgICAgY29sb3I6IEBjb2xvci0tYmFzZS1mb250O1xuICAgICAgICYuaG92ZXI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvci0teWVsbG93LCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDBweCk7IC8vcHJldmVudHMgaG92ZXIgYnVnIGluIGNocm9tZVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqXG4gKiBNYWluXG4gKlxuICogVGhlIG1haW4gYmxvY2sgY3JlYXRlcyBhIHdyYXBwZXIgZm9yIHNlY3Rpb25zXG4gKiBpbnNpZGUgdGhlICNtYWluIGRpdi4gbWFpbl9fY29udGVudCBjb250YWluc1xuICogdGhlIGFydGljbGUgYW5kIHd5c2l3eWcgYmxvY2sgYW5kIG1haW5fX2Zvb3RlclxuICogY29udGFpbnMgb3B0aW9uYWwgc2VnbWVudHMgbGlrZSBGQVEgYW5kIHRlc3RpbW9uaWFscy5cbiAqXG4gKi9cblxuLm1haW4ge1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbn1cbiIsIi53eXNpd3lnIHtcblxuICAgICYtLXBhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGNvbG9yOiBAY29sb3ItLWJhc2UtZm9udDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1hcnRpY2xlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tbCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0tc3dlZGVuLWxpbms7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zY2hvb2wge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjg3NTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0tZGFyay1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXRpdGxlLS1hcnRpY2xlKTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS10aXRsZS0tYXJ0aWNsZS1zKTtcbiAgICB9XG5cbiAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgcCwgbGkge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYiwgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLndwLWNhcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgI20tZm9udC1zaXplKDEuMSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJQaG90bzogXCI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE1lZGlhIGNsYXNzIGlzIGFkZGVkIG1hbnVhbGx5IGluIHd5c2l3eWdcbiAgICB0byBnZXQgYSB3cmFwcGVyIGFyb3VuZCB0aGUgaWZyYW1lICovXG4gICAgLm1lZGlhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICpcbiAqIEJ1dHRvblxuICpcbiAqIERpZmZyZW50IGJ1dHRvbnMgdXNlZCBpbiBzZWdtZW50cyBhcyBsaW5rc1xuICogYW5kIG9uIHN1Ym1pdCBidXR0b25zIGluIGZvcm0gdG9vbGJhcnMuXG4gKlxuICovXG5cbi5idG4ge1xuXG4gICAgZm9udC1mYW1pbHk6IFNhbnMtc2VyaWY7XG4gICAgJi0tc3VibWl0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDY5cHggMTdweCAxNXB4O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBAY29sb3ItLXN1Ym1pdC1idG47XG4gICAgICAgIGNvbG9yOiBAY29sb3ItLXN1Ym1pdC1idG47XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tZm9ybS1maWVsZCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tc3VibWl0LWJ0bjtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYXJyb3ctZG93bl93aC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICAgIGhlaWdodDogMjlweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Fycm93LWRvd24ucG5nJykgbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3VibWl0LWNhbGVuZGFyIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXN1Ym1pdC1idG4tcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9hcnJvdy1kb3duX3doLnBuZycpIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXN1Ym1pdC1jb250YWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Fycm93XzI2X3doLnBuZycpIG5vLXJlcGVhdCByaWdodCAxMHB4IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1zdWJtaXQtc2Nob29sLW1hcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuICAgIH1cblxuICAgICYtLWFyY2hpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMTlweCA5NXB4IDE5cHggMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgICBjb2xvcjojZmZmO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gQXJyb3cgYmcgaW1hZ2VcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjlweDtcbiAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc3ByaXRlcy5wbmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0oOSAqIEBzcHJpdGUtZ3JpZCkgLSgwICogQHNwcml0ZS1ncmlkKTtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uZXdzOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0oOSAqIEBzcHJpdGUtZ3JpZCkgLSgzICogQHNwcml0ZS1ncmlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZhcTpob3ZlcixcbiAgICAmLS1ibG9nOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tZ3JlZW47XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLSg5ICogQHNwcml0ZS1ncmlkKSAtKDEgKiBAc3ByaXRlLWdyaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmFja2dyb3VuZCBpbWFnZSBmb3IgZXh0ZXJuYWwgbGlua3NcbiAgICAmLS1leHQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2V4dGFycm93XzI2X3doLnBuZykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbnN0YWdyYW06aG92ZXIge1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1ncmVlbjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2V4dGFycm93XzI2X2dyZWVuLnBuZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zb2NpYWw6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9leHRhcnJvd18yNl9ibHVlLnBuZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jYWxlbmRhcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItLXJlZDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtKDkgKiBAc3ByaXRlLWdyaWQpIC0oMiAqIEBzcHJpdGUtZ3JpZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ibG9nIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLW0ge1xuXG4gICAgICAgICYtLWFyY2hpdmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mYXEsXG4gICAgICAgICYtLWNhbGVuZGFyLFxuICAgICAgICAmLS1uZXdzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLTExNDAge1xuXG4gICAgICAgICYtLWZhcSxcbiAgICAgICAgJi0tY2FsZW5kYXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA3NHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDQlO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIvKipcbiAqXG4gKiBCdXR0b24gSGFtYnVyZ2VyXG4gKlxuICogSGFtYnVyZ2VyIGljb24gbWFkZSBvZiBzcGFuIGVsZW1lbnRzLlxuICogVXNlZCBmb3IgdG9nZ2xpbmcgbW9iaWxlIG1lbnUgYW5kIG90aGVyIHNpdGVzIG1lbnUuXG4gKlxuICovXG5cblxuLmJ0bi1oYW1idXJnZXIge1xuXG4gICAgLm1lbnUtb3BlbiAmIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX3NwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAubWVudS1vcGVuICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LW9wZW4gJl9fc3Bhbi0tY2xvc2Uge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1sIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuXG4gICAgICAgIC5tZW51LW9wZW4gJiB7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3BhbiB7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NwYW4tLWNsb3NlIHtcbiAgICAgICAgICAgIC5tZW51LW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqXG4gKiBIZWFkZXIgTWFpblxuICpcbiAqIFRoZSBtYWluIGhlYWRlciBkaXNwYWx5ZWQgYXQgdGhlIHRvcCBvZiBhbGwgcGFnZXMuIENvbnRhaW5zIG1lbnUsIGxvZ28gYW5kIHNlYXJjaGZvcm0uXG4gKlxuICovXG5cbi5oZWFkZXItbWFpbiB7XG5cbiAgICB6LWluZGV4OiBAei1pbmRleF9faGVhZGVyLW1haW47XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5hZG1pbi1iYXIgJixcbiAgICAuaGFzLWdsb2JhbC1tZW51ICYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICB9XG5cbiAgICAuaGFzLWdsb2JhbC1tZW51LnN0aWNreSAmIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDApO1xuICAgIH1cblxuICAgIC5tZW51LW9wZW4gJiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIH1cblxuICAgIC8vIE5hdmJhciBpcyB0aGUgYmxhY2sgYmFyIHNob3duIG9uIG1vYmlsZSBhbmQgd2hlbiB0aGUgbWVudSBpcyBzdGlja3lcbiAgICAmX19uYXZiYXIge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC42KTtcblxuICAgICAgICAvLyBXaGVuIG1vYmlsZSBtZW51IGlzIG9wZW5cbiAgICAgICAgLm1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19oZWFkZXItbWFpbl9fbmF2YmFyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2YmFyLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgIH1cblxuXG5cbiAgICAvLyBNZW51IHRvZ2dsZSBmb3IgbW9iaWxlIG1lbnUgYmVsb3cgOTgwcHgsXG4gICAgLy8gb3ZlciA5ODBweCBpdCB0b2dnbGVzIHRoZSBcIk90aGVyIFNpdGVzXCIgbWVudS5cbiAgICAmX19tZW51LXRvZ2dsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgfVxuXG4gICAgLy8gXCJPdGhlciBvZmZpY2lhbCBTd2VkZW4gU2l0ZXNcIiBpcyBoaWRkZW5cbiAgICAvLyBvbiBtb2JpbGUgdG8gb25seSBzaG93IGhhbWJ1cmdlciBpY29uXG4gICAgJl9fbWVudS10b2dnbGUtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gVGhlIG1lbnUgYmxvY2sgY29udGFpbnMgbWVudS1wcmltYXJ5IGJsb2NrXG4gICAgLy8gYW5kIG90aGVyLXNpdGVzIGJsb2NrLiBJbiBtb2JpbGUsIG1lbnUgaXMgdG9nZ2xlZC5cbiAgICAmX19tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAubWVudS1vcGVuICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogflwiY2FsYygxMDAlIC0gNDVweClcIjtcblxuICAgICAgICAgICAgLmhhcy1nbG9iYWwtbWVudSAmIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIDkwcHgpXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX21lbnUtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA0JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgfVxuXG5cblxuICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcGFkZGluZzogNDVweCAwIDAgMDtcbiAgICAgICAgLy96LWluZGV4OiAyMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAudS1jbGVhcmZpeDtcbiAgICAgICAgLy90cmFuc2l0aW9uOiBhbGwgLjVzOyAvLyBJbiBvbGQgQ1NTIGJ1dCBzeW50YXggaXMgd3Jvbmcgc28gaXQgbWlnaHQgYmUgcmVtb3ZlZFxuXG4gICAgICAgIC8vIFdvcnByZXNzIGFkbWluIGJhciB3aGVuIGxvZ2dlZCBpblxuICAgICAgICAuYWRtaW4tYmFyLnN0aWNreSAmIHtcbiAgICAgICAgICAgIHRvcDogMzFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGlja3kgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBAaGVpZ2h0LS1zdGlja3ktbWVudTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogaGVhZGVyQW5pbWF0aW9uIDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBoZWFkZXJBbmltYXRpb24gMXM7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuXG4gICAgICAgICAgICAuc3RpY2t5ICYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX25hdmJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLy8gV2hlbiBtb2JpbGUgbWVudSBpcyBvcGVuXG4gICAgICAgICAgICAubWVudS1vcGVuICYge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYXZiYXItY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDIwNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBAaGVpZ2h0LS1zdGlja3ktbWVudTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiBAei1pbmRleF9faGVhZGVyLW1haW5fX25hdmJhcjtcblxuICAgICAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMzJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gT24gQ04gc2l0ZXMsIG1lbnUtdG9nZ2xlIGlzIGhpZGRlbiBpbiBkZXNrdG9wIHZpZXdcbiAgICAgICAgICAgIC5oYXMtZ2xvYmFsLW1lbnUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lbnUtdG9nZ2xlLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQGhlaWdodC0tc3RpY2t5LW1lbnU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cblxufVxuIiwiLyoqXG4gKlxuICogTWVudSBQcmltYXJ5XG4gKlxuICogTWVudSBwcmltYXJ5IGlzIHRoZSB0aGUgd3JhcHBlciBmb3IgdGhlIHNpdGUncyBwcmltYXJ5IG5hdmlnYXRpb24uXG4gKiBJdCBoYXMgdGhyZWUgZGlmZnJlbnQgdmlld3M6IG1vYmlsZSwgc3RpY2t5IGFuZCBkZWZhdWx0IGRlc2t0b3AuXG4gKlxuICovXG4ubWVudS1wcmltYXJ5IHtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYm9keTtcbiAgICAgICAgLnUtY2xlYXJmaXg7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRPRE86IE1vZGlmeSB3YWxrZXIgc28gd2UgY2FuIHVzZSBCRU0gY2xhc3Nlc1xuICAgICAgICAgKi9cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZSgxLjUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuXG4gICAgICAgIC5zdGlja3kgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5zdGlja3kgJiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAaGVpZ2h0LS1zdGlja3ktbWVudTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPOiBSZXdyaXRlIG1lbnUgd2Fsa2VyIHRvIGdlbmVyYXRlIEJFTSBjbGFzc2VzXG4gICAgICAgICAqL1xuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tbSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLXN3ZWRlbnNhbnM7XG4gICAgICAgICAgICAudS1jbGVhcmZpeDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDI1cHggMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICAgICAgLnN0aWNreSAmLnZpc2libGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdGlja3kgJi5oaWRkZW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICAgICAgICAgICAgICAgICAgI20tZm9udC1zaXplKDEuNSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwNTI5MztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LXBhZ2UtYW5jZXN0b3Ige1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA1MjkzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGlja3kgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gT2xkIGJyZWFrcG9pbnQgd2FzIDEyNjBweCwgdHJ5aW5nIDEyODBweFxuICAgIEBtZWRpYSBAbWVkaWEtLXhsIHtcbiAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xMzQwIHtcbiAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWVudS1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG4gICAgICAgIC5zdGlja3kgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTcwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE1NXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1tKTtcblxuICAgICAgICAgICAgLy8gTWlnaHQgY2hhbmdlIFdhbGtlciB0byBnZXQgY2xhc3NlcyBmb3IgdWwsIGxpICYgYVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogQGhlaWdodC0tc3RpY2t5LW1lbnU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0LS1zdGlja3ktbWVudTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RpY2t5ICYuc2VsZWN0LW9wZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGlja3kgLmtlZXAgJi5zZWxlY3Qtb3BlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RpY2t5ICZfX3RvZ2dsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZSgxLjUpO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxufVxuXG4vLyAuc2VsZWN0LW1lbnUge1xuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICBtaW4td2lkdGg6IDE1NXB4O1xuLy8gICAgIHRvcDogMnB4O1xuLy8gICAgIHJpZ2h0OiAtMTcwcHg7XG4vLyAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICAgICBmb250LXNpemU6IDEuMDllbTtcblxuLy8gICAgICYua2VlcCB7XG4vLyAgICAgICAgIC5tZW51IHtcbi8vICAgICAgICAgICAgICYuc2VsZWN0LW9wZW4ge1xuLy8gICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgLm1lbnUge1xuLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuLy8gICAgICAgICBmb250LXNpemU6IDAuODVlbTtcblxuLy8gICAgICAgICAmLnNlbGVjdC1vcGVuIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAuc2VsZWN0LW1lbnUtbW9yZSB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbi8vICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuLy8gICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4vLyAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbi8vICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4vLyAgICAgfVxuXG4vLyAgICAgdWwge1xuLy8gICAgICAgICBtYXJnaW46IDA7XG4vLyAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgfVxuXG4vLyAgICAgbGkge1xuLy8gICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICBmbG9hdDogbm9uZTtcbi8vICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgICBmb250LXNpemU6IDFlbTtcbi8vICAgICB9XG5cbi8vICAgICBhIHtcbi8vICAgICAgICAgaGVpZ2h0OiBAc3RpY2t5LW1lbnUtaGVpZ2h0O1xuLy8gICAgICAgICBsaW5lLWhlaWdodDogQHN0aWNreS1tZW51LWhlaWdodDtcbi8vICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4vLyAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbi8vICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gICAgICAgICBvcGFjaXR5OiAwLjg7XG4vLyAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbi8vICAgICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuIiwiLm1lbnUtZ2xvYmFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkNCMDU7XG4gICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXMpO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgLnNob3J0ZmFjdHMgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAudS1jbGVhcmZpeDtcblxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG5cbiAgICAgICAgICAgICYuY3VycmVudCxcbiAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIyMjM4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGQ0IwNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogN3B4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogIzFhMzA1MDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcblxuICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGVmdDogLTEwcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1sKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMjIzODtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkNCMDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKipcbiAqXG4gKiBNZW51IGFydGljbGVcbiAqXG4gKiBNZW51IGFydGljbGUgaXMgYWRkZWQgZHluYW1pY2FsbHkgd2l0aCBqYXZhc2NyaXB0IGJ5XG4gKiBsb29raW5nIGZvciBhbGwgSDIgaW4gYXJ0aWNsZSBhbmQgYWRkaW5nIHRoZW0gYXMgYW5cbiAqIGFuY2hvciBsaW5rIGluIHRoZSBtZW51IHRvIHRoZSBsZWZ0IG9mIHRoZSBhcnRpY2xlLlxuICpcbiAqL1xuXG4ubWVudS1hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLnN0aWNreS13cmFwcGVyICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGlja3kgY2xhc3MgVE9ETzogUmVuYW1lIHRoaXMgY2xhc3NcbiAgICAgICAgJi5zdHVjayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjMlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMXB4IDE5cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLW1lbnUtYXJ0aWNsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgbG9uZyB0aXRsZXMgdG8gYnJlYWsgb3V0IG9mIGNvbnRhaW5lciB3aWR0aFxuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuQG1lZGlhIEBtZWRpYS0tbCB7XG4gICAgICAgIC8qIFRPRE86IENvbnNpZGVyIG1vdmluZyB0aGlzIHRvIGEgc2VwZXJhdGUgYmxvY2tcbiAgICAgICAgb3IgcmVuYW1lIHdpdGggYmV0dGVyIEJFTSBjbGFzcyAqL1xuICAgICAgICAuc3RpY2t5LXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG4iLCIucGFnaW5hdGlvbiB7XG4gICAgcGFkZGluZzogMzBweCA0JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXBhZ2luYXRpb24tYmc7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoLXRlcm0ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZWZ0LFxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBzcGFuLmN1cnJlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDU0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItLWJhc2UtZm9udDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4uZG90cyB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLS1iYXNlLWZvbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICAgICAgbWluLXdpZHRoOiA1NHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcblxuICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICNtLXNwcml0ZSg1LCA0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAjbS1zcHJpdGUoOSwgMCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbSB7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5PdGhlciBzaXRlcyBtZW51XG4qL1xuLm90aGVyLXNpdGVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcbiAgICBwYWRkaW5nOiAwIDQlO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAjbS1mb250LXNpemUoMS4xKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS16dXJpY2g7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oQGNvbG9yLS1wcmltYXJ5LWJsdWUsIDEwJSk7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbihAY29sb3ItLXByaW1hcnktYmx1ZSwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbihAY29sb3ItLXByaW1hcnktYmx1ZSwgMTAlKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICB9XG5cbiAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLXN3ZWRlbnNhbnM7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJl9faXRlbS10ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHhzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJl9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1sIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuXG4gICAgICAgIC5tZW51LW9wZW4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3dyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZSgzLjgpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1zd2VkZW5zYW5zO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgIC51LWNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMS4xMjU7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMS45KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tdGV4dCB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tMTI2MCB7XG5cbiAgICAgICAgJl9fd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuXG4iLCIvKipcbiAqXG4gKiBGQVFcbiAqXG4gKiBGQVEgYmxvY2sgaXMgdXNlZCBib3RoIGluc2lkZSBhIHNlZ21lbnQgb24gdGhlIHN0YXJ0cGFnZVxuICogYW5kIGluIHRoZSBGQVEgcGFnZSB0ZW1wbGF0ZS4gTW9kaWZpZXJzIMK0LS1ob21lwrQgYW5kIMK0LS1wYWdlwrRcbiAqIGFyZSB1c2VkIHRvIHNlcGVyYXRlIHN0YXJ0cGFnZSBmcm9tIHBhZ2UgdGVtcGxhdGUuXG4gKlxuICovXG5cbi5mYXEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICYtLWhvbWUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIH1cblxuICAgICYtLXBhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWdyZWVuO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuXG4gICAgICAgIC5mYXEtLXBhZ2UgJixcbiAgICAgICAgLnNpbmdsZSAmLFxuICAgICAgICAucGFnZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggNCU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzFmYzdjYjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYXEtLWhvbWUgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgbWluLWhlaWdodDogODRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDExM3B4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgI20tZm9udC1zaXplKDIuMyk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmFxLXF1ZXN0aW9uLWljb25fODQucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXG4gICAgICAgIC5mYXEtLWhvbWUgJiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5N3B4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzowLjAzZW07XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMS45KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmFxLXF1ZXN0aW9uLWljb24ucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCcXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCdXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWFuc3dlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgbWluLWhlaWdodDogODRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mYXEtYW5zd2VyLWljb25fODQucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXG4gICAgICAgIC5mYXEtLWhvbWUgJiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5N3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mYXEtYW5zd2VyLWljb24ucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgICAgIC5mYXEtLWhvbWUgJiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAzZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mYXEtLXBhZ2UgJixcbiAgICAgICAgICAgIC5zaW5nbGUgJixcbiAgICAgICAgICAgIC5wYWdlICYge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIi0gXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSBAbWVkaWEtLW0ge1xuICAgICAgICAmLS1ob21lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgIH1cblxuICAgICAgICZfX2NvbCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqXG4gKiBMb2dvXG4gKlxuICogU2l0ZSBsb2dvIGluc2lkZSBoZWFkZXIuIExvZ28gc2hyaW5rcyB3aGVuIGhlYWRlciBpcyBzdGlja3kuXG4gKlxuICovXG5cblxuLmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgICNtLXN2Zy1pbWFnZShzdHVkeS1sb2dvLCBjb250YWluKTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayBQTkcgaW4gSUU4XG4gICAgLmx0LWllOSAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDIxMXB4O1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvZ28ucG5nKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1sIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMTFweDtcbiAgICAgICAgaGVpZ2h0OiAxMzVweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMjExcHg7XG4gICAgICAgIGhlaWdodDogMTM1cHg7XG5cbiAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuIiwiLyoqXG4gKlxuICogSGVybyBibG9ja1xuICpcbiAqIFRoaXMgaXMgdGhlIGhlcm8gYmxvY2sgdXNlZCBvbiB0b3Agb2YgYWxsIHBhZ2VzLlxuICogT24gc3RhcnRwYWdlIGEgc2VnbWVudCBhY3RzIGFzIGhlcm8gYmxvY2sgKC5zZWdtZW50LS1oZXJvKVxuICpcbiAqL1xuXG4uaGVybyB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7IC8vdXNlZCBmb3IgdG9wIGJnLWltYWdlXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDQlIDQlO1xuICAgICAgICB6LWluZGV4OiBAei1pbmRleF9faGVyb19fY29udGFpbmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1tKTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLSAgVGVzdGltb25pYWwgaGVybyAgLS0tLS0tLS0tLSovXG5cbiAgICAmX19jb250ZW50LS10ZXN0aW1vbmlhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1jb250YWluZXItLXRlc3RpbW9uaWFsIHtcblxuICAgIH1cblxuICAgICZfX3Rlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdGVzdGltb25pYWwtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICNtLWZvbnQtc2l6ZSgxLjcpO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLSAgRW5kIFRlc3RpbW9uaWFsIGhlcm8gIC0tLS0tLS0tLS0qL1xuXG4gICAgLy8gLmJnIGNsYXNzIG5hbWUgY29tZXMgZnJvbSBRQmFua1xuICAgICYgPiAuYmcsXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEhpZGUgYmcgaW1hZ2UgaW4gaWU4XG4gICAgLmx0LWllOSAuYmcsXG4gICAgLmx0LWllOSAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICNtLWZvbnQtc2l6ZSg0LjMpO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLXN3ZWRlbnNhbnM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgdXNlZCB3aGVuIGhlcm8gaGFzIGEgbG9uZ2VyIHRleHQgaS5lLiBhYm91dCBwYWdlXG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTIzMHB4O1xuICAgICAgICAjbS1mb250LXNpemUoMS43KTtcblxuICAgICAgICBwLCBhLCBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1zIHtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoNS4xKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLTUzMCB7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDYuMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYlO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5iZywgLy8gSGFjayBmb3IgZ2V0X2hlYWRlcl9pbWcgZnVuY3Rpb25cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19oZXJvX19pbWFnZTtcbiAgICAgICAgICAgIC8vIFRPRE86IEFkZCBhdXRvcHJlZml4ZXIgYW5kIHJlbW92ZSBtcy1maWx0ZXJcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG5cbiAgICAgICAgJi0taG9tZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14bCk7XG5cbiAgICAgICAgICAgICYtLXRlc3RpbW9uaWFsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14bCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0taGVybyk7XG5cbiAgICAgICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXRpdGxlLXNlYXJjaC1tcWwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVyby0tdGVzdGltb25pYWwgJiB7XG4gICAgICAgICAgICAgICAgI20tZm9udC1zaXplKDcuMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgICAgICAjbS1mb250LXNpemUoNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKi0tLS0tLS0tLS0gIFRlc3RpbW9uaWFsIGhlcm8gIC0tLS0tLS0tLS0qL1xuXG4gICAgICAgICZfX3RleHQtY29udGFpbmVyLS10ZXN0aW1vbmlhbCB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4OTVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGVzdGltb25pYWwtaW5mbyB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMi4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLWF1dGhvciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTglO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXN0aW1vbmlhbC1hdXRob3ItaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qLS0tLS0tLS0tLSAgRW5kIFRlc3RpbW9uaWFsIGhlcm8gIC0tLS0tLS0tLS0qL1xuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLXhsIHtcblxuICAgICAgICAmX190ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLTEzNDAge1xuICAgICAgICBtaW4taGVpZ2h0OiA3MDBweDtcblxuICAgICAgICAmLS1uby1iZyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudC0tbmV3cy1hcmNoaXZlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAvLyBYLXRyYSBsYXJnZSBoZWFkaW5nXG4gICAgICAgICAgICAmLS1uZXdzLFxuICAgICAgICAgICAgJi0tc2VhcmNoLFxuICAgICAgICAgICAgLmhlcm8tLXRlc3RpbW9uaWFsICYge1xuICAgICAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS10aXRsZS1sYXJnZS1tcTEzNDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgI20tZm9udC1zaXplKDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGVzdGltb25pYWwtaW5mbyB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xODIwIHtcblxuICAgICAgICAmX190ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4iLCIvKipcbipcbiogQXJ0aWNsZVxuKlxuKiBTdGFuZGFyZCBhcnRpY2xlcyBhcmUgZGlzcGxheWVkIG9uIGRlZmF1bHQgcGFnZXMgYW5kIHBvc3RzXG4qIHVzaW5nIHRoZSBkZWZhdWx0IHBhZ2UgdGVtcGxhdGUuIENvbnRhaW5zIG1lbnUtYXJ0aWNsZS5cbipcbiovXG5cbi5hcnRpY2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMiUgNCUgNCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS10ZXN0aW1vbmlhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgZGF0ZSBieSBkZWZhdWx0XG4gICAgJl9fZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gU2hvdyBkYXRlIGluIG5ld3NcbiAgICAmX19kYXRlLS1uZXdzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tcyk7XG4gICAgfVxuXG4gICAgLy8gTWFrZXMgdGhlIG1lbnUtYXJ0aWNsZSBhbmQgc2hhcmUgYnV0dG9uc1xuICAgIC8vIGZhZGUgb3V0IGF0IHRoZSBlbmQgb2YgdGhlIGFydGljbGVcbiAgICAmX19mYWRlLWdyYWRpZW50IHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2ZmZmZmZiAwJSwgcmdiYSgyMjksIDIyOSwgMjI5LCAwKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgI2ZmZmZmZiksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyMjksIDIyOSwgMjI5LCAwKSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sICNmZmZmZmYgMCUsIHJnYmEoMjI5LCAyMjksIDIyOSwgMCkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sICNmZmZmZmYgMCUsIHJnYmEoMjI5LCAyMjksIDIyOSwgMCkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmZmZmZmIDAlLCByZ2JhKDIyOSwgMjI5LCAyMjksIDApIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmZmZmZmIDAlLCByZ2JhKDIyOSwgMjI5LCAyMjksIDApIDEwMCUpO1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDBlNWU1ZTUnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsIEdyYWRpZW50VHlwZT0wKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1sIHtcblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIC51LWNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg5NXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3JpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWluZXItLXRlc3RpbW9uaWFsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2VkIHRvIHBvc2l0aW9uIG1hcCBpbWcgb24gc2luZ2xlIHRlc3RpbW9uaWFsIHBhZ2VcbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0JTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjg1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS14bCB7XG4gICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xODIwIHtcbiAgICAgICAmX19sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKlxuICogQ2FwdGlvblxuICpcbiAqIENhcHRpb24gaXMgYWRkZWQgdG8gYWxsIGltYWdlcyBmcm9tIFFCYW5rLlxuICpcbiAqL1xuXG5cbi5jYXB0aW9uIHtcbiAgICAvLyBCYWNrZ3JvdW5kLWltYWdlcyBpcyBoaWRkZW4gaW4gbW9iaWxlXG4gICAgLy8gc28gaGlkZSBjYXB0aW9uIGFzIHdlbGxcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIEBtZWRpYS0tbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA0JTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1zYW5zLXNlcmlmO1xuICAgICAgICAjbS1mb250LXNpemUoMS4yOCk7XG4gICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19jYXB0aW9uO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWdtZW50ICYge1xuICAgICAgICAgICAgYm90dG9tOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm8gJixcbiAgICAgICAgLnNlZ21lbnQtLWhlcm8gJiB7XG4gICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubHQtaWU5ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG5cbiAgICAgICAgLmhlcm8gJixcbiAgICAgICAgLnNlZ21lbnQtLWhlcm8gJiB7XG4gICAgICAgICAgICBib3R0b206IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuTmV3cyBsaXN0XG5cbkJsb2NrIGZvciBkaXNwbGF5aW5nIHRoZSB0aHJlZSBsYXRlc3QgcG9zdHNcblBhcnQgb2YgYSBzZWdtZW50IGJsb2NrXG4qL1xuXG4ubmV3cy1saXN0IHtcbiAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgJl9fY29udGFpbmVyIHtcblxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSUU4IHNwZWNpZmljIHN0eWxpbmdcbiAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kYXRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDkycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIHBhZGRpbmc6IDlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14eHMpO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1sKTtcblxuICAgICAgICAubmV3cy1saXN0X19pdGVtOmZpcnN0LWNoaWxkICYge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDQuNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWV4Y2VycHQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogMjQ0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE5cHggMTA1cHggMTlweCAyNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLTExNDAge1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjZweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjZweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMzcHggNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgIC5uZXdzLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgJiB7XG4gICAgICAgICAgICAgICAgI20tZm9udC1zaXplKDcuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19idG4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDQlO1xuICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5ld3MtYXJjaGl2ZSB7XG5cbiAgICAmX190b29sYmFyIHtcbiAgICAgICAgcGFkZGluZzogNCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tc2Nob2xhcnNoaXAtbGlnaHQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogNDVweCA0JTtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tYmFzZS1mb250O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLW5ld3MtaXRlbS1iZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgfVxuXG4gICAgJl9faXRlbS1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICB9XG5cbiAgICAmX19pdGVtLWRhdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgIH1cblxuICAgIGgyLCBwIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tbCk7XG4gICAgfVxufVxuIiwiLnNlZ21lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC8vIFdoZW4gc2VnbWVudCBpcyB0aGUgZmlzdCBibG9jayBpdCBhY3RzIGFzIGEgaGVybyBzZWN0aW9uXG4gICAgJi0taGVybyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzZWdtZW50IGlzIHVzZWQgYWJvdmUgdGhlIGZvb3RlciBvbiB2YXJpb3VzIHBhZ2VzXG4gICAgLy8gYW5kIGxpc3RzIGEgY29sbGVjdGlvbnMgb2Ygc2VnbWVudCBpdGVtcyBjaG9vc2VuIGluIGFkbWluLlxuICAgICYtLWxpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLXdoaXRlO1xuICAgIH1cblxuICAgIC8vIEJsb2cgc2VnbWVudCBhbmQgRkFRIGhhcyBhIGRlZmF1bHQgY29sb3IgYW5kIGlzIG5vdCBjdXN0b21pemFibGVcbiAgICAmLS1ibG9nLXBvc3RzLFxuICAgICYtLWZhcSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tZ3JlZW47XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiBAei1pbmRleF9fc2VnbWVudF9fY29udGVudDtcblxuICAgICAgICAmLS1wYWRkaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXh0cmEgcGFkZGluZyB3aGVuIGluIGhlcm8gc2VjdGlvblxuICAgICAgICAuc2VnbWVudC0taGVybyAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmssXG4gICAgJl9faXRlbS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAudS1jbGVhcmZpeDtcbiAgICB9XG5cbiAgICAmX19pdGVtLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19zZWdtZW50X19jb250ZW50O1xuICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgJi0taGFsZiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMiU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNb2RpZmllciBmb3IgdGVzdGltb25pYWwgaXRlbXNcbiAgICAgICAgJi0taGFsZiYtLXRlc3RpbW9uaWFsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vJi0tZGVmYXVsdCB7XG4gICAgICAgICYtLXBhZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXh0cmEgcGFkZGluZyB3aGVuIGluIGhlcm8gc2VjdGlvblxuICAgICAgICAuc2VnbWVudC0taGVybyAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qLS0tLS0tICBDb250YWluZXIgZm9yIHRoZSBXWVNJV1lHIGNvbnRlbnQgIC0tLS0tLSovXG4gICAgJl9fdGV4dC1jb250YWluZXIge1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMi44KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc29jaWFsLWZlZWRzIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oZWFkaW5nIGgyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMy4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0IHBhcmFncmFwaCBhZnRlciBzZWdtZW50IHRpdGxlIGlzXG4gICAgICAgIC8vIGxhcmdlciBpbiBCbG9nIGFuZCBTb2NpYWwgTWVkaWEgc2VnbWVudFxuICAgICAgICAmLS1ibG9nLXBvc3RzIHAsXG4gICAgICAgICYtLXNvY2lhbC1mZWVkcyBwIHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1sKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlc3RyaWN0IHRleHQgd2lkdGggaW4gc2VnbWVudHMgd2l0aCBsYXJnZSBhcnJvd1xuICAgICAgICAvLyAuc2VnbWVudF9faXRlbS1jb250ZW50LS1hcnJvdyAmLS1mdWxsIHtcbiAgICAgICAgLy8gICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAvKiBQcmV2ZW50IGxvbmcgdGl0bGVzIHRvIGJyZWFrIG91dCBvZiBzaXRlIHdpZHRoICovXG4gICAgICAgIC8vIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIC8vIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgLy8gaHlwaGVuczogYXV0bztcblxuICAgICAgICAmLS1zbWFsbCxcbiAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMy4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxhcmdlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tc3dlZGVuc2FucztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXF1b3RlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oCYJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogT24gc3RhcnRwYWdlIHNlZ21lbnQsIHVzZSBsZXNzIGxpbmUgaGVpZ2h0ICovXG4gICAgICAgICAgICAuaG9tZSAmIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICAmLS10ZXN0aW1vbmlhbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgICAgICYtLWRlZmF1bHQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsYXNzIGZyb20gUUJhbmsgcGx1Z2luXG4gICAgLmJnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1zIHtcblxuICAgICAgICAmX190ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAmLS1mdWxsIHAsXG4gICAgICAgICAgICAmLS1kZWZhdWx0IHAge1xuICAgICAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14bCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZS0tbGFyZ2Uge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDUuNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS01MzAge1xuXG4gICAgICAgICZfX2l0ZW0tY29udGVudCB7XG5cbiAgICAgICAgICAgICYtLWZ1bGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5NiU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGFuZCBGdWxsIGNvdmVyIGJnIHNlZ21lbnQgb24gc3RhcnRwYWdlXG4gICAgICAgICAgICAmLS1mdWxsLFxuICAgICAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1kZWZhdWx0LWxlZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODYwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlc3RyaWN0IHRleHQgd2lkdGggaW4gc2VnbWVudHMgd2l0aCBsYXJnZSBhcnJvd1xuICAgICAgICAgICAgLnNlZ21lbnRfX2l0ZW0tY29udGVudC0tYXJyb3cgJi0tZnVsbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICNtLWZvbnQtc2l6ZSgzLjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogVXNlZCBmb3IgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBpbWFnZVxuICAgICAgICBObyBCRU0tY2xhc3MgYmVjYXVzZSBvZiBmdW5jdGl1b24gcmVzdHJpY3Rpb24gKi9cbiAgICAgICAgJi0tZnVsbCAuYmcge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiBAei1pbmRleF9fYmc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2UtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xuXG4gICAgICAgICAgICAgICAgLnNlZ21lbnQtLWRlZmF1bHQ6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1kZWZhdWx0LWxlZnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLW0ge1xuXG4gICAgICAgICZfX2l0ZW0tLWhhbGYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzOTBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taGFsZiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4JSA1JSA3NXB4IDglO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1wYWdlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExlc3MgcGFkZGluZyBvbiB0ZXN0aW1vbmlhbCBzZWdtZW50IGluIHN0YXJ0cGFnZVxuICAgICAgICAgICAgLmhvbWUgJi0tdGVzdGltb25pYWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV2hlbiBzZWdtZW50IGlzIGxvY2F0ZWQgYXMgYSBoZXJvLCBhZGQgcGFkZGluZ1xuICAgICAgICAgICAgLnNlZ21lbnQtLWhlcm8gJiB7XG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogMjk1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICYtLWhhbGYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjgwcHg7XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MzVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZpcnN0IHBhcmFncmFwaCBhZnRlciBzZWdtZW50IHRpdGxlIGlzXG4gICAgICAgICAgICAvLyBsYXJnZXIgaW4gQmxvZyBhbmQgU29jaWFsIE1lZGlhIHNlZ21lbnRcbiAgICAgICAgICAgICYtLWJsb2ctcG9zdHMgcCxcbiAgICAgICAgICAgICYtLXNvY2lhbC1mZWVkcyBwIHtcbiAgICAgICAgICAgICAgICAjbS1mb250LXNpemUoMi4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlLS1sYXJnZSB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoOCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBVc2VkIGZvciB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGltYWdlXG4gICAgICAgIE5vIEJFTS1jbGFzcyBiZWNhdXNlIG9mIGZ1bmN0aXVvbiByZXN0cmljdGlvbiAqL1xuICAgICAgICAuYmcge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiBAei1pbmRleF9fYmc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG5cbiAgICAgICAgJi0taGVybyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAvLyBFeHRyYSBwYWRkaW5nIHdoZW4gaW4gaGVybyBzZWN0aW9uXG4gICAgICAgICAgICAuc2VnbWVudC0taGVybyAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAvLyBXaGVuIHNlZ21lbnQgaXMgbG9jYXRlZCBhcyBhIGhlcm8sIGFkZCBleHRyYSBwYWRkaW5nXG4gICAgICAgICAgICAuc2VnbWVudC0taGVybyAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXWVNJV1lHIGNvbnRlbnRcbiAgICAgICAgJl9fdGV4dC1jb250YWluZXItLWhlYWRpbmcgaDIge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDQuOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZS0tc21hbGwsXG4gICAgICAgICZfX3RpdGxlLS1kZWZhdWx0IHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS10aXRsZS0tc21hbGwtLW1xbCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZS0tcXVvdGUge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDMuMik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSBAbWVkaWEtLTExNDAge1xuICAgICAgICAmX190aXRsZS0tbGFyZ2Uge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLWhlcm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHJvdW5kIGltYWdlIHVzZWQgb24gdGVzdGltb25pYWxzXG4gICAgICAgICZfX2ltYWdlLWNvbnRhaW5lci0tdGVzdGltb25pYWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTI1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLTEzNDAge1xuXG4gICAgICAgICZfX3RleHQtY29udGFpbmVyLS1oYWxmIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQtY29udGFpbmVyLS1oZWFkaW5nIGgyIHtcbiAgICAgICAgICAgI20tZm9udC1zaXplKDYuMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZS0tc21hbGwsXG4gICAgICAgICZfX3RpdGxlLS1kZWZhdWx0IHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS10aXRsZS0tc21hbGwtLW1xMTM0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZS0tcXVvdGUge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXRpdGxlLS1xdW90ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqXG4gKiBCbG9nIHBvc3RzXG4gKlxuICogQmxvY2sgZm9yIGRpc3BsYXlpbmcgdGhlIGxhdGVzdCBwb3N0IGZyb20gc3R1ZGVudCBibG9nXG4gKiBQYXJ0IG9mIGEgc2VnbWVudCBibG9ja1xuICpcbiAqL1xuXG4uYmxvZy1wb3N0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIC51LWNsZWFyZml4O1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAjbS1mb250LXNpemUoMi45KTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAmX19pdGVtLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1zd2VkZW5zYW5zO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teGwpO1xuICAgIH1cblxuICAgICZfX2l0ZW0tY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICB9XG5cbiAgICAmX19hdXRob3ItaW5mbyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIC51LWNsZWFyZml4O1xuICAgICAgICAvLyBBdmF0YXIgaW1nXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDbGVhcmZpeCBtb2RpZmllZCB0byBhbGlnbiB0byBib3R0b21cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdXRob3ItbmFtZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1zd2VkZW5zYW5zO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tcyk7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kYXRlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHhzKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS01MzAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNDglO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tY29udGVudCB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoMS45KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2F1dGhvci1pbmZvIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idG4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xMzQwIHtcblxuICAgICAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14eGwpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIvKipcbiAqXG4gKiBJbnN0YWdyYW0gcG9zdHNcbiAqXG4gKiBCbG9jayB1c2VkIGluc2lkZSBhIHNlZ21lbnQuIENvbnRhaW5zIHRoZSB0aHJlZSBsYXRlc3RcbiAqIHVwZGF0ZXMgZnJvbSBJbnN0YWdyYW0gd2l0aCBpbWFnZSBhbmQgY2FwdGlvbiB0ZXh0LlxuICpcbiAqL1xuXG4uaW5zdGFncmFtLXBvc3RzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgLnUtY2xlYXJmaXg7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICNtLWZvbnQtc2l6ZSgyLjkpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgJl9faXRlbS1jYXB0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMwMDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9faXRlbS1saW5rIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tc3dlZGVuc2FucztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kYXRlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMwMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgJl9faXRlbS1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgLmluc3RhZ3JhbS1wb3N0c19faXRlbTpob3ZlciAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tY2FwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idG4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xMTQwIHtcblxuICAgICAgICAmX19pdGVtLWNhcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14eGwpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcblNvY2lhbCBmZWVkc1xuXG5CbG9jayBmb3IgZGlzcGxheWluZyB1cGRhdGVzIGZyb20gRmFjZWJvb2sgYW5kIFR3aXR0ZXJcblBhcnQgb2YgYSBzZWdtZW50IGJsb2NrXG4qL1xuLnNvY2lhbC1mZWVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDYlO1xuICAgIHBhZGRpbmctYm90dG9tOiA2JTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgI20tZm9udC1zaXplKDQpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICYtLXR3aXR0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mZWVkLWljb24ucG5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2l0ZW0taW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pdGVtLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgI20tZm9udC1zaXplKDEuOSk7XG5cbiAgICAgICAgLnNvY2lhbC1mZWVkX19pdGVtOmhvdmVyICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgICAgICAmLS1mYWNlYm9vayB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgybil7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXR3aXR0ZXI6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2JSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKlxuICogQ2FsZW5kYXIgT3ZlcnZpZXdcbiAqXG4gKiBUaGUgYmxvY2sgaXMgdXNlZCBpbiB0aGUgY2FsZW5kYXIgc2VnbWVudCBvbiBzdGFydHBhZ2UuXG4gKiBQYXJ0IG9mIGEgc2VnbWVudCBibG9jay5cbiAqXG4gKi9cblxuLmNhbGVuZGFyLW92ZXJ2aWV3IHtcbiAgICAudS1jbGVhcmZpeDtcblxuICAgICZfX2xpc3Qge1xuXG4gICAgICAgICYtLWZlYXR1cmVkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElFOCBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5sdC1pZTkgJi0tZmVhdHVyZWQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmx0LWllOSAmLS1vdGhlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDFweCAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAvLyBJRTggc3BlY2lmaWMgc3R5bGluZ1xuICAgICAgICAubHQtaWU5ICYge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcHggMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3JkZXItc3BhY2luZzogMXB4IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG5cbiAgICAmX19pdGVtLWRhdGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTEzcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWNhbGVuZGFyLWxpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgICAvLyBXaGl0ZSBiYWNrZ3JvdW5kIHdoZW4gaXRlbSBpcyBob3ZlcmVkXG4gICAgICAgIC5jYWxlbmRhci1vdmVydmlld19faXRlbTpob3ZlciAmIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItLWNhbGVuZGFyLWxpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14eGwpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDYuNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tY2FsZW5kYXItbGlnaHQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXG4gICAgICAgIC8vIFdoaXRlIGJhY2tncm91bmQgd2hlbiBpdGVtIGlzIGhvdmVyZWRcbiAgICAgICAgLmNhbGVuZGFyLW92ZXJ2aWV3X19pdGVtOmhvdmVyICYge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0tY2FsZW5kYXItbGlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tbSk7XG5cbiAgICAgICAgICAgIC5jYWxlbmRhci1vdmVydmlld19faXRlbS0tZmVhdHVyZWQgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLWNhbGVuZGFyLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tMTE0MCB7XG5cbiAgICAgICAgJl9fbGlzdCB7XG5cbiAgICAgICAgICAgICYtLWZlYXR1cmVkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1jYWxlbmRhci1saWdodDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLW90aGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY3JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgJi0tb3RoZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWZlYXR1cmVkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM0M3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNDNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLWRhdGUtLWZlYXR1cmVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyM3B4IDE4cHggMjNweDtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMTFweCAtNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLWNhbGVuZGFyLWRhdGUtaG9tZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC5jYWxlbmRhci1vdmVydmlld19faXRlbS0tZmVhdHVyZWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyM3B4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIENhbGVuZGFyIEFyY2hpdmVcbiAqXG4gKiBUaGUgYmxvY2sgaXMgdXNlZCBpbiB0aGUgc2ktY2FsZW5kYXItYXJjaGl2ZSB0ZW1wbGF0ZS5cbiAqIENvbnRhaW5zIGZvcm0tdG9vbGJhciBibG9jay5cbiAqXG4gKi9cblxuLmNhbGVuZGFyLWFyY2hpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tY2FsZW5kYXI7XG5cbiAgICAmX190b29sYmFyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA0JSAzMHB4IDQlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWNhbGVuZGFyLWxpZ2h0O1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyOXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci0tY2FsZW5kYXItbGlnaHQ7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICB9XG5cbiAgICAmX19oZWFkZXItZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tY2FsZW5kYXItZGF0ZS1hcmNoaXZlKTtcbiAgICB9XG5cbiAgICAvLyBTcGFuIGNvbnRhaW5pbmcgc2hvcnQgYW5kIGxvbmcgdmVyc2lvbiBvZiBkYXRlXG4gICAgLy8gRXhhbXBsZTogbG93LXJlczogT2N0IDIwMTUgLyBoaWdoLXJlczogT2N0b2JlciAyMDE1XG4gICAgJl9faGVhZGVyLWRhdGUtc3BhbiB7XG4gICAgICAgICYtLWxvdy1yZXMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJi0taGlnaC1yZXMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItLWNhbGVuZGFyLWxpZ2h0O1xuICAgIH1cblxuICAgICZfX2l0ZW0tY29udGFpbmVyIHtcblxuICAgIH1cblxuICAgICZfX2l0ZW0tZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmNTZjODI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1jYWxlbmRhci1pdGVtLWRhdGUtYXJjaGl2ZSk7XG4gICAgfVxuXG4gICAgJl9faXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tbCk7XG4gICAgfVxuXG4gICAgJl9faXRlbS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcblxuICAgICAgICAmX19oZWFkZXItZGF0ZSB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tY2FsZW5kYXItZGF0ZS1hcmNoaXZlLW1xbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXItZGF0ZS1zcGFuIHtcbiAgICAgICAgICAgICYtLWxvdy1yZXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1oaWdoLXJlcyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0tZGF0ZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MnB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1jYWxlbmRhci1kYXRlLWFyY2hpdmUtbXFtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuXG4gICAgICAgICZfX2l0ZW0tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTY4MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbS1kYXRlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqXG4gKiBGb290ZXIgTWFpblxuICpcbiAqIEZvb3RlciBibG9jayBjb250YWlucyBkaWZmcmVudCBtZW51cyBkZXBlbmRpbmcgb24gc2l0ZVxuICogYW5kIHdpZGdldCBjb250ZW50IGFzIHRleHQgb3IgbGlua3MuIE1vc3QgbWVudSBjbGFzc2VzXG4gKiBhcmUgd29yZHByZXNzIGdlbmVyYXRlZCBhbmQgZG9uJ3QgZm9sbG93IEJFTSBzdHJ1Y3R1cmUuXG4gKlxuICovXG5cblxuLmZvb3Rlci1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1mb290ZXI7XG4gICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogNCU7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tICBGb290ZXIgV2lkZ2V0cyAgLS0tLS0tLS0tLSovXG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tZm9vdGVyLWZvbnQ7XG5cbiAgICAgICAgLnRleHR3aWRnZXQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tdGl0bGUtLXNtYWxsLS1tcWwpO1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICNtLXNwcml0ZSg2LCA0KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMjVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29weXJpZ2h0IGluZm9cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0tZm9vdGVyLWZvbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0gIEZvb3RlciBtZW51IC0gcG9saWN5IGxpbmtzIC0tLS0tLS0tLS0qL1xuICAgIC8vIE1lbnVzIGFyZSBwYXJ0IG9mIGZvb3RlciB3aWRnZXQgYXJlYSxcbiAgICAvLyB0aGVyZWZvcmUgY3VzdG9tIGNsYXNzZXMgYXJlIG5vdCBhcHBsaWVkXG5cblxuICAgICNtZW51LWZvb3Rlci1wb2xpY3ktbGlua3Mge1xuICAgICAgICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLSAgRm9vdGVyIG1lbnUgLSBvdGhlciBsYW5ndWFnZXMgIC0tLS0tLS0tLS0qL1xuXG4gICAgI21lbnUtb3RoZXItbGFuZ3VhZ2VzLWZvb3RlciB7XG4gICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgbGkge1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRlIGxpbmsgYXJyb3dcbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tICBGb290ZXIgbWVudSAtIGxpbmtzICAtLS0tLS0tLS0tKi9cblxuICAgIC8vIFJlbW92ZSBib3JkZXJzIGluIElFOFxuICAgIC5sdC1pZTkgJiAubWVudS1mb290ZXItbGlua3MtY29udGFpbmVyIGxpIHtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1lbnUtZm9vdGVyLWxpbmtzLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDQ2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHVsLm5hdi1tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgQGNvbG9yLS1mb290ZXItZm9udDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgQGNvbG9yLS1mb290ZXItZm9udDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIEBjb2xvci0tZm9vdGVyLWZvbnQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBjb2xvci0tZm9vdGVyLWZvbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIC5tZW51LWZvb3Rlci1saW5rcy1jb250YWluZXIgbGkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICAgICAgICAgICAvLyBBbGlnbiBpY29ucyB0byB0aGUgbGVmdCBpbiBJRThcbiAgICAgICAgICAgIC5sdC1pZTkgJiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIaWRlIGxpbmsgYXJyb3dcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3dlZGVuIGEge1xuICAgICAgICAgICAgd2lkdGg6IDE3OXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1M3B4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc3ZnL3N3ZWRlbi1ibHVlLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgUE5HIGluIElFOFxuICAgICAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvZ29fc2kucG5nKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2kgYSB7XG4gICAgICAgICAgICB3aWR0aDogNjhweDtcbiAgICAgICAgICAgIGhlaWdodDogNDZweDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9zdmcvc2ktYmx1ZS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIFBORyBpbiBJRThcbiAgICAgICAgICAgIC5sdC1pZTkgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9zaS1ibHVlLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tICBGb290ZXIgbWVudSAtIHNvY2lhbCBsaW5rcyAgLS0tLS0tLS0tLSovXG5cbiAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIHNvY2lhbCBsaW5rcyBpbiBJRThcbiAgICAubHQtaWU5ICYgLm1lbnUtZm9vdGVyLXNvY2lhbC1saW5rcy1jb250YWluZXIgbGk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTZiNzA1O1xuICAgIH1cblxuICAgIC5tZW51LWZvb3Rlci1zb2NpYWwtbGlua3MtY29udGFpbmVyIHtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiBAei1pbmRleF9fbWVudS1zb2NpYWxfX2l0ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiBAei1pbmRleF9fbWVudS1zb2NpYWxfX2ljb247XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm1haWwge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI20tc3ByaXRlKDMsIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbS1zcHJpdGUoNCwgMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnR3aXR0ZXIge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI20tc3ByaXRlKDUsIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi52aW1lbyB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbS1zcHJpdGUoNiwgMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnlvdXR1YmUge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI20tc3ByaXRlKDcsIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI20tc3ByaXRlKDgsIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi55b3VrdSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbS1zcHJpdGUoNSwgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLndlaWJvIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtLXNwcml0ZSg2LCA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYud2VjaGF0IHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtLXNwcml0ZSg0LCA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAjbS1hYnNvbHV0ZS1jZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19tZW51LXNvY2lhbF9fbGluaztcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0gIEZvb3RlciBtZW51IC0gcGFnZSBsaW5rcyAgLS0tLS0tLS0tLSovXG5cbiAgICAubWVudS1mb290ZXItcGFnZS1saW5rcy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxNDJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTViNjA0O1xuICAgICAgICAjbS1mb250LXNpemUoMS41KTtcblxuICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2xpbmtfY2JfYXJyb3dfaG92ZXIucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcblxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctcmlnaHQgMC4xNXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX3Nsb2dhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbSB7XG5cbiAgICAgICAgLm1lbnUtZm9vdGVyLWxpbmtzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ0NnB4O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgQGNvbG9yLS1mb290ZXItZm9udDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgQGNvbG9yLS1mb290ZXItZm9udDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBAY29sb3ItLWZvb3Rlci1mb250O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNDclO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXRpdGxlLS1tcWw5ODApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2xvZ2FuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zbG9nYW4taW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0teGwge1xuXG4gICAgICAgICNtZW51LWZvb3Rlci1wb2xpY3ktbGlua3MsXG4gICAgICAgICNtZW51LW90aGVyLWxhbmd1YWdlcy1mb290ZXIge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuU2VhcmNoIHJlc3VsdFxuXG5BIGxpc3QgdmlldyBmb3IgcHJlc2VudGluZyBzZWFyY2ggcmVzdWx0c1xuKi9cbi5zZWFyY2gtcmVzdWx0IHtcbiAgICBwYWRkaW5nOiA0JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS10aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLW0pO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItLWJhc2UtZm9udDtcblxuICAgICAgICAmLS1wZXJtYWxpbmsge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd18xM19ibC5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1zd2VkZW5zYW5zO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItLXNlYXJjaDtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2l0ZW0tZXhjZXJwdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItLWJhc2UtZm9udDtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcbiAgICAgICAgJl9faXRlbS10aHVtYm5haWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG4iLCIubWVudS1icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI0MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEyNXB4IDEwcHggNCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tYnJlYWRjcnVtYjtcbiAgICAgICAgei1pbmRleDogQHotaW5kZXhfX2JyZWFkY3J1bWI7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1icmVhZGNydW1iKTtcblxuICAgICAgICAuaGFzLWdsb2JhbC1tZW51ICYge1xuICAgICAgICAgICAgdG9wOiAyNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbS1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0tZGFyay1ibHVlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLTEyMDAge1xuXG4gICAgICAgIC5oYXMtZ2xvYmFsLW1lbnUgJiB7XG4gICAgICAgICAgICB0b3A6IDI0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tMTM0MCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTc1cHggMTVweCA0JTtcbiAgICB9XG59XG4iLCIvKipcbiAqXG4gKiBFeHBhbmRlciBsaW5rc1xuICpcbiAqIEV4cGFuZGVyIGxpbmtzIGFyZSB1c2VkIHRvIHRvZ2dsZSBjYWxlbmRlciBvciBGQVEgaXRlbXMgd2l0aCB0b28gbG9uZyB0ZXh0LlxuICogLnJlYWQtbGVzcyBhbmQgLnJlYWQtbW9yZSBsaW5rcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlIGpRdWVyeSBleHBhbmRlciBwbHVnaW4uXG4gKlxuICovXG5cbi5leHBhbmRlci1saW5rcyB7XG5cbiAgICAucmVhZC1tb3JlLFxuICAgICZfX3JlYWQtbW9yZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDo0cHg7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAjbS1zcHJpdGUoMywgNCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVhZC1tb3JlLS1yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAucmVhZC1sZXNzLFxuICAgICZfX3JlYWQtbGVzcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICAjbS1zcHJpdGUoNCwgNCk7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVhZC1tb3JlIGEsXG4gICAgLnJlYWQtbGVzcyBhLFxuICAgICZfX3JlYWQtbW9yZS1saW5rLFxuICAgICZfX3JlYWQtbGVzcy1saW5rIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6MC4wNWVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcblNjaG9sYXJzaGlwcyBsaXN0IHBhZ2VcblxuVGhlIGJsb2NrIGlzIHVzZWQgaW4gdGhlIHNpLXNjaG9sYXJzaGlwLWxpc3QtcGFnZSB0ZW1wbGF0ZS5cbkNvbnRhaW5zIGZvcm0tdG9vbGJhciBibG9jay5cbiovXG4uc2Nob2xhcnNoaXBzIHtcblxuICAgICZfX3Rvb2xiYXIge1xuICAgICAgICBwYWRkaW5nOiA0OHB4IDQlIDU4cHggNCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tc2Nob2xhcnNoaXAtbGlnaHQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICZfX3Rvb2xiYXItdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1zY2hvbGFyc2hpcDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICNtLWZvbnQtc2l6ZSgzKTtcbiAgICB9XG5cbiAgICAmX19pdGVtLWxpbmsge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmX19pdGVtLWNvbnRhaW5lcixcbiAgICAmX19uby1yZXN1bHQge1xuICAgICAgICBwYWRkaW5nOiAzOHB4IDQlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICB9XG5cbiAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXNjaG9sYXJzaGlwLXRpdGxlKTtcbiAgICB9XG5cbiAgICAmX19pdGVtLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgICZfX25vLXJlc3VsdC1saW5rIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuIiwiLyoqXG4gKlxuICogRWR1Y2F0aW9uXG4gKlxuICogRWR1Y2F0aW9uIGJsb2NrIGlzIHVzZWQgaW4gc2ktZWR1Y2F0aW9uLWxhbmRpbmctcGFnZSB0ZW1wbGF0ZVxuICogYW5kIGxpc3RzIGFsbCBhdmFpbGFibGUgcHJvZ3JhbW1lcy4gQ29udGFpbnMgZm9ybS10b29sYmFyIGJsb2NrLlxuICpcbiAqL1xuXG4uZWR1Y2F0aW9uIHtcblxuICAgICZfX3Rvb2xiYXIge1xuICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1lZHVjYXRpb24tbGlnaHQ7XG4gICAgfVxuXG4gICAgJl9fdG9vbGJhci10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1lZHVjYXRpb247XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tdG9vbGJhci1lZHVjYXRpb24pO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIH1cblxuICAgICZfX3Rvb2xiYXItZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1lZHVjYXRpb247XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgJl9fcmVzdWx0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJl9fcmVzdWx0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDclO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNiU7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGNvbG9yLS1lZHVjYXRpb24taXRlbS1ib3JkZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJl9faXRlbS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAyMnB4IDQlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAjbS1mb250LXNpemUoMy4wKTtcbiAgICB9XG5cbiAgICAmX19pdGVtLXRpdGxlLWxpbmsge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItLWRhcmstYmx1ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgICAgICAmLS1wcm9ncmFtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBhbmRlci1saW5rc19fcmVhZC1sZXNzIGEge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0td2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWRlc2NyaXB0aW9uLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbSB7XG5cbiAgICAgICAgJl9fcmVzdWx0LXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyJTtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1lZHVjYXRpb24tcmVzdWx0LXRpdGxlLW1xbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1sIHtcblxuICAgICAgICAmX190b29sYmFyLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19yZXN1bHQtdGl0bGUge1xuICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLWVkdWNhdGlvbi1yZXN1bHQtdGl0bGUtbXFsKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICpcbiAqIFNjaG9vbFxuICpcbiAqIFRoZSBibG9jayBjb250YWlucyB0b29sYmFyIGFuZCBsaXN0aW5nIG9mIHVuaXZlcnNpdGllcyAocGxhY2VtYXJrcykuXG4gKiBVc2VkIGluIHNpLXNjaG9vbC1tYXAgdGVtcGxhdGUuXG4gKlxuICovXG5cbi5zY2hvb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAmX190b29sYmFyIHtcbiAgICAgICAgcGFkZGluZzogNCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tbGlnaHQtYmx1ZTtcblxuICAgICAgICAubHQtaWU5ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Rvb2xiYXItdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tZWR1Y2F0aW9uO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXRvb2xiYXItZWR1Y2F0aW9uKTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICB9XG5cbiAgICAmX190b2dnbGUtZmlsdGVyLWxpbmsge1xuICAgICAgICBjb2xvcjogIzAwOTZlMTtcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXhzKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Nwcml0ZXMucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tb3BlbjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwcHggLTI1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2xvc2U6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1MHB4IC0yNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BsYWNlbWFyay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAzJSA0JSA0JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmX19wbGFjZW1hcmstbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tYWtrdXJhdDtcbiAgICB9XG5cbiAgICAmX19wbGFjZW1hcmstaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fcGxhY2VtYXJrLWl0ZW0tbGluayB7XG4gICAgICAgICNtLWZvbnQtc2l6ZSgxLjUpO1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wbGFjZW1hcmstdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1tKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS01MDAge1xuXG4gICAgICAgICZfX3BsYWNlbWFyay1saXN0IHtcbiAgICAgICAgICAgICNtLWNvbHVtbi1jb3VudCgyKTtcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlcyBmb3IgY2hpbmVzZSBtYXAgcGFnZVxuICAgICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtc2ktc2Nob29sLW1hcC1jaC1waHAgJiB7XG4gICAgICAgICAgICAgICAgI20tY29sdW1uLWNvdW50KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbSB7XG5cbiAgICAgICAgJl9fcGxhY2VtYXJrLWxpc3Qge1xuICAgICAgICAgICAgI20tY29sdW1uLWNvdW50KDMpO1xuICAgICAgICAgICAgI20tY29sdW1uLWdhcCg0MHB4KTtcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlcyBmb3IgY2hpbmVzZSBtYXAgcGFnZVxuICAgICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtc2ktc2Nob29sLW1hcC1jaC1waHAgJiB7XG4gICAgICAgICAgICAgICAgI20tY29sdW1uLWNvdW50KDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG5cbiAgICAgICAgJl9fcGxhY2VtYXJrLWxpc3Qge1xuICAgICAgICAgICAgI20tY29sdW1uLWNvdW50KDQpO1xuICAgICAgICAgICAgLy8gT3ZlcnJpZGVzIGZvciBjaGluZXNlIG1hcCBwYWdlXG4gICAgICAgICAgICAucGFnZS10ZW1wbGF0ZS1zaS1zY2hvb2wtbWFwLWNoLXBocCAmIHtcbiAgICAgICAgICAgICAgICAjbS1jb2x1bW4tY291bnQoMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2Nob29sLXNpbmdsZSB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItLWJvZHk7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tc3dlZGVuc2FucztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tc2Nob29sLXNpbmdsZS10aXRsZSk7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0tZGFyay1ibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICZfX2luZm8tbGlzdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0JTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQlO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgfVxuXG4gICAgJl9faW5mby1pdGVtIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICBhLCAvLyBTb21lIGxpbmtzIGFyZSB1bmFibGUgdG8gc2V0IGNsYXNzXG4gICAgJl9faW5mby1pdGVtLWxpbmsge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX3d5c2l3eWcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0JTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tc2Nob29sLXNpbmdsZS10aXRsZS1tcW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW5mby1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogNCUgNCUgNCUgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zY2hvb2wtc2luZ2xlLXRpdGxlLW1xbCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX193eXNpd3lnIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLyoqXG4gKlxuICogU2Nob29sIG1hcFxuICpcbiAqIFRoZSBibG9jayBjb250YWlucyBhIGdvb2dsZSBtYXAgd2l0aCBwbGFjZW1hcmtlcnMuXG4gKiBUaGUgY2xhc3NlcyBhcmUgZGVmaW5lZCBpbiB0aGUganMgZmlsZXMuXG4gKiBVc2VkIGluIHNpLXNjaG9vbC1tYXAgdGVtcGxhdGUgYW5kIHNpLXNjaG9vbC1wbGFjZW1hcmtzLXBhZ2UuXG4gKlxuICovXG5cbi5zY2hvb2wtbWFwIHtcblxuICAgICYtLW92ZXJ2aWV3IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU5JTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLnNpX2luZm9fd2luZG93IHtcblxuICAgICAgICAuaW5mb1dpbmRvd0NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDI1cHggMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZHJlc3Mge1xuICAgICAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zY2hvb2wtbWFwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZW1haWwsXG4gICAgICAgICAgICAud2Vic2l0ZSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS14cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tc2Nob29sLW1hcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI2Zyb2pkLWdvb2dsZS1tYXBzLW92ZXJsYXktdmlldy1hcnJvdyB7XG4gICAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjZnJvamQtZ29vZ2xlLW1hcHMtb3ZlcmxheS12aWV3LWNsb3NlIHtcbiAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvc3ByaXRlcy5wbmcnKSBuby1yZXBlYXQgLTQwMHB4IC0zMDBweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM1MHB4IC0zMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICpcbiAqIFNvY2lhbCBzaGFyZVxuICpcbiAqIFRoZSBibG9jayBjb250YWlucyBvZiBmYiBhbmQgdHdpdHRlciBzaGFyZSBidXR0b25zLlxuICogVXNlZCBpbiBzaW5nbGUsIHBhZ2UgYW5kIHNpbmdsZS1zY2hvbGFyc2hpcCB0ZW1wbGF0ZS5cbiAqXG4gKi9cblxuLnNvY2lhbC1zaGFyZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLnN0dWNrIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgJi0tZmIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mYi1zaGFyZS1pY29uLnBuZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3N2Zy9mYi1zaGFyZS1pY29uLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmItc2hhcmUtaWNvbl9ob3Zlci5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3ZnL2ZiLXNoYXJlLWljb25faG92ZXIuc3ZnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXR3aXR0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy90dy1zaGFyZS1pY29uLnBuZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3N2Zy90dy1zaGFyZS1pY29uLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvdHctc2hhcmUtaWNvbl9ob3Zlci5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3ZnL3R3LXNoYXJlLWljb25faG92ZXIuc3ZnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgLy8gUmVtb3ZlIGlmIG5vdCB1c2VkXG4gICAgICAgICAgICAmLnN0aWNreSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tZWRpYS12aWV3ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19tZWRpYS12aWV3ZXJfX2xhYmVsO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICNtLWZvbnQtc2l6ZSgxLjUpO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgei1pbmRleDogQHotaW5kZXhfX21lZGlhLXZpZXdlcl9fYWZ0ZXI7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubHQtaWU5ICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzMzQTZERjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFjdGl2ZSB0YWIgc3R5bGluZ1xuICAgICAgICAubWVkaWEtdmlld2VyX19pbnB1dDpjaGVja2VkICsgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYtLW1hcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgI3ZpZGVvOmNoZWNrZWQgfiAmLS12aWRlbyxcbiAgICAgICAgI3Bob3RvczpjaGVja2VkIH4gJi0tcGhvdG9zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgI21hcDpjaGVja2VkIH4gJi0tbWFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVkaWEtaXRlbS1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1Ni4yNSUgMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIEdvb2dsZSBtYXBzIHN0eWxpbmdcbiAgICBpZnJhbWUsXG4gICAgI2Zyb2pkLWdvb2dsZS1tYXBzLW1hcCB7XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0NyU7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIHotaW5kZXg6IEB6LWluZGV4X19tZWRpYS12aWV3ZXJfX2Fycm93O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLy8gSGlkZSBuYXZpZ2F0aW9uIGFycm93cyBpbiBJRThcbiAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAjbS1zcHJpdGUoNywgNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgI20tc3ByaXRlKDgsIDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeS1tZXRhLWRhdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLW0ge1xuXG4gICAgICAgICZfX2dhbGxlcnktbWV0YS1kYXRhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgI20tZm9udC1zaXplKDEuMyk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2dhbGxlcnktZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xNjgwIHtcblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTQ5cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICpcbiAqIFNlYXJjaGZvcm1cbiAqXG4gKiBTZWFyY2ggaW5wdXQgZGlzcGxheWVkIGluIG1vYmlsZSBtZW51IGFuZCBuYXZiYXIuXG4gKlxuICovXG5cbi5mb3JtLXNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1kYXJrLWJsdWU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXh4cyk7XG4gICAgICAgICNtLXBsYWNlaG9sZGVyKEBjb2xvci0tZGFyay1ibHVlKTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDIwNXB4O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgICAgLmhhcy1nbG9iYWwtbWVudSAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0aWNreSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9zZWFyY2gtZGFyay1ibHVlLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW5wdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IEBoZWlnaHQtLXN0aWNreS1tZW51O1xuICAgICAgICAgICAgcGFkZGluZzogMXB4IDQ1cHggMXB4IDE1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1zZWFyY2hmb3JtO1xuICAgICAgICAgICAgY29sb3I6ICMwMDViOTU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXh4cyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNXM7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC5zdGlja3kgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAzN3B4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAyODBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAjbS1wbGFjZWhvbGRlcigjZmZmKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAaGVpZ2h0LS1zdGlja3ktbWVudTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oYXMtZ2xvYmFsLW1lbnUgJiB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGlja3kgJl9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIGhlaWdodDogQGhlaWdodC0tc3RpY2t5LW1lbnU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9zZWFyY2gucG5nKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS0xMjYwIHtcblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICByaWdodDogNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmZvcm0tY29udGFjdCB7XG4gICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zKTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgJl9fZmllbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgJl9fZmllbGQtbGFiZWx7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICAmX19maWVsZC1pbnB1dCwgJl9fZmllbGQtdGV4dGFyZWEsICZfX2ZpZWxkLXNlbGVjdHtcbiAgICAgICAgcGFkZGluZzogMThweCAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tcyk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzAwOTZFMTtcbiAgICAgICAgLmVycm9yICYge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItLXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkLXNlbGVjdCB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZC10ZXh0YXJlYXtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmX19maWVsZC1lcnJvci1tZXNzYWdle1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb2xvcjogQGNvbG9yLS1yZWQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAuZXJyb3IgJntcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3ZlcnJpZGUgLmhlcm9fX2NvbnRlbnQgcFxuICAgICZfX21lc3NhZ2UgcCB7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1zKTtcbiAgICB9XG5cblxuICAgIEBtZWRpYSBAbWVkaWEtLW0ge1xuICAgICAgICAmX19maWVsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWNvbnRhY3RfX2J0biB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVzc2FnZSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKlxuICogRm9ybSB0b29sYmFyXG4gKlxuICogVGhlIGJsb2NrIGNvbnRhaW5zIGEgc2VhcmNoL2ZpbHRlciBmb3JtIHdpdGggZGlmZnJlbnQgZmllbGRzLlxuICogVXNlZCBvbiBwYWdlczogQ2FsZW5kYXIsIFNjaG9sYXJzaGlwcywgVW5pdmVyc2l0aWVzIGFuZCBOZXdzIEFyY2hpdmUuXG4gKlxuICovXG5cbi5mb3JtLXRvb2xiYXIge1xuXG4gICAgJl9fY29udGFpbmVyLS1zY2hvb2wtbWFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6IEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0tZm9ybS10b29sYmFyLXRpdGxlKTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1mb3JtLWZpZWxkLWxhYmVsKTtcblxuICAgICAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItLXByaW1hcnktYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrYm94IGluIHNpLXNjaG9vbC1tYXAgdGVtcGxhdGVcbiAgICAgICAgJi0tY2hlY2tib3gge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHhzKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3Nwcml0ZXMucG5nJykgbm8tcmVwZWF0IC0zMDBweCAtMjUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2hlY2tlZDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTBweCAtMjUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYtLXNlbGVjdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDYzcHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc2VsZWN0LWFycm93c19mb3JtLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50aGVtZS0tYmx1ZTphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1wcmltYXJ5LWJsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudGhlbWUtLXJlZDphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLS1yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZC1zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2M3B4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTlweCAxNXB4O1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICNtLWZvbnQtc2l6ZShAZm9udC1zaXplLS1mb3JtLWZpZWxkKTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZC1pbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNjVweDtcbiAgICAgICAgI20tZm9udC1zaXplKEBmb250LXNpemUtLXhzKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LS1ha2t1cmF0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IEBjb2xvci0tcHJpbWFyeS1ibHVlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NlYXJjaC1ibHVlLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgICAgICBib3JkZXItbGVmdDogMTVweCBzb2xpZCAjZmZmO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDE1cHggc29saWQgI2ZmZjtcbiAgICB9XG5cbiAgICAmX19maWVsZC1jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fc3VibWl0LWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tNTAwIHtcblxuICAgICAgICAmX19pdGVtLS1jaGVja2JveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJtaXQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbWVkaWEtLW0ge1xuXG4gICAgICAgICZfX2ZpZWxkLS1maXhlZC13aXRoIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZpZWxkLWxhYmVsLS1jaGVja2JveCB7XG4gICAgICAgICAgICAjbS1mb250LXNpemUoQGZvbnQtc2l6ZS0teHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG5cbiAgICAgICAgJi0tdGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtLS1jaGVja2JveCB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmllbGQge1xuXG4gICAgICAgICAgICAmLS10YWJsZS1jZWxsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tcm93LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tcGVyaW9kIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1hY3Rpb24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICpcbiAqIExpbmsgYXJyb3dcbiAqXG4gKiBUaGUgYmxvY2sgaXMgdXNlZCBvbiBkZWZhdWx0IHNlZ21lbnQgYmxvY2tzIHdoZW4gYSBsaW5rIGlzIHByZXNlbnRcbiAqIGFuZCBkaXNwbGF5cyBhbiBhcnJvdyBhcyBhIGJhY2tncm91bmQgaW1hZ2UuIFN0eWxpbmcgYXBwbGllcyB0byB0aGVcbiAqIGVsZW1lbnQgd2l0aCB0aGUgY2xhc3MgYnV0IGFsc28gdGFyZ2V0cyBuZXN0ZWQgc2VnbWVudF9fdGV4dC1jb250YWluZXIuXG4gKlxuICovXG5cbi5saW5rLWFycm93IHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcblxuICAgIC8qLS0tLS0tLS0tLSAgU2VnbWVudHMgd2l0aCBsYXJnZSBhcnJvdyAgLS0tLS0tLS0tLSovXG5cbiAgICAmLS1sYXJnZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk2JSA5MiU7XG5cbiAgICAgICAgLy8gUmVzdHJpY3QgdGV4dCB3aWR0aCBpbiBzZWdtZW50cyB3aXRoIGxhcmdlIGFycm93XG4gICAgICAgIC5zZWdtZW50X190ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGFyZ2UmLS13aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfMjZfd2gucG5nKTtcbiAgICB9XG5cbiAgICAmLS1sYXJnZSYtLWJsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd18yNl9ibC5wbmcpO1xuICAgIH1cblxuICAgICYtLWxhcmdlJi0tYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfMjZfYmx1ZS5wbmcpO1xuICAgIH1cblxuXG4gICAgLyotLS0tLS0tLS0tICBTZWdtZW50cyB3aXRoIHNtYWxsIGFycm93ICAtLS0tLS0tLS0tKi9cblxuICAgICYtLXNtYWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTYlIDkyJTtcbiAgICB9XG5cbiAgICAmLS1zbWFsbCYtLXdoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd18yNl93aC5wbmcpO1xuICAgIH1cblxuICAgICYtLXNtYWxsJi0tYmxhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fycm93XzI2X2JsLnBuZyk7XG4gICAgfVxuXG4gICAgJi0tc21hbGwmLS1ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd18yNl9ibHVlLnBuZyk7XG4gICAgfVxuXG5cbiAgICAvKi0tLS0tLS0tLS0gIFNlZ21lbnRzIHdpdGggZXh0ZXJuYWwgbGluayAgLS0tLS0tLS0tLSovXG5cbiAgICAmLS1leHQmLS13aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZXh0YXJyb3dfMjZfd2gucG5nKTtcbiAgICB9XG5cbiAgICAmLS1leHQmLS1ibGFjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZXh0YXJyb3dfMjZfYmwucG5nKTtcbiAgICB9XG5cbiAgICAmLS1leHQmLS1ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9leHRhcnJvd18yNl9ibHVlLnBuZyk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogaW5jb3Jwb3JhdGUgdGhpc1xuICAgIC8vIFdoZW4gc2VnbWVudCBpcyBsb2NhdGVkIGFzIGEgaGVybyBhZGQgZXh0cmEgcGFkZGluZ1xuICAgIC8vIC5zZWdtZW50LS1oZXJvICYge1xuICAgIC8vICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgLy8gfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tcyB7XG5cbiAgICAgICAgLyotLS0tLS0tLS0tICBTZWdtZW50cyB3aXRoIGxhcmdlIGFycm93ICAtLS0tLS0tLS0tKi9cblxuICAgICAgICAmLS1sYXJnZSYtLXdoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNDZfd2gucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxhcmdlJi0tYmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd180Nl9ibC5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFyZ2UmLS1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNDZfYmx1ZS5wbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgQG1lZGlhLS01MzAge1xuXG4gICAgICAgIC8qLS0tLS0tLS0tLSAgU2VnbWVudHMgd2l0aCBsYXJnZSBhcnJvdyAgLS0tLS0tLS0tLSovXG5cbiAgICAgICAgJi0tbGFyZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDk2JTtcblxuICAgICAgICAgICAgLnNlZ21lbnRfX3RleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VnbWVudC0taGVybyAmLS1sYXJnZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qLS0tLS0tLS0tLSAgU2VnbWVudHMgd2l0aCBzbWFsbCBhcnJvdyAgLS0tLS0tLS0tLSovXG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc21hbGwmLS13aGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fycm93XzQ2X3doLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zbWFsbCYtLWJsYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNDZfYmwucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNtYWxsJi0tYmx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fycm93XzQ2X2JsdWUucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qLS0tLS0tLS0tLSAgU2VnbWVudHMgd2l0aCBleHRlcm5hbCBsaW5rICAtLS0tLS0tLS0tKi9cblxuICAgICAgICAmLS1leHQmLS13aGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2V4dGFycm93XzQ2X3doLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1leHQmLS1ibGFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2V4dGFycm93XzQ2X2JsLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1leHQmLS1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZXh0YXJyb3dfNDZfYmx1ZS5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyotLS0tLS0tLS0tICBTZWdtZW50cyB3aXRoIGFycm93IHRvIHRoZSBsZWZ0ICAtLS0tLS0tLS0tKi9cblxuICAgICAgICAmLS1hbGlnbi1sZWZ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQG1lZGlhLS1tIHtcblxuICAgICAgICAvKi0tLS0tLS0tLS0gIFNlZ21lbnRzIHdpdGggc21hbGwgYXJyb3cgIC0tLS0tLS0tLS0qL1xuXG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdoZW4gc2VnbWVudCBpcyBsb2NhdGVkIGFzIGEgaGVybywgbW92ZSBhcnJvd1xuICAgICAgICAuc2VnbWVudC0taGVybyAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMjUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvKi0tLS0tLS0tLS0gIFNlZ21lbnRzIHdpdGggYXJyb3cgdG8gdGhlIGxlZnQgIC0tLS0tLS0tLS0qL1xuXG4gICAgICAgICYtLWFsaWduLWxlZnQge1xuICAgICAgICAgICAgLyogT3ZlcnJpZGUgaWYgc2VnbWVudCBpcyBpbiBoZXJvIGJsb2NrICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtZWRpYS0tbCB7XG5cbiAgICAgICAgLyotLS0tLS0tLS0tICBTZWdtZW50cyB3aXRoIGxhcmdlIGFycm93ICAtLS0tLS0tLS0tKi9cblxuICAgICAgICAmLS1sYXJnZSB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuXG4gICAgICAgICAgICAuc2VnbWVudC0taGVybyAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b20gMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYXJnZSYtLXdoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNjVfd2gucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxhcmdlJi0tYmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd182NV9ibC5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFyZ2UmLS1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNjVfYmx1ZS5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyotLS0tLS0tLS0tICBTZWdtZW50cyB3aXRoIHNtYWxsIGFycm93ICAtLS0tLS0tLS0tKi9cblxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zbWFsbCYtLXdoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNjVfd2gucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNtYWxsJi0tYmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd182NV9ibC5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc21hbGwmLS1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfNjVfYmx1ZS5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyotLS0tLS0tLS0tICBTZWdtZW50cyB3aXRoIGV4dGVybmFsIGxpbmsgIC0tLS0tLS0tLS0qL1xuXG4gICAgICAgICYtLWV4dCYtLXdoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZXh0YXJyb3dfNjVfd2gucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWV4dCYtLWJsYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZXh0YXJyb3dfNjVfYmwucG5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWV4dCYtLWJsdWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9leHRhcnJvd182NV9ibHVlLnBuZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKkRlc2t0b3Agc3BlY2lmaWMqL1xuLm5vLXRvdWNoIHtcbiAgICAuZXJyb3I0MDQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbn1cblxuLmVycm9yNDA0IHtcblxuICAgIGZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaGVhZGVyIHtcbiAgICAgICAgLmhlYWRlci1tYWluX19tZW51LXByaW1hcnkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB6LWluZGV4OiA1MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzAwOTZFMTtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG5cbiAgICAucmliYm9uLWhhbmRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLndyYXBwZXItNDA0IHtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTUlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgY29sb3I6ICMwMDUyOTM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tc3dlZGVuc2FucztcblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC8vI20tc3ByaXRlKDAsIDApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvc3ZnL3N0dWR5LWxvZ28uc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICAtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lO1xuICAgICAgICAgICAgLW1vei1ib3JkZXItbGVmdC1jb2xvcnM6IG5vbmU7XG4gICAgICAgICAgICAtbW96LWJvcmRlci1yaWdodC1jb2xvcnM6IG5vbmU7XG4gICAgICAgICAgICAtbW96LWJvcmRlci10b3AtY29sb3JzOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwIC1tb3otdXNlLXRleHQtY29sb3IgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDAgbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMCBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzJweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1MjkzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTI5MztcbiAgICAgICAgICAgIHdpZHRoOiA0N3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtOyAvLyAyLjVcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc2NWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC0tc3dlZGVuc2FucztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxOXB4IDYwcHggMTZweCAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwNTI5MztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgI20tc3ByaXRlKDksIDApO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbmRlciB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtLWFra3VyYXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTc2ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxuICAgIC5lcnJvcjQwNCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5lcnJvcjQwNCB7XG4gICAgICAgIC53cmFwcGVyLTQwNCB7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZXJyb3I0MDQge1xuICAgICAgICAud3JhcHBlci00MDQge1xuICAgICAgICAgICAgLy8gb3V0bGluZTogMnB4IHNvbGlkICNGRjAwMDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogNzI4cHg7XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRoYW54IHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTlweCA4MHB4IDE2cHggMzBweDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAgIC5lcnJvcjQwNCB7XG4gICAgICAgIC53cmFwcGVyLTQwNCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xuXG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aGFueCB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuIl19 */