@charset "UTF-8";
/******************************************************************

Stylesheet: Login Stylesheet

This stylesheet is loaded is only on the login page. This way you can style
the login page. It won't affect any other page, admin or front-end.

Make sure functions/admin.php is activated in your functions.php file.

This stylesheet is turned off by default.

For more info, check out the codex:
http://codex.wordpress.org/Creating_Admin_Themes

******************************************************************/
/******************************************************************

Stylesheet: Mixins & Constants Stylesheet

This is where you can take advantage of Sass' great features:
Mixins & Constants.

******************************************************************/
/*********************
TOOLS
*********************/
.image-replacement {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

/*********************
COLORS
*********************/
/*********************
TYPOGRAPHY
*********************/
/*	@font-face {
    	font-family: 'Font Name';
    	src: url('assets/fonts/font-name.eot');
    	src: url('assets/fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('assets/fonts/font-name.woff') format('woff'),
             url('assets/fonts/font-name.ttf') format('truetype'),
             url('assets/fonts/font-name.svg#font-name') format('svg');
    	font-weight: normal;
    	font-style: normal;
	}
*/
span.amp {
  font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
  font-style: italic; }

/*********************
CSS3 GRADIENTS.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
@font-face {
  font-family: 'eb-iconfont';
  src: url("../../assets/fonts/editochbjornen-iconfont.eot?9fgm7o");
  src: url("../../assets/fonts/editochbjornen-iconfont.eot?9fgm7o#iefix") format("embedded-opentype"), url("../../assets/fonts/editochbjornen-iconfont.ttf?9fgm7o") format("truetype"), url("../../assets/fonts/editochbjornen-iconfont.woff?9fgm7o") format("woff"), url("../../assets/fonts/editochbjornen-iconfont.svg?9fgm7o#editochbjornen-iconfont") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'eb-iconfont' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-long-arrow-left:before {
  content: ""; }

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

.icon-long-arrow-right:before {
  content: ""; }

.icon-long-arrow-up:before {
  content: ""; }

.icon-arrow-left:before {
  content: ""; }

.icon-arrow-down:before {
  content: ""; }

.icon-arrow-right:before {
  content: ""; }

.icon-arrow-up:before {
  content: ""; }

.icon-twitter:before {
  content: ""; }

.icon-facebook:before {
  content: ""; }

.icon-facebook-f:before {
  content: ""; }

.icon-pinterest:before {
  content: ""; }

.icon-linkedin:before {
  content: ""; }

.icon-instagram:before {
  content: ""; }

@media screen and (min-width: 80.0625em) {
  .row, .projects__wrapper {
    max-width: 80rem; } }

@media screen and (min-width: 90.0625em) {
  .row, .projects__wrapper {
    max-width: 86.25rem; } }

@media screen and (min-width: 105.0625em) {
  .row, .projects__wrapper {
    max-width: 92.5rem; } }

/*********************
TEXT ALIGNS
*********************/
.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

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

/*********************
TEXT STYLES
*********************/
.text-uppercase {
  text-transform: uppercase; }

.text-bold {
  font-weight: 700;
  color: #1D1D1B; }

.text-bolder {
  font-weight: 800; }

.text-shadow {
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.35); }

.text-serif {
  font-family: "Playfair Display"; }

/*********************
TEXT COLORS
*********************/
.text-light {
  color: #fff; }

.text-primary {
  color: #FFB500; }

/*********************
BACKGROUND IMAGE
*********************/
.space {
  padding: 2.5rem 0 2.8125rem; }
  @media print, screen and (min-width: 40em) {
    .space {
      padding: 3.125rem 0 3.4375rem; } }
  @media screen and (min-width: 80.0625em) {
    .space {
      padding: 4.0625rem 0 4.375rem; } }
  @media screen and (min-width: 90.0625em) {
    .space {
      padding: 4.6875rem 0 5rem; } }
  .space--smaller {
    padding: 1.875rem 0 2.1875rem; }
    @media print, screen and (min-width: 40em) {
      .space--smaller {
        padding: 2.5rem 0 2.8125rem; } }
    @media screen and (min-width: 80.0625em) {
      .space--smaller {
        padding: 2.8125rem 0 3.125rem; } }
    @media screen and (min-width: 90.0625em) {
      .space--smaller {
        padding: 3.125rem 0 3.4375rem; } }

.space-down {
  padding: 0 0 2.8125rem; }
  @media print, screen and (min-width: 40em) {
    .space-down {
      padding: 0 0 3.4375rem; } }
  @media screen and (min-width: 80.0625em) {
    .space-down {
      padding: 0 0 4.375rem; } }
  @media screen and (min-width: 90.0625em) {
    .space-down {
      padding: 0 0 5rem; } }

.page-title-section + .space {
  padding-top: 0; }

.top-bar:not(.top-bar--transparent) + .main {
  padding: 4rem 0 0; }
  @media print, screen and (min-width: 40em) {
    .top-bar:not(.top-bar--transparent) + .main {
      padding: 5rem 0 0; } }
  @media print, screen and (min-width: 64em) {
    .top-bar:not(.top-bar--transparent) + .main {
      padding: 7rem 0 0; } }
  @media screen and (min-width: 90.0625em) {
    .top-bar:not(.top-bar--transparent) + .main {
      padding: 6rem 0 0; } }

/*********************
BACKGROUND IMAGE & COLORS
*********************/
.bg--primary {
  background-color: #FFB500; }
  .bg--primary h1, .bg--primary h2, .bg--primary h3, .bg--primary h4, .bg--primary h5, .bg--primary h6, .bg--primary p, .bg--primary span, .bg--primary ul, .bg--primary ol {
    color: #fff; }

.bg--white {
  background-color: #fff; }

.bg--image {
  background-color: #1D1D1B;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .bg--image:after {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.35); }
  .bg--image .content__container {
    z-index: 2;
    color: #fff; }
  .bg--image h1, .bg--image h2, .bg--image h3, .bg--image h4, .bg--image h5, .bg--image h6, .bg--image p, .bg--image span, .bg--image ul, .bg--image ol {
    color: #fff; }

/*********************
BOX SHADOWS
*********************/
.box-shadow, .selector__trigger-text, .selector-options {
  border-radius: 3px;
  box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.12); }

.box-shadow--soft {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.07); }

input[type="text"],
input[type="search"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="url"],
textarea {
  width: 100%;
  border: none;
  border-radius: 0px;
  margin-bottom: 0.25rem;
  padding: 0.75rem 0.9375rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
  border-left: 5px solid #FFB500;
  transition-duration: 0.2s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  input[type="text"]:focus,
  input[type="search"]:focus,
  input[type="email"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="date"]:focus,
  input[type="url"]:focus,
  textarea:focus {
    border-left-color: #636363;
    box-shadow: 0 5px 18px 0 rgba(31, 25, 42, 0.15), 0 2px 3px 0 rgba(32, 22, 46, 0.25); }
    [data-whatintent='mouse'] input[type="text"]:focus, [data-whatintent='mouse']
    input[type="search"]:focus, [data-whatintent='mouse']
    input[type="email"]:focus, [data-whatintent='mouse']
    input[type="number"]:focus, [data-whatintent='mouse']
    input[type="password"]:focus, [data-whatintent='mouse']
    input[type="date"]:focus, [data-whatintent='mouse']
    input[type="url"]:focus, [data-whatintent='mouse']
    textarea:focus {
      outline: 0; }
  input[type="text"].input--secondary,
  input[type="search"].input--secondary,
  input[type="email"].input--secondary,
  input[type="number"].input--secondary,
  input[type="password"].input--secondary,
  input[type="date"].input--secondary,
  input[type="url"].input--secondary,
  textarea.input--secondary {
    border-left: 5px solid #636363; }
    input[type="text"].input--secondary:focus,
    input[type="search"].input--secondary:focus,
    input[type="email"].input--secondary:focus,
    input[type="number"].input--secondary:focus,
    input[type="password"].input--secondary:focus,
    input[type="date"].input--secondary:focus,
    input[type="url"].input--secondary:focus,
    textarea.input--secondary:focus {
      border-left-color: #FFB500; }
  input[type="text"].input--full,
  input[type="search"].input--full,
  input[type="email"].input--full,
  input[type="number"].input--full,
  input[type="password"].input--full,
  input[type="date"].input--full,
  input[type="url"].input--full,
  textarea.input--full {
    width: 100%; }

[type="checkbox"] {
  appearance: button;
  -moz-appearance: checkbox;
  /* Firefox – Button doesn't work, so screw firefox for now */
  -webkit-appearance: button;
  /* Safari and Chrome */
  padding: .5rem;
  border: 1px solid rgba(255, 181, 0, 0.65);
  border-radius: 0px;
  position: relative;
  top: .25rem;
  background-color: transparent; }
  [type="checkbox"]:hover {
    border-color: #FFB500; }
  [type="checkbox"]:checked {
    box-shadow: none !important; }
    [type="checkbox"]:checked:before {
      color: #FFB500 !important; }

[type="radio"] {
  appearance: button;
  -moz-appearance: checkbox;
  /* Firefox – Button doesn't work, so screw firefox for now */
  -webkit-appearance: button;
  /* Safari and Chrome */
  padding: .5rem;
  border: 1px solid rgba(255, 181, 0, 0.65);
  border-radius: 50px;
  position: relative;
  top: .25rem;
  background-color: transparent; }
  [type="radio"]:hover {
    border-color: #FFB500; }
  [type="radio"]:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 100px;
    background: #FFB500;
    transition: all 100ms ease-in; }
  [type="radio"]:checked:after {
    border: 2px solid #fff;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

select {
  height: 2.5rem;
  background-color: #fff;
  border: none;
  border-radius: 3px;
  padding: 0.75rem 1.5rem; }
  select option  {
    padding: 0.75rem; }

textarea {
  padding: 1rem;
  margin-bottom: 0.25rem; }

label {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  margin-bottom: .3rem; }
  label span {
    font-weight: 400; }
  @media print, screen and (min-width: 64em) {
    label {
      font-size: 1rem; } }

.gform_wrapper .validation_error {
  display: none; }

.gform_wrapper .gform_description {
  margin: 1rem;
  display: block; }

.gform_wrapper .gfield {
  margin-bottom: 1rem; }

.gform_wrapper .gfield_description {
  font-size: 0.875rem; }

.gform_wrapper .gfield_error .validation_message {
  color: #cc4b37;
  font-weight: bold; }

.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error textarea {
  background-color: tint(#cc4b37, 90%);
  border-color: #cc4b37; }

.gform_wrapper .gform_ajax_spinner {
  margin-left: .4rem; }

.selector {
  font-size: 0.875rem;
  list-style: none;
  margin: 0 0 1rem;
  display: inline-block;
  text-align: left; }
  .selector__items {
    position: relative; }
  .selector__trigger-text {
    min-width: 240px;
    background-color: #fff;
    font-weight: bold;
    line-height: 1;
    padding: 1rem 3.25rem 1rem 1.25rem;
    display: inline-block;
    border-radius: 4px;
    cursor: pointer;
    transition-duration: 0.2s;
    position: relative;
    z-index: 85; }
  .selector__trigger-icon {
    color: #ccc;
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    transition-duration: 0.2s; }
  .selector-options {
    width: 100%;
    background-color: #fff;
    list-style: none;
    margin: -10px 0 0 0 !important;
    padding-left: 0;
    padding-bottom: 1rem;
    border-radius: 0 0 4px 4px;
    position: absolute;
    z-index: 88; }
    .selector-options__item a {
      font-weight: normal;
      color: #1D1D1B;
      line-height: 1;
      margin-top: .9rem;
      padding: 0 1.25rem;
      display: block; }
      .selector-options__item a:hover, .selector-options__item a:focus, .selector-options__item a:active {
        color: #FFB500; }
  .selector.expanded .selector__trigger-icon {
    -ms-transform: scaleY(-1);
    transform: scaleY(-1); }

.no-js .selector__trigger-icon {
  display: none; }

.no-js .selector-options {
  position: relative;
  display: block !important; }

/*********************
SEARCH FORM
*********************/
.search__form {
  position: relative; }

.search__field {
  border: none !important;
  padding-left: 2.4rem !important; }

.search__icon {
  color: #636363;
  display: inline-block;
  position: absolute;
  left: .85rem;
  top: 50%;
  -ms-transform: translateY(-62%);
  transform: translateY(-62%);
  padding-left: .1rem; }

.search--404 {
  margin-top: 2rem; }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent; }

body {
  color: #1D1D1B !important;
  background-color: #f5f5f5; }

.login h1 a {
  background: url(../images/editochbjornen-logo.svg) no-repeat top center;
  width: 240px;
  height: 44px;
  text-indent: -9999px;
  overflow: hidden;
  padding-bottom: 15px;
  display: block; }

.login #login_error,
.login .message {
  font-size: 15px;
  line-height: 1.6;
  padding: 10px 16px;
  box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.12); }

#loginform {
  background: transparent;
  box-shadow: none;
  padding-top: 0; }
  #loginform input[type=text],
  #loginform input[type="search"],
  #loginform input[type="email"],
  #loginform input[type="number"],
  #loginform input[type="password"],
  #loginform input[type="date"],
  #loginform input[type="url"] {
    font-size: 1rem;
    font-weight: 400;
    padding: 0.75rem 0.9375rem; }
  #loginform label {
    color: #1D1D1B;
    margin-top: 1rem;
    display: block; }

p a {
  font-size: 0.875rem;
  font-weight: 400;
  color: #1D1D1B !important;
  transition: color .25s ease; }
  p a:hover, p a:focus {
    color: #FFB500 !important; }

#wp-submit {
  display: block;
  width: 100%;
  padding: 18px 20px 20px;
  text-align: center;
  background: #FFB500;
  color: white;
  line-height: 1em !important;
  border: none !important;
  outline: none !important;
  text-shadow: none !important;
  text-transform: uppercase;
  box-shadow: none !important;
  font-size: 15px;
  font-weight: 700;
  height: auto;
  margin-top: 30px;
  transition: background .25s ease; }
  #wp-submit:hover, #wp-submit:focus {
    background: #e6a300; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvZ2luLmNzcyIsImxvZ2luLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19nbHlwaHMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiY29tcG9uZW50cy9faGVscGVycy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7Ozs7Ozs7Ozs7OzttRUFjbUU7QUNkbkU7Ozs7Ozs7bUVBT21FO0FBRW5FOztzQkFFc0I7QUFjdEI7RUFDQyxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLGlCQUFpQixFQUNqQjs7QUFTRDs7c0JBRXNCO0FBTXRCOztzQkFFc0I7QUFDdEI7Ozs7Ozs7Ozs7RUFVRTtBQUdGO0VBQ0Usb0ZBQW9GO0VBQ3BGLG1CQUFtQixFQUNwQjs7QUFFRDs7c0JBRXNCO0FBRXRCLDZDQUE2QztBQ3JEN0M7RUFDRSwyQkFBMkI7RUFDM0Isa0VBQVM7RUFDVCx1V0FHNkY7RUFDN0Ysb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBSHNDckI7RUdsQ0UsZ0ZBQWdGO0VBQ2hGLHNDQUFzQztFQUN0QyxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIscUJBQXFCO0VBQ3JCLGVBQWU7RUFFZix1Q0FBdUM7RUFDdkMsb0NBQW9DO0VBQ3BDLG1DQUFtQyxFQUNwQzs7QUFFRDtFQUVJLGFBOUNtQixFQUFPOztBQWlEOUI7RUFFSSxhQWxEbUIsRUFBTzs7QUFxRDlCO0VBRUksYUF0RG9CLEVBQU87O0FBeUQvQjtFQUVJLGFBMURpQixFQUFPOztBQThENUI7RUFFSSxhQXpEYyxFQUFPOztBQTREekI7RUFFSSxhQTNEYyxFQUFPOztB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bEIiLCJmaWxlIjoibG9naW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5TdHlsZXNoZWV0OiBMb2dpbiBTdHlsZXNoZWV0XG5cblRoaXMgc3R5bGVzaGVldCBpcyBsb2FkZWQgaXMgb25seSBvbiB0aGUgbG9naW4gcGFnZS4gVGhpcyB3YXkgeW91IGNhbiBzdHlsZVxudGhlIGxvZ2luIHBhZ2UuIEl0IHdvbid0IGFmZmVjdCBhbnkgb3RoZXIgcGFnZSwgYWRtaW4gb3IgZnJvbnQtZW5kLlxuXG5NYWtlIHN1cmUgZnVuY3Rpb25zL2FkbWluLnBocCBpcyBhY3RpdmF0ZWQgaW4geW91ciBmdW5jdGlvbnMucGhwIGZpbGUuXG5cblRoaXMgc3R5bGVzaGVldCBpcyB0dXJuZWQgb2ZmIGJ5IGRlZmF1bHQuXG5cbkZvciBtb3JlIGluZm8sIGNoZWNrIG91dCB0aGUgY29kZXg6XG5odHRwOi8vY29kZXgud29yZHByZXNzLm9yZy9DcmVhdGluZ19BZG1pbl9UaGVtZXNcblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5TdHlsZXNoZWV0OiBNaXhpbnMgJiBDb25zdGFudHMgU3R5bGVzaGVldFxuXG5UaGlzIGlzIHdoZXJlIHlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgU2FzcycgZ3JlYXQgZmVhdHVyZXM6XG5NaXhpbnMgJiBDb25zdGFudHMuXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcblRPT0xTXG4qKioqKioqKioqKioqKioqKioqKiovXG4uaW1hZ2UtcmVwbGFjZW1lbnQge1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5DT0xPUlNcbioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcblRZUE9HUkFQSFlcbioqKioqKioqKioqKioqKioqKioqKi9cbi8qXHRAZm9udC1mYWNlIHtcbiAgICBcdGZvbnQtZmFtaWx5OiAnRm9udCBOYW1lJztcbiAgICBcdHNyYzogdXJsKCdhc3NldHMvZm9udHMvZm9udC1uYW1lLmVvdCcpO1xuICAgIFx0c3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9mb250LW5hbWUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9mb250LW5hbWUud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2ZvbnQtbmFtZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvZm9udC1uYW1lLnN2ZyNmb250LW5hbWUnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0fVxuKi9cbnNwYW4uYW1wIHtcbiAgZm9udC1mYW1pbHk6IEJhc2tlcnZpbGxlLCdHb3VkeSBPbGQgU3R5bGUnLFBhbGF0aW5vLCdCb29rIEFudGlxdWEnLHNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5DU1MzIEdSQURJRU5UUy5cbioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEBpbmNsdWRlIGNzcy1ncmFkaWVudCgjZGZkZmRmLCNmOGY4ZjgpOyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZWItaWNvbmZvbnQnO1xuICBzcmM6IHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9lZGl0b2NoYmpvcm5lbi1pY29uZm9udC5lb3Q/OWZnbTdvXCIpO1xuICBzcmM6IHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9lZGl0b2NoYmpvcm5lbi1pY29uZm9udC5lb3Q/OWZnbTdvI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvZWRpdG9jaGJqb3JuZW4taWNvbmZvbnQudHRmPzlmZ203b1wiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2VkaXRvY2hiam9ybmVuLWljb25mb250LndvZmY/OWZnbTdvXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9lZGl0b2NoYmpvcm5lbi1pY29uZm9udC5zdmc/OWZnbTdvI2VkaXRvY2hiam9ybmVuLWljb25mb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnZWItaWNvbmZvbnQnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uaWNvbi1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLul4RcIjsgfVxuXG4uaWNvbi1sb25nLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLul5tcIjsgfVxuXG4uaWNvbi1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7peIXCI7IH1cblxuLmljb24tbG9uZy1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6XmFwiOyB9XG5cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIBcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSCXCI7IH1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIFcIjsgfVxuXG4uaWNvbi1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kg1wiOyB9XG5cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgplcIjsgfVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmlwiOyB9XG5cbi5pY29uLWZhY2Vib29rLWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgppcIjsgfVxuXG4uaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5JcIjsgfVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoVwiOyB9XG5cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FrVwiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjA2MjVlbSkge1xuICAucm93LCAucHJvamVjdHNfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogODByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnJvdywgLnByb2plY3RzX193cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDg2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1LjA2MjVlbSkge1xuICAucm93LCAucHJvamVjdHNfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogOTIuNXJlbTsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcblRFWFQgQUxJR05TXG4qKioqKioqKioqKioqKioqKioqKiovXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5URVhUIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMxRDFEMUI7IH1cblxuLnRleHQtYm9sZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG4udGV4dC1zaGFkb3cge1xuICB0ZXh0LXNoYWRvdzogMXB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjM1KTsgfVxuXG4udGV4dC1zZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5URVhUIENPTE9SU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLnRleHQtbGlnaHQge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICNGRkI1MDA7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQkFDS0dST1VORCBJTUFHRVxuKioqKioqKioqKioqKioqKioqKioqL1xuLnNwYWNlIHtcbiAgcGFkZGluZzogMi41cmVtIDAgMi44MTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNwYWNlIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDAgMy40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMDYyNWVtKSB7XG4gICAgLnNwYWNlIHtcbiAgICAgIHBhZGRpbmc6IDQuMDYyNXJlbSAwIDQuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gICAgLnNwYWNlIHtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDVyZW07IH0gfVxuICAuc3BhY2UtLXNtYWxsZXIge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMi4xODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zcGFjZS0tc21hbGxlciB7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwIDIuODEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMDYyNWVtKSB7XG4gICAgICAuc3BhY2UtLXNtYWxsZXIge1xuICAgICAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMCAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gICAgICAuc3BhY2UtLXNtYWxsZXIge1xuICAgICAgICBwYWRkaW5nOiAzLjEyNXJlbSAwIDMuNDM3NXJlbTsgfSB9XG5cbi5zcGFjZS1kb3duIHtcbiAgcGFkZGluZzogMCAwIDIuODEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zcGFjZS1kb3duIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAzLjQzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4wNjI1ZW0pIHtcbiAgICAuc3BhY2UtZG93biB7XG4gICAgICBwYWRkaW5nOiAwIDAgNC4zNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgICAuc3BhY2UtZG93biB7XG4gICAgICBwYWRkaW5nOiAwIDAgNXJlbTsgfSB9XG5cbi5wYWdlLXRpdGxlLXNlY3Rpb24gKyAuc3BhY2Uge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4udG9wLWJhcjpub3QoLnRvcC1iYXItLXRyYW5zcGFyZW50KSArIC5tYWluIHtcbiAgcGFkZGluZzogNHJlbSAwIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhcjpub3QoLnRvcC1iYXItLXRyYW5zcGFyZW50KSArIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMCAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudG9wLWJhcjpub3QoLnRvcC1iYXItLXRyYW5zcGFyZW50KSArIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDdyZW0gMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gICAgLnRvcC1iYXI6bm90KC50b3AtYmFyLS10cmFuc3BhcmVudCkgKyAubWFpbiB7XG4gICAgICBwYWRkaW5nOiA2cmVtIDAgMDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkJBQ0tHUk9VTkQgSU1BR0UgJiBDT0xPUlNcbioqKioqKioqKioqKioqKioqKioqKi9cbi5iZy0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkI1MDA7IH1cbiAgLmJnLS1wcmltYXJ5IGgxLCAuYmctLXByaW1hcnkgaDIsIC5iZy0tcHJpbWFyeSBoMywgLmJnLS1wcmltYXJ5IGg0LCAuYmctLXByaW1hcnkgaDUsIC5iZy0tcHJpbWFyeSBoNiwgLmJnLS1wcmltYXJ5IHAsIC5iZy0tcHJpbWFyeSBzcGFuLCAuYmctLXByaW1hcnkgdWwsIC5iZy0tcHJpbWFyeSBvbCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmJnLS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJnLS1pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgLmJnLS1pbWFnZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7IH1cbiAgLmJnLS1pbWFnZSAuY29udGVudF9fY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iZy0taW1hZ2UgaDEsIC5iZy0taW1hZ2UgaDIsIC5iZy0taW1hZ2UgaDMsIC5iZy0taW1hZ2UgaDQsIC5iZy0taW1hZ2UgaDUsIC5iZy0taW1hZ2UgaDYsIC5iZy0taW1hZ2UgcCwgLmJnLS1pbWFnZSBzcGFuLCAuYmctLWltYWdlIHVsLCAuYmctLWltYWdlIG9sIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5CT1ggU0hBRE9XU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLmJveC1zaGFkb3csIC5zZWxlY3Rvcl9fdHJpZ2dlci10ZXh0LCAuc2VsZWN0b3Itb3B0aW9ucyB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCA1cHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uYm94LXNoYWRvdy0tc29mdCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuOTM3NXJlbTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjRkZCNTAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzYzNjM2MztcbiAgICBib3gtc2hhZG93OiAwIDVweCAxOHB4IDAgcmdiYSgzMSwgMjUsIDQyLCAwLjE1KSwgMCAycHggM3B4IDAgcmdiYSgzMiwgMjIsIDQ2LCAwLjI1KTsgfVxuICAgIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ11cbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLCBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cywgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXVxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXVxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cywgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXVxuICAgIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0uaW5wdXQtLXNlY29uZGFyeSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5pbnB1dC0tc2Vjb25kYXJ5LFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0uaW5wdXQtLXNlY29uZGFyeSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5pbnB1dC0tc2Vjb25kYXJ5LFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uaW5wdXQtLXNlY29uZGFyeSxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaW5wdXQtLXNlY29uZGFyeSxcbiAgaW5wdXRbdHlwZT1cInVybFwiXS5pbnB1dC0tc2Vjb25kYXJ5LFxuICB0ZXh0YXJlYS5pbnB1dC0tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM2MzYzNjM7IH1cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXS5pbnB1dC0tc2Vjb25kYXJ5OmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0uaW5wdXQtLXNlY29uZGFyeTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0uaW5wdXQtLXNlY29uZGFyeTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLmlucHV0LS1zZWNvbmRhcnk6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLmlucHV0LS1zZWNvbmRhcnk6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaW5wdXQtLXNlY29uZGFyeTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdLmlucHV0LS1zZWNvbmRhcnk6Zm9jdXMsXG4gICAgdGV4dGFyZWEuaW5wdXQtLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI0ZGQjUwMDsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXS5pbnB1dC0tZnVsbCxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5pbnB1dC0tZnVsbCxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLmlucHV0LS1mdWxsLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLmlucHV0LS1mdWxsLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uaW5wdXQtLWZ1bGwsXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LS1mdWxsLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdLmlucHV0LS1mdWxsLFxuICB0ZXh0YXJlYS5pbnB1dC0tZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLW1vei1hcHBlYXJhbmNlOiBjaGVja2JveDtcbiAgLyogRmlyZWZveCDigJMgQnV0dG9uIGRvZXNuJ3Qgd29yaywgc28gc2NyZXcgZmlyZWZveCBmb3Igbm93ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xuICBwYWRkaW5nOiAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDE4MSwgMCwgMC42NSk7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgW3R5cGU9XCJjaGVja2JveFwiXTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZCNTAwOyB9XG4gIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0ZGQjUwMCAhaW1wb3J0YW50OyB9XG5cblt0eXBlPVwicmFkaW9cIl0ge1xuICBhcHBlYXJhbmNlOiBidXR0b247XG4gIC1tb3otYXBwZWFyYW5jZTogY2hlY2tib3g7XG4gIC8qIEZpcmVmb3gg4oCTIEJ1dHRvbiBkb2Vzbid0IHdvcmssIHNvIHNjcmV3IGZpcmVmb3ggZm9yIG5vdyAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogU2FmYXJpIGFuZCBDaHJvbWUgKi9cbiAgcGFkZGluZzogLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxODEsIDAsIDAuNjUpO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBbdHlwZT1cInJhZGlvXCJdOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNGRkI1MDA7IH1cbiAgW3R5cGU9XCJyYWRpb1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZCNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluOyB9XG4gIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphZnRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsgfVxuICBzZWxlY3Qgb3B0aW9uwqAge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07IH1cblxudGV4dGFyZWEge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAuM3JlbTsgfVxuICBsYWJlbCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgY29sb3I6ICNjYzRiMzc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCNjYzRiMzcsIDkwJSk7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNzsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYWpheF9zcGlubmVyIHtcbiAgbWFyZ2luLWxlZnQ6IC40cmVtOyB9XG5cbi5zZWxlY3RvciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2VsZWN0b3JfX2l0ZW1zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlbGVjdG9yX190cmlnZ2VyLXRleHQge1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAxcmVtIDMuMjVyZW0gMXJlbSAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDg1OyB9XG4gIC5zZWxlY3Rvcl9fdHJpZ2dlci1pY29uIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcmVtO1xuICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7IH1cbiAgLnNlbGVjdG9yLW9wdGlvbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IC0xMHB4IDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA4ODsgfVxuICAgIC5zZWxlY3Rvci1vcHRpb25zX19pdGVtIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMUQxRDFCO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAuOXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuc2VsZWN0b3Itb3B0aW9uc19faXRlbSBhOmhvdmVyLCAuc2VsZWN0b3Itb3B0aW9uc19faXRlbSBhOmZvY3VzLCAuc2VsZWN0b3Itb3B0aW9uc19faXRlbSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjRkZCNTAwOyB9XG4gIC5zZWxlY3Rvci5leHBhbmRlZCAuc2VsZWN0b3JfX3RyaWdnZXItaWNvbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbi5uby1qcyAuc2VsZWN0b3JfX3RyaWdnZXItaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5vLWpzIC5zZWxlY3Rvci1vcHRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcblNFQVJDSCBGT1JNXG4qKioqKioqKioqKioqKioqKioqKiovXG4uc2VhcmNoX19mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZWFyY2hfX2ZpZWxkIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMi40cmVtICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaF9faWNvbiB7XG4gIGNvbG9yOiAjNjM2MzYzO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLjg1cmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MiUpO1xuICBwYWRkaW5nLWxlZnQ6IC4xcmVtOyB9XG5cbi5zZWFyY2gtLTQwNCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmJvZHkge1xuICBjb2xvcjogIzFEMUQxQiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5sb2dpbiBoMSBhIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9lZGl0b2NoYmpvcm5lbi1sb2dvLnN2Zykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5sb2dpbiAjbG9naW5fZXJyb3IsXG4ubG9naW4gLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgYm94LXNoYWRvdzogMCA1cHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4jbG9naW5mb3JtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gICNsb2dpbmZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgI2xvZ2luZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAjbG9naW5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgI2xvZ2luZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAjbG9naW5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgI2xvZ2luZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgI2xvZ2luZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuOTM3NXJlbTsgfVxuICAjbG9naW5mb3JtIGxhYmVsIHtcbiAgICBjb2xvcjogIzFEMUQxQjtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnAgYSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMUQxRDFCICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZTsgfVxuICBwIGE6aG92ZXIsIHAgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNGRkI1MDAgIWltcG9ydGFudDsgfVxuXG4jd3Atc3VibWl0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxOHB4IDIwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjRkZCNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMjVzIGVhc2U7IH1cbiAgI3dwLXN1Ym1pdDpob3ZlciwgI3dwLXN1Ym1pdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2U2YTMwMDsgfVxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5TdHlsZXNoZWV0OiBMb2dpbiBTdHlsZXNoZWV0XG5cblRoaXMgc3R5bGVzaGVldCBpcyBsb2FkZWQgaXMgb25seSBvbiB0aGUgbG9naW4gcGFnZS4gVGhpcyB3YXkgeW91IGNhbiBzdHlsZVxudGhlIGxvZ2luIHBhZ2UuIEl0IHdvbid0IGFmZmVjdCBhbnkgb3RoZXIgcGFnZSwgYWRtaW4gb3IgZnJvbnQtZW5kLlxuXG5NYWtlIHN1cmUgZnVuY3Rpb25zL2FkbWluLnBocCBpcyBhY3RpdmF0ZWQgaW4geW91ciBmdW5jdGlvbnMucGhwIGZpbGUuXG5cblRoaXMgc3R5bGVzaGVldCBpcyB0dXJuZWQgb2ZmIGJ5IGRlZmF1bHQuXG5cbkZvciBtb3JlIGluZm8sIGNoZWNrIG91dCB0aGUgY29kZXg6XG5odHRwOi8vY29kZXgud29yZHByZXNzLm9yZy9DcmVhdGluZ19BZG1pbl9UaGVtZXNcblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dseXBoc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVscGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXNcIjtcblxuaHRtbCB7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmJvZHkge1xuXHRjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xufVxuXG4ubG9naW4gaDEgYSB7XG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZWRpdG9jaGJqb3JuZW4tbG9nby5zdmcpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuXHR3aWR0aDogMjQwcHg7XG5cdGhlaWdodDogNDRweDtcblx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vLyBTdHlsaW5nIG9mIGVycm9yIG1lc3NlYWdlIGJveFxuXG4ubG9naW4gI2xvZ2luX2Vycm9yLCBcbi5sb2dpbiAubWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGJveC1zaGFkb3c6ICRnbG9iYWwtYm94LXNoYWRvdztcbn1cblxuXG4vLyBTdHlsaW5nIG9mIGZvcm0gaW5wdXRzXG5cbiNsb2dpbmZvcm0ge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0cGFkZGluZy10b3A6IDA7XG5cblx0aW5wdXRbdHlwZT10ZXh0XSxcblx0aW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcblx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuXHRpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuXHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5cdGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuXHRpbnB1dFt0eXBlPVwidXJsXCJdIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEyIDE1KTtcblx0fVxuXG5cdGxhYmVsIHtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxufVxuXG5cbnAgYSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cdHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZTtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcblx0fVxufVxuXG4vLyBMb2dpbiBCdXR0b24gU3R5bGVcbiN3cC1zdWJtaXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDE4cHggMjBweCAyMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXHRjb2xvcjogd2hpdGU7XG5cdGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDE1cHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogMzBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMjVzIGVhc2U7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLDUlKTtcblx0fVxufVxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5TdHlsZXNoZWV0OiBNaXhpbnMgJiBDb25zdGFudHMgU3R5bGVzaGVldFxuXG5UaGlzIGlzIHdoZXJlIHlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgU2FzcycgZ3JlYXQgZmVhdHVyZXM6XG5NaXhpbnMgJiBDb25zdGFudHMuXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuVE9PTFNcbioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoLjE1LC43NSwuNSwxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uVHdvKCR0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLikge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNSwuNzUsLjUsMSk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cblxuLy8gaHR0cDovL3d3dy56ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50L1xuLmltYWdlLXJlcGxhY2VtZW50IHtcblx0dGV4dC1pbmRlbnQ6IDEwMCU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUtMiB7XG4gIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkNPTE9SU1xuKioqKioqKioqKioqKioqKioqKioqL1xuQGZ1bmN0aW9uIGNvbG9yKCRjb2wpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICcjeyRjb2x9Jyk7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuVFlQT0dSQVBIWVxuKioqKioqKioqKioqKioqKioqKioqL1xuLypcdEBmb250LWZhY2Uge1xuICAgIFx0Zm9udC1mYW1pbHk6ICdGb250IE5hbWUnO1xuICAgIFx0c3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9mb250LW5hbWUuZW90Jyk7XG4gICAgXHRzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2ZvbnQtbmFtZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2ZvbnQtbmFtZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvZm9udC1uYW1lLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9mb250LW5hbWUuc3ZnI2ZvbnQtbmFtZScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgXHRmb250LXdlaWdodDogbm9ybWFsO1xuICAgIFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHR9XG4qL1xuXG4vL1VzZSB0aGUgYmVzdCBhbXBlcnNhbmQgLSBodHRwOi8vc2ltcGxlYml0cy5jb20vbm90ZWJvb2svMjAwOC8wOC8xNC9hbXBlcnNhbmRzLTIvXG5zcGFuLmFtcCB7XG4gIGZvbnQtZmFtaWx5OiBCYXNrZXJ2aWxsZSwnR291ZHkgT2xkIFN0eWxlJyxQYWxhdGlubywnQm9vayBBbnRpcXVhJyxzZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkNTUzMgR1JBRElFTlRTLlxuKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQoI2RmZGZkZiwjZjhmOGY4KTsgKi9cbkBtaXhpbiBjc3MtZ3JhZGllbnQoJGZyb206ICNkZmRmZGYsICR0bzogI2Y4ZjhmOCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG87XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oJGZyb20pLCB0bygkdG8pKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkZnJvbSwgJHRvKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkZnJvbSwgJHRvKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20sICR0byk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRmcm9tLCAkdG8pO1xufSIsIiRpY29uLWxvbmctYXJyb3ctbGVmdDogXCJcXGU1YzRcIjtcbiRpY29uLWxvbmctYXJyb3ctZG93bjogXCJcXGU1ZGJcIjtcbiRpY29uLWxvbmctYXJyb3ctcmlnaHQ6IFwiXFxlNWM4XCI7XG4kaWNvbi1sb25nLWFycm93LXVwOiBcIlxcZTVkOFwiO1xuJGljb24tdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRpY29uLWZhY2Vib29rOiBcIlxcZjA5YVwiO1xuJGljb24tZmFjZWJvb2stZjogXCJcXGYwOWFcIjtcbiRpY29uLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRpY29uLWxpbmtlZGluOiBcIlxcZjBlMVwiO1xuJGljb24taW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGljb24tYXJyb3ctbGVmdDogXCJcXGU5MDBcIjtcbiRpY29uLWFycm93LXJpZ2h0OiBcIlxcZTkwMVwiO1xuJGljb24tYXJyb3ctdXA6IFwiXFxlOTAzXCI7XG4kaWNvbi1hcnJvdy1kb3duOiBcIlxcZTkwMlwiO1xuJGljb24tY2hlY2s6IFwiXFxlOTBkXCI7XG4kaWNvbi1jbG9zZS1yZW1vdmU6IFwiXFxlOTBiXCI7XG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZWItaWNvbmZvbnQnO1xuICBzcmM6ICB1cmwoJy4uLy4uL2Fzc2V0cy9mb250cy9lZGl0b2NoYmpvcm5lbi1pY29uZm9udC5lb3Q/OWZnbTdvJyk7XG4gIHNyYzogIHVybCgnLi4vLi4vYXNzZXRzL2ZvbnRzL2VkaXRvY2hiam9ybmVuLWljb25mb250LmVvdD85ZmdtN28jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi8uLi9hc3NldHMvZm9udHMvZWRpdG9jaGJqb3JuZW4taWNvbmZvbnQudHRmPzlmZ203bycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJy4uLy4uL2Fzc2V0cy9mb250cy9lZGl0b2NoYmpvcm5lbi1pY29uZm9udC53b2ZmPzlmZ203bycpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vLi4vYXNzZXRzL2ZvbnRzL2VkaXRvY2hiam9ybmVuLWljb25mb250LnN2Zz85ZmdtN28jZWRpdG9jaGJqb3JuZW4taWNvbmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnZWItaWNvbmZvbnQnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1sb25nLWFycm93LWxlZnQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tbG9uZy1hcnJvdy1sZWZ0O1xuICB9XG59XG4uaWNvbi1sb25nLWFycm93LWRvd24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tbG9uZy1hcnJvdy1kb3duO1xuICB9XG59XG4uaWNvbi1sb25nLWFycm93LXJpZ2h0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWxvbmctYXJyb3ctcmlnaHQ7XG4gIH1cbn1cbi5pY29uLWxvbmctYXJyb3ctdXAge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tbG9uZy1hcnJvdy11cDtcbiAgfVxufVxuXG4uaWNvbi1hcnJvdy1sZWZ0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQ7XG4gIH1cbn1cbi5pY29uLWFycm93LWRvd24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYXJyb3ctZG93bjtcbiAgfVxufVxuLmljb24tYXJyb3ctcmlnaHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQ7XG4gIH1cbn1cbi5pY29uLWFycm93LXVwIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwO1xuICB9XG59XG4uaWNvbi10d2l0dGVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXR3aXR0ZXI7XG4gIH1cbn1cbi5pY29uLWZhY2Vib29rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rO1xuICB9XG59XG4uaWNvbi1mYWNlYm9vay1mIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rLWY7XG4gIH1cbn1cbi5pY29uLXBpbnRlcmVzdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1waW50ZXJlc3Q7XG4gIH1cbn1cbi5pY29uLWxpbmtlZGluIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWxpbmtlZGluO1xuICB9XG59XG4uaWNvbi1pbnN0YWdyYW0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24taW5zdGFncmFtO1xuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiICAucm93LCAucHJvamVjdHNfX3dyYXBwZXIge1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxMjgwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTM4MCk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlIHVwKSB7XG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxNDgwKTtcblx0fSBcblxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5URVhUIEFMSUdOU1xuKioqKioqKioqKioqKioqKioqKioqL1xuXG4udGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5URVhUIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuXG4udGV4dC11cHBlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGV4dC1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Y29sb3I6ICRibGFjaztcbn1cblxuLnRleHQtYm9sZGVyIHtcblx0Zm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLnRleHQtc2hhZG93IHtcblx0dGV4dC1zaGFkb3c6IDFweCAycHggM3B4IHJnYmEoMCwwLDAsMC4zNSk7XG59XG5cbi50ZXh0LXNlcmlmIHtcblx0Zm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5URVhUIENPTE9SU1xuKioqKioqKioqKioqKioqKioqKioqL1xuXG4udGV4dC1saWdodCB7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQkFDS0dST1VORCBJTUFHRVxuKioqKioqKioqKioqKioqKioqKioqL1xuXG4uc3BhY2Uge1xuXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDAgNDUpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoNTAgMCA1NSk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDY1IDAgNzApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoNzUgMCA4MCk7XG5cdH1cblxuXHQmLS1zbWFsbGVyIHtcblxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwIDAgMzUpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDAgNDUpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0NSAwIDUwKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUwIDAgNTUpO1xuXHRcdH1cblxuXHR9XG5cbn1cblxuLnNwYWNlLWRvd24ge1xuXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCA0NSk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgNTUpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgNzApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDgwKTtcblx0fVxuXG59XG5cbi5wYWdlLXRpdGxlLXNlY3Rpb24gKyAuc3BhY2Uge1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLnRvcC1iYXI6bm90KC50b3AtYmFyLS10cmFuc3BhcmVudCkgKyAubWFpbiB7XG5cdHBhZGRpbmc6IDRyZW0gMCAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZzogNXJlbSAwIDA7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0cGFkZGluZzogN3JlbSAwIDA7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblx0XHRwYWRkaW5nOiA2cmVtIDAgMDtcblx0fVx0XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkJBQ0tHUk9VTkQgSU1BR0UgJiBDT0xPUlNcbioqKioqKioqKioqKioqKioqKioqKi9cblxuLmJnLS1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBzcGFuLCB1bCwgb2wge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uYmctLXdoaXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uYmctLWltYWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHtcbiAgICBcdGNvbnRlbnQ6XCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHQgICAgdG9wOiAwO1xuXHQgICAgbGVmdDogMDtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjM1KTtcbiAgICB9XG5cbiAgICAuY29udGVudF9fY29udGFpbmVyIHtcbiAgICBcdHotaW5kZXg6IDI7XG4gICAgXHRjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIHNwYW4sIHVsLCBvbCB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQk9YIFNIQURPV1NcbioqKioqKioqKioqKioqKioqKioqKi9cblxuLmJveC1zaGFkb3cge1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJveC1zaGFkb3c6ICRnbG9iYWwtYm94LXNoYWRvdztcbn1cblxuLmJveC1zaGFkb3ctLXNvZnQge1xuXHRib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDcpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgMjkuIFJldmVhbFxuLy8gIDMwLiBTbGlkZXJcbi8vICAzMS4gU3dpdGNoXG4vLyAgMzIuIFRhYmxlXG4vLyAgMzMuIFRhYnNcbi8vICAzNC4gVGh1bWJuYWlsXG4vLyAgMzUuIFRpdGxlIEJhclxuLy8gIDM2LiBUb29sdGlwXG4vLyAgMzcuIFRvcCBCYXJcblxuQGltcG9ydCAnLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL3V0aWwnO1xuQGltcG9ydCAnLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL21peGlucyc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIyMCk7XG4kZ2xvYmFsLXdpZHRoLWxhcmdlOiByZW0tY2FsYygxNDQwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjRkZCNTAwLFxuICBzZWNvbmRhcnk6ICM2MzYzNjMsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZjVmNWY1O1xuJG1lZGl1bS1ncmF5OiAjY2NjO1xuJGRhcmstZ3JheTogIzYzNjM2MztcbiRibGFjazogIzFEMUQxQjtcbiR3aGl0ZTogI2ZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdESU4nLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2VyaWYtZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDNweDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtYm94LXNoYWRvdzogMCA1cHggOHB4IDAgcmdiYSgwLDAsMCwwLjEyKTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyODFweCxcbiAgeHhsYXJnZTogMTQ0MXB4LFxuICB4eHhsYXJnZTogMTY4MXB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UgeHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDQwcHgsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDQwcHgsXG4gIHhsYXJnZTogNTBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IC43ZW0gMS4zZW0gLjhlbTtcbiRidXR0b24tbWFyZ2luOiAxcmVtIDFyZW0gMXJlbSAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRibGFjaztcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IHJlbS1jYWxjKDE4KSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjQ1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTEwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemU6IDEwMCU7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IG5vbmU7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiA4MDA7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMDtcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuM3M7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDI5LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMzAuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMxLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzIuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcblxuLy8gMzMuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzNC4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzUuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM2LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IG5vbmU7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogLjRyZW0gLjg1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjM1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMS43NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNy4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbiIsImlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTIgMTUpO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsMCwwLDAuMjUpO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE4cHggMCByZ2JhKDMxLDI1LDQyLDAuMTUpLCAwIDJweCAzcHggMCByZ2JhKDMyLDIyLDQ2LDAuMjUpO1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZS0yO1xuICB9XG5cbiAgJi5pbnB1dC0tc2Vjb25kYXJ5IHtcblxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICBcbiAgfVxuXG4gICYuaW5wdXQtLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXG4gICAgYXBwZWFyYW5jZTpidXR0b247XG4gICAgLW1vei1hcHBlYXJhbmNlOmNoZWNrYm94OyAvKiBGaXJlZm94IOKAkyBCdXR0b24gZG9lc24ndCB3b3JrLCBzbyBzY3JldyBmaXJlZm94IGZvciBub3cgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOyAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoICRwcmltYXJ5LWNvbG9yLCAuNjUgKTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgIH1cbn1cblxuW3R5cGU9XCJyYWRpb1wiXSB7XG5cbiAgICBhcHBlYXJhbmNlOmJ1dHRvbjtcbiAgICAtbW96LWFwcGVhcmFuY2U6Y2hlY2tib3g7IC8qIEZpcmVmb3gg4oCTIEJ1dHRvbiBkb2Vzbid0IHdvcmssIHNvIHNjcmV3IGZpcmVmb3ggZm9yIG5vdyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247IC8qIFNhZmFyaSBhbmQgQ2hyb21lICovXG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSggJHByaW1hcnktY29sb3IsIC42NSApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGVhc2UtaW47XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgIH1cbn1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuXG4gIG9wdGlvbsKge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gIH1cbiAgLy9hcHBlYXJhbmNlOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAuM3JlbTtcblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICB9XG5cbn1cblxuXG4uZ2Zvcm1fd3JhcHBlciB7XG5cbiAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZ2Zvcm1fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuXG4gIC5nZmllbGRfZXJyb3Ige1xuXG4gICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGFsZXJ0LWNvbG9yLCA5MCUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IC40cmVtO1xuICB9XG59XG5cbi5zZWxlY3RvciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmX19pdGVtcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fdHJpZ2dlci10ZXh0IHtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAxcmVtIDMuMjVyZW0gMXJlbSAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgQGV4dGVuZCAuYm94LXNoYWRvdztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogODU7XG4gIH1cblxuICAmX190cmlnZ2VyLWljb24ge1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMS4yNXJlbTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB9XG5cbiAgJi1vcHRpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IC0xMHB4IDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgIEBleHRlbmQgLmJveC1zaGFkb3c7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDg4O1xuXG4gICAgJl9faXRlbSB7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogLjlyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZXhwYW5kZWQge1xuXG4gICAgLnNlbGVjdG9yX190cmlnZ2VyLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tanMge1xuICAuc2VsZWN0b3Ige1xuXG4gICAgJl9fdHJpZ2dlci1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1vcHRpb25zIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcblNFQVJDSCBGT1JNXG4qKioqKioqKioqKioqKioqKioqKiovXG5cbi5zZWFyY2gge1xuXG4gICZfX2Zvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2ZpZWxkIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAuODVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MiUpO1xuICAgIHBhZGRpbmctbGVmdDogLjFyZW07XG4gIH1cblxuICAmLS00MDQge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cblxufSJdfQ== */
